commit 5376071069ec8a7e6a8112beab16fc24f5139475 Merge: cfb901b... 24f11ec... Author: Linus Torvalds Date: Mon Jan 26 15:12:47 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits) [ARM] fix section-based ioremap [NET] am79c961a: fix spin_lock usage [ARM] omap: usb: thou shalt not provide empty release functions [ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms [ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3 [ARM] clkdev: fix clock matching [ARM] 5370/1: at91: fix rm9200 watchdog [ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix [ARM] 5365/1: s3cmci: Use new include path of dma.h [ARM] fix StrongARM-11x0 page copy implementation [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() ARM: OMAP: Fix compile for h3 MMC ARM: OMAP: Remove unused platform devices, v3 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23 ARM: OMAP: remove duplicated #include's ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS ARM: OMAP: Fix compile for beagle ARM: OMAP: Fix gpio by switching to generic gpio calls, v2 ... commit cfb901bf84fe22eb86525e9fb20675b53fb0462a Merge: 2034563... 5fb4523... Author: Linus Torvalds Date: Mon Jan 26 15:11:41 2009 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Warn on deprecated binding model use eeprom: More consistent symbol names eeprom: Move 93cx6 eeprom driver to /drivers/misc/eeprom spi: Move at25 (for SPI eeproms) to /drivers/misc/eeprom i2c: Move old eeprom driver to /drivers/misc/eeprom i2c: Move at24 to drivers/misc/eeprom i2c: Quilt tree has moved i2c: Delete many unused adapter IDs i2c: Delete 10 unused driver IDs commit 2034563ca323ee45f37a32911550d21c1f1e9626 Merge: 924d26d... df291fa... Author: Linus Torvalds Date: Mon Jan 26 15:10:37 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix kbuild.txt typos kbuild: print usage with no arguments in scripts/config Revert "kbuild: strip generated symbols from *.ko" commit 924d26df6b774b85c8b4548189b20e34f904a149 Merge: 66673f1... cd1f55a... Author: Linus Torvalds Date: Mon Jan 26 15:09:20 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (92 commits) gianfar: Revive VLAN support vlan: Export symbols as non GPL symbols. bnx2x: tx_has_work should not wait for FW netxen: reduce memory footprint netxen: fix vlan tso/checksum offload net: Fix linux/if_frad.h's suitability for userspace. net: Move config NET_NS to from net/Kconfig to init/Kconfig isdn: Fix missing ifdef in isdn_ppp networking: document "nc" in addition to "netcat" in netconsole.txt e1000e: workaround hw errata af_key: initialize xfrm encap_oa virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs lcs: fix compilation for !CONFIG_IP_MULTICAST rtl8187: Add termination packet to prevent stall iwlwifi: fix rs_get_rate WARN_ON() p54usb: fix packet loss with first generation devices sctp: Fix another socket race during accept/peeloff sctp: Properly timestamp outgoing data chunks for rtx purposes sctp: Correctly start rtx timer on new packet transmissions. sctp: Fix crc32c calculations on big-endian arhes. ... commit 66673f13c10a817e27d71434c1198a4d874e0cd3 Merge: bf50c90... fcd26f7... Author: Linus Torvalds Date: Mon Jan 26 15:08:07 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix DAX handling via userspace access from kernel. sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. sparc64: fix modpost failure sparc64: fix readout of cpu/fpu type commit cd1f55a5b49b74e13ed9e7bc74d005803aaa0da8 Author: Anton Vorontsov Date: Mon Jan 26 14:33:23 2009 -0800 gianfar: Revive VLAN support commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN HW feature related frame/buffer size calculation") wrongly removed priv->vlgrp assignment, and now priv->vlgrp is always NULL. This patch fixes the issue, plus fixes following sparse warning introduced by the same commit: gianfar.c:1406:13: warning: context imbalance in 'gfar_vlan_rx_register' - wrong count at exit gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries to return w/o dropping the lock. According to net/8021q/vlan.c VLAN core issues rx_register() callback: 1. In register_vlan_dev() only on a newly created group; 2. In unregister_vlan_dev() only if the group becomes empty. Thus the check in the gianfar driver isn't needed. Signed-off-by: Anton Vorontsov Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 116cb42855fbd052fc8cd2ca3e06050bff762673 Author: Ben Greear Date: Mon Jan 26 12:37:53 2009 -0800 vlan: Export symbols as non GPL symbols. In previous kernels, any kernel module could get access to the 'real-device' and the VLAN-ID for a particular VLAN. In more recent kernels, the code was restructured such that this is hard to do without accessing private .h files for any module that cannot use GPL-only symbols. Attached is a patch to once again allow non-GPL modules the ability to access the real-device and VLAN id for VLANs. Signed-off-by: Ben Greear Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e8b5fc514d1c7637cb4b8f77e7d8ac33ef66130c Author: Vladislav Zolotarov Date: Mon Jan 26 12:36:42 2009 -0800 bnx2x: tx_has_work should not wait for FW The current tx_has_work waited until all packets sent by the driver are marked as completed by the FW. This is too greedy and it causes the bnx2x_poll to spin in vain. The driver should only check that all packets FW already completed are freed - only in unload flow the driver should make sure that transmit queue is empty Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 32ec803348b4d5f1353e1d7feae30880b8b3e342 Author: Dhananjay Phadke Date: Mon Jan 26 12:35:19 2009 -0800 netxen: reduce memory footprint o reduce rx ring size from 8192 to 4096. o cut down old huge lro buffers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cdff1036492ac97b4213aeab2546914a633a7de7 Author: Dhananjay Phadke Date: Mon Jan 26 12:34:57 2009 -0800 netxen: fix vlan tso/checksum offload o set netdev->vlan_features appropriately. o fix tso descriptor initialization for vlan case. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3121a48d87a580f369eeb26aa0a075142274a353 Author: Krzysztof Hałasa Date: Mon Jan 26 12:30:12 2009 -0800 net: Fix linux/if_frad.h's suitability for userspace. The userspace interfaces are protected by CONFIG_* ifdefs and that of course can't work. Reported by Jaswinder Singh Rajput. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit d6eb633fe680c18119346a364acff7723245e278 Author: Matt Helsley Date: Mon Jan 26 12:25:55 2009 -0800 net: Move config NET_NS to from net/Kconfig to init/Kconfig Make NET_NS available underneath the generic Namespaces config option since all of the other namespace options are there. Signed-off-by: Matt Helsley Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 26285ba35813063ade9abd2c2eaaddba9354f587 Author: Daniele Venzano Date: Mon Jan 26 12:24:38 2009 -0800 isdn: Fix missing ifdef in isdn_ppp The following patch fixes a warning caused by a missing ifdef in isdn_ppp.c. A function was defined, but never used if CONFIG_IPPP_FILTER was not defined. The warning was: 'get_filter' defined but not used Patch is against 2.6.28.1 Signed-off-by: Daniele Venzano Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 5fb4523afbffae5a5cec4989ee4c9fbc3dbdef33 Author: Jean Delvare Date: Mon Jan 26 21:19:57 2009 +0100 i2c: Warn on deprecated binding model use Let the kernel developers know that i2c_attach_client() and i2c_detach_client() are deprecated and should no longer be used. Drivers using these should be converted to the standard device driver binding model (probe and remove methods.) Signed-off-by: Jean Delvare Acked-by: Ben Dooks commit dd7f8dbe2b3c0611ba969cd867c10cb63d163e25 Author: Jean Delvare Date: Mon Jan 26 21:19:57 2009 +0100 eeprom: More consistent symbol names Now that all EEPROM drivers live in the same place, let's harmonize their symbol names. Also fix eeprom's dependencies, it definitely needs sysfs, and is no longer experimental after many years in the kernel tree. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang Cc: David Brownell commit 0eb6da20681db9b5d5769d3e1aca877f4a77d8fb Author: Wolfram Sang Date: Mon Jan 26 21:19:54 2009 +0100 eeprom: Move 93cx6 eeprom driver to /drivers/misc/eeprom Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit e51d565ff6bb1cedc10568425511badf0633a212 Author: Wolfram Sang Date: Mon Jan 26 21:19:54 2009 +0100 spi: Move at25 (for SPI eeproms) to /drivers/misc/eeprom Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 2e157888f132131f8877affd2785dcee4c227c1d Author: Wolfram Sang Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Move old eeprom driver to /drivers/misc/eeprom Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 5195e5093bb7d30dbf057b260005cb4ab9761168 Author: Wolfram Sang Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Move at24 to drivers/misc/eeprom As drivers/i2c/chips is going to go away, move the driver to drivers/misc/eeprom. Other eeprom drivers may be moved here later, too. Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit a01064a92a1125995fd9078c2305df89a63ed9fe Author: Jean Delvare Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Quilt tree has moved My i2c quilt tree will now be hosted on kernel.org, because I can conveniently use rsync there. Also list the new i2c wiki. Signed-off-by: Jean Delvare commit 1745522ccbabd990bfc7511861aa9fa98287cba0 Author: Jean Delvare Date: Mon Jan 26 21:19:52 2009 +0100 i2c: Delete many unused adapter IDs Signed-off-by: Jean Delvare commit e2ba42ed0f8ba174302ebfabfa063fb456d5d6f5 Author: Jean Delvare Date: Mon Jan 26 21:19:52 2009 +0100 i2c: Delete 10 unused driver IDs Signed-off-by: Jean Delvare commit e955281cd6afef7ad7ea11cae0ca71d78a7b2b2b Author: Jesse Barnes Date: Mon Jan 26 12:19:23 2009 -0800 networking: document "nc" in addition to "netcat" in netconsole.txt It always annoyed me that the netconsole documentation didn't give me the correct command for my distro. Update it with a command line that actually works on my Fedora install. Signed-off-by: Jesse Barnes Signed-off-by: Randy Dunlap Signed-off-by: Matt Mackall Signed-off-by: David S. Miller commit 78272bbab895cc8f63bab5181dee55b72208e3b7 Author: Jesse Brandeburg Date: Mon Jan 26 12:16:26 2009 -0800 e1000e: workaround hw errata There is a hardware errata in some revisions of the 82574 that needs to be worked around in the driver by setting a register bit at init. If this bit is not set A0 versions of the 82574 can generate tx hangs. Signed-off-by: Jesse Brandeburg Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf50c903faba4ec7686ee8a570ac384b0f20814d Merge: a90e8a7... 74194cc... Author: Linus Torvalds Date: Mon Jan 26 10:43:04 2009 -0800 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: power_supply: pda_power: Don't request shared IRQs w/ IRQF_DISABLED commit a90e8a75fbf9e7fe2d88da6a5cf38be07fd81c35 Merge: cc597bc... 20d5a39... Author: Linus Torvalds Date: Mon Jan 26 10:42:05 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: initialize file_lock struct in GETLK before copying conflicting lock dlm: fix plock notify callback to lockd commit cc597bc3d31468596af6b8ad2b1d1b593e308957 Merge: ed80386... c475146... Author: Linus Torvalds Date: Mon Jan 26 10:41:00 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: ocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop() quota: Improve locking commit ed803862954528e6fcf7bd0f2b2e5a772a7c3281 Merge: 6aeea60... c0e69a5... Author: Linus Torvalds Date: Mon Jan 26 10:40:28 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: klist.c: bit 0 in pointer can't be used as flag debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n sysfs: fix problems with binary files PNP: fix broken pnp lowercasing for acpi module aliases driver core: Convert '/' to '!' in dev_set_name() commit 6aeea60aee945449c93d9aa70638deeb5c4c5439 Author: Harvey Harrison Date: Tue Jan 20 17:50:51 2009 -0800 m68k{nommu}: fixups after the header move swab.h seems to have been missed during the header merge. Add conditionals similar to byteorder.h and remove the now unnecessary byteorder_no/mm.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit ac3d266bf1bbbdd7efb6bd6760f2ee29e43bb132 Merge: 9f4863b... 4914802... Author: Linus Torvalds Date: Mon Jan 26 10:33:01 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k,m68knommu: merge header files Resolve trivial conflict in arch/m68knommu/include/asm/Kbuild commit 9f4863b7dc7f545bb3a01746feafdc1208e86c89 Merge: 832fb4a... e34a628... Author: Linus Torvalds Date: Mon Jan 26 10:26:27 2009 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Add missing compat system call wrappers. [S390] etr/stp: fix possible deadlock [S390] cputime: fix lowcore initialization on cpu hotplug [S390] fix compat sigaltstack syscall table entry [S390] personality: fix personality loss on execve commit 832fb4a01ca27ded735421de2b090f03e20039fc Merge: 4a45659... 2906f02... Author: Linus Torvalds Date: Mon Jan 26 10:16:11 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Fix cursor physical address choice to match the 2D driver. drm: stash AGP include under the do-we-have-AGP ifdef drm: don't whine about not reading EDID data drm/i915: hook up LVDS DPMS property drm/i915: remove unnecessary debug output in KMS init i915: fix freeing path for gem phys objects. drm: create mode_config idr lock drm: fix leak of device mappings since multi-master changes. commit 4a4565921aa9255be01921ff8ae339fa7b0a5468 Merge: 7954d5c... c2fdd36... Author: Linus Torvalds Date: Mon Jan 26 10:13:36 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI hotplug: fix lock imbalance in pciehp PCI PM: Restore standard config registers of all devices early PCI/MSI: bugfix/utilize for msi_capability_init() commit 7954d5cf39ee1ce9bb0a4b19fcf1924885a9cad1 Merge: 37f5fed... 86528da... Author: Linus Torvalds Date: Mon Jan 26 10:13:08 2009 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: i.MX31: framebuffer driver i.MX31: Image Processing Unit DMA and IRQ drivers dmaengine: add async_tx_clear_ack() macro dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n dmaengine: kill some dubious WARN_ONCEs fsldma: print correct IRQ on mpc83xx fsldma: check for NO_IRQ in fsl_dma_chan_remove() dmatest: Use custom map/unmap for destination buffer fsldma: use a valid 'device' for dma_pool_create dmaengine: fix dependency chaining commit 37f5fed55559a030c430550bcacec75e6a833f1b Merge: a1c70a7... 0609697... Author: Linus Torvalds Date: Mon Jan 26 10:12:08 2009 -0800 Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits) dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy. dma-coherent: per-device coherent area is in pages, not bytes. sh: fix unaligned and nonexistent address handling nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases(). sh: fix sh-sci / early printk build on sh7723 sh: export the sh7343 JPU to user space sh: update defconfigs. serial: sh-sci: Fix up SH7720/SH7721 SCI build. sh: Kill off obsolete busses from arch/sh/Kconfig. sh: sh7785lcr/highlander/hp6xx need linux/irq.h. sh: Migo-R MMC support using spi_gpio and mmc_spi. sh: ap325rxa MMC support using spi_gpio and mmc_spi sh: mach-x3proto: needs linux/irq.h. sh: Drop the BKL from sys_execve() on SH-5. sh: convert rsk7203 to use smsc911x. sh: convert magicpanelr2 platform to use smsc911x. sh: convert ap325rxa platform to use smsc911x. sh: mach-migor: Add tw9910 support. sh: mach-migor: Delete soc_camera_platform setup. sh: mach-migor: Add ov772x support. ... commit a1c70a756f8d756668acdbfd61dfc14de12fbaea Merge: 3632dee... 0fcb440... Author: Linus Torvalds Date: Mon Jan 26 10:08:50 2009 -0800 Merge branch 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc * 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc: (36 commits) fs/Kconfig: move 9p out fs/Kconfig: move afs out fs/Kconfig: move coda out fs/Kconfig: move the rest of ncpfs out fs/Kconfig: move smbfs out fs/Kconfig: move sunrpc out fs/Kconfig: move nfsd out fs/Kconfig: move nfs out fs/Kconfig: move ufs out fs/Kconfig: move sysv out fs/Kconfig: move romfs out fs/Kconfig: move qnx4 out fs/Kconfig: move hpfs out fs/Kconfig: move omfs out fs/Kconfig: move minix out fs/Kconfig: move vxfs out fs/Kconfig: move squashfs out fs/Kconfig: move cramfs out fs/Kconfig: move efs out fs/Kconfig: move bfs out ... commit 3632dee2f8b8a9720329f29eeaa4ec4669a3aff8 Author: Vegard Nossum Date: Thu Jan 22 15:29:45 2009 +0100 inotify: clean up inotify_read and fix locking problems If userspace supplies an invalid pointer to a read() of an inotify instance, the inotify device's event list mutex is unlocked twice. This causes an unbalance which effectively leaves the data structure unprotected, and we can trigger oopses by accessing the inotify instance from different tasks concurrently. The best fix (contributed largely by Linus) is a total rewrite of the function in question: On Thu, Jan 22, 2009 at 7:05 AM, Linus Torvalds wrote: > The thing to notice is that: > > - locking is done in just one place, and there is no question about it > not having an unlock. > > - that whole double-while(1)-loop thing is gone. > > - use multiple functions to make nesting and error handling sane > > - do error testing after doing the things you always need to do, ie do > this: > > mutex_lock(..) > ret = function_call(); > mutex_unlock(..) > > .. test ret here .. > > instead of doing conditional exits with unlocking or freeing. > > So if the code is written in this way, it may still be buggy, but at least > it's not buggy because of subtle "forgot to unlock" or "forgot to free" > issues. > > This _always_ unlocks if it locked, and it always frees if it got a > non-error kevent. Cc: John McCutchan Cc: Robert Love Cc: Signed-off-by: Vegard Nossum Signed-off-by: Linus Torvalds commit aeb565dfc3ac4c8b47c5049085b4c7bfb2c7d5d7 Author: Linus Torvalds Date: Mon Jan 26 10:01:53 2009 -0800 Fix annoying DRM_ERROR() string warning Use '%zu' to print out a size_t variable, not '%d'. Another case of the "let's keep at least Linus' defconfig compile warningless" rule. Signed-off-by: Linus Torvalds commit 2d07d4d1bba3b141941682fa36cacbe12bbb143b Merge: 3386c05... f6d47a1... Author: Linus Torvalds Date: Mon Jan 26 09:49:22 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: fix poll notify fuse: destroy bdi on umount fuse: fuse_fill_super error handling cleanup fuse: fix missing fput on error fuse: fix NULL deref in fuse_file_alloc() commit 3386c05bdbd3e60ca7158253442f0a00133db28e Merge: 1e70c7f... 6552eba... Author: Linus Torvalds Date: Mon Jan 26 09:47:56 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debugobjects: add and use INIT_WORK_ON_STACK rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR relay: fix lock imbalance in relay_late_setup_files oprofile: fix uninitialized use of struct op_entry rcu: move Kconfig menu softlock: fix false panic which can occur if softlockup_thresh is reduced rcu: add __cpuinit to rcu_init_percpu_data() commit 1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899 Merge: 810ee58... 1d4a7f1... Author: Linus Torvalds Date: Mon Jan 26 09:47:43 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix inconsistent lock state on resume in hres_timers_resume time-sched.c: tick_nohz_update_jiffies should be static locking, hpet: annotate false positive warning kernel/fork.c: unused variable 'ret' itimers: remove the per-cpu-ish-ness commit 810ee58de26c9c1255d716b1db7344c4a1093fec Merge: 2927fce... e88a0fa... Author: Linus Torvalds Date: Mon Jan 26 09:47:28 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits) xen: unitialised return value in xenbus_write_transaction x86: fix section mismatch warning x86: unmask CPUID levels on Intel CPUs, fix x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. x86: use standard PIT frequency xen: handle highmem pages correctly when shrinking a domain x86, mm: fix pte_free() xen: actually release memory when shrinking domain x86: unmask CPUID levels on Intel CPUs x86: add MSR_IA32_MISC_ENABLE bits to x86: fix PTE corruption issue while mapping RAM using /dev/mem x86: mtrr fix debug boot parameter x86: fix page attribute corruption with cpa() Revert "x86: signal: change type of paramter for sys_rt_sigreturn()" x86: use early clobbers in usercopy*.c x86: remove kernel_physical_mapping_init() from init section fix: crash: IP: __bitmap_intersects+0x48/0x73 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write work_on_cpu: Use our own workqueue. work_on_cpu: don't try to get_online_cpus() in work_on_cpu. ... commit 2927fceafc91afe744e0d1d33f8bbf98c42668fc Merge: 36f392d... ef183f6... Author: Linus Torvalds Date: Mon Jan 26 09:46:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: drivers/ide/palm_bk3710.c buildfix ide: fix Falcon IDE breakage ide: fix IDE PMAC breakage commit 36f392d09670d41716e0ba29e1fd1d0445367687 Merge: 6c31e7ee... 74e2d06... Author: Linus Torvalds Date: Mon Jan 26 09:44:17 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: Long btree pointers are still 64 bit on disk [XFS] Remove the rest of the macro-to-function indirections. xfs: sanity check attr fork size xfs: fix bad_features2 fixups for the root filesystem xfs: add a lock class for group/project dquots xfs: lockdep annotations for xfs_dqlock2 xfs: add a separate lock class for the per-mount list of dquots xfs: use mnt_want_write in compat_attrmulti ioctl xfs: fix dentry aliasing issues in open_by_handle commit 6c31e7ee48c91ef271b9d092d8d5698df0c72e22 Merge: f3b8436... 0f0779b... Author: Linus Torvalds Date: Mon Jan 26 09:42:00 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk ALSA: hda: revert change to 92hd83xxx power mapping ALSA: hda - Add model entry for HP dv4 ALSA: hda: 83xxx port 0xe DAC selection ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers sound: virtuoso: document HDAV1.3 driver status sound: virtuoso: add newline sound: virtuoso: enable UART on Xonar HDAV1.3 sound: Remove removed OSS kernel parameters from doc ALSA: hda: fix invalid power mapping masks ASoC: atmel_pcm: Remove non-existant header ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC ALSA: hda - Fix (yet more) STAC925x issues commit f6d47a1761896dcd89e3184399a8962dff17267d Author: Miklos Szeredi Date: Mon Jan 26 15:00:59 2009 +0100 fuse: fix poll notify Move fuse_copy_finish() to before calling fuse_notify_poll_wakeup(). This is not a big issue because fuse_notify_poll_wakeup() should be atomic, but it's cleaner this way, and later uses of notification will need to be able to finish the copying before performing some actions. Signed-off-by: Miklos Szeredi commit 26c3679101dbccc054dcf370143941844ba70531 Author: Miklos Szeredi Date: Mon Jan 26 15:00:59 2009 +0100 fuse: destroy bdi on umount If a fuse filesystem is unmounted but the device file descriptor remains open and a new mount reuses the old device number, then the mount fails with EEXIST and the following warning is printed in the kernel log: WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x35/0x3d() sysfs: duplicate filename '0:15' can not be created The cause is that the bdi belonging to the fuse filesystem was destoryed only after the device file was released. Fix this by calling bdi_destroy() from fuse_put_super() instead. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit c2b8f006909b9bf9e165dfdf3c378527938c4497 Author: Miklos Szeredi Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fuse_fill_super error handling cleanup Clean up error handling for the whole of fuse_fill_super() function. Signed-off-by: Miklos Szeredi commit 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 Author: Miklos Szeredi Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fix missing fput on error Fix the leaking file reference if allocation or initialization of fuse_conn failed. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit bb875b38dc5e343bdb696b2eab8233e4d195e208 Author: Dan Carpenter Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fix NULL deref in fuse_file_alloc() ff is set to NULL and then dereferenced on line 65. Compile tested only. Signed-off-by: Dan Carpenter Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77 Author: Ian Campbell Date: Sat Jan 24 08:22:47 2009 +0000 xen: unitialised return value in xenbus_write_transaction The return value of xenbus_write_transaction can be uninitialised in the success case leading to the userspace xenstore utilities failing. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit 659d2618b38f8a4d91bdb19cfc5c7fb330a4c55a Author: Rakib Mullick Date: Sat Jan 24 01:46:03 2009 +0600 x86: fix section mismatch warning Here function vmi_activate calls a init function activate_vmi , which causes the following section mismatch warnings: LD arch/x86/kernel/built-in.o WARNING: arch/x86/kernel/built-in.o(.text+0x13ba9): Section mismatch in reference from the function vmi_activate() to the function .init.text:vmi_time_init() The function vmi_activate() references the function __init vmi_time_init(). This is often because vmi_activate lacks a __init annotation or the annotation of vmi_time_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bd1): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_bsp_init() The function vmi_activate() references the function __devinit vmi_time_bsp_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_bsp_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bdb): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_ap_init() The function vmi_activate() references the function __devinit vmi_time_ap_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_ap_init is wrong. Fix it by marking vmi_activate() as __init too. Signed-off-by: Rakib Mullick Signed-off-by: Ingo Molnar commit 99fb4d349db7e7dacb2099c5cc320a9e2d31c1ef Author: Ingo Molnar Date: Mon Jan 26 04:30:41 2009 +0100 x86: unmask CPUID levels on Intel CPUs, fix Impact: fix boot hang on pre-model-15 Intel CPUs rdmsrl_safe() does not work in very early bootup code yet, because we dont have the pagefault handler installed yet so exception section does not get parsed. rdmsr_safe() will just crash and hang the bootup. So limit the MSR_IA32_MISC_ENABLE MSR read to those CPU types that support it. Signed-off-by: Ingo Molnar commit ef5fa0ab24b87646c7bc98645acbb4b51fc2acd4 Author: Eric Anholt Date: Fri Jan 23 14:14:21 2009 -0800 x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. In the absence of PAT, PAGE_KERNEL_WC ends up mapping to a memory type that gets UC behavior even in the presence of a WC MTRR covering the area in question. By swapping to PAGE_KERNEL_UC_MINUS, we can get the actual behavior the caller wanted (WC if you can manage it, UC otherwise). This recovers the 40% performance improvement of using WC in the DRM to upload vertex data. Signed-off-by: Eric Anholt Signed-off-by: H. Peter Anvin commit 71be7a36026b25e17657ff8e4317837176bf8cfd Merge: a8d694c... 2fcbab0... Author: David S. Miller Date: Sun Jan 25 21:36:34 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a8d694c651356ec89452e15b0189c061fb7e1cf1 Author: Timo Teras Date: Sun Jan 25 20:49:14 2009 -0800 af_key: initialize xfrm encap_oa Currently encap_oa is left uninitialized, so it contains garbage data which is visible to userland via Netlink. Initialize it by zeroing it out. Signed-off-by: Timo Teras Acked-by: Herbert Xu Signed-off-by: David S. Miller commit e918085aaff34086e265f825dd469926b1aec4a4 Author: Alex Williamson Date: Sun Jan 25 18:06:26 2009 -0800 virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs 802.1Q expanded the maximum ethernet frame size by 4 bytes for the VLAN tag. We're not taking this into account in virtio_net, which means the buffers we provide to the backend in the virtqueue RX ring aren't big enough to hold a full MTU VLAN packet. For QEMU/KVM, this results in the backend exiting with a packet truncation error. Signed-off-by: Alex Williamson Acked-by: Mark McLoughlin Signed-off-by: David S. Miller commit 801599b0cd4c026a18fb9fce436eae4459f799a6 Author: Heiko Carstens Date: Tue Jan 20 06:14:32 2009 +0000 lcs: fix compilation for !CONFIG_IP_MULTICAST drivers/s390/net/lcs.c: In function 'lcs_new_device': drivers/s390/net/lcs.c:2179: error: implicit declaration of function 'lcs_set_multicast_list' Reported-by: Kamalesh Babulal Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 74194cc71074c8bc17690a5d826093fb6f6e9928 Author: Philipp Zabel Date: Sun Jan 18 14:46:21 2009 +0100 power_supply: pda_power: Don't request shared IRQs w/ IRQF_DISABLED IRQF_DISABLED is not guaranteed for shared IRQs. I think power_changed_isr doesn't need it anyway, as it only fires a timer. This patch enables IRQF_SAMPLE_RANDOM instead. Signed-off-by: Philipp Zabel Signed-off-by: Anton Vorontsov commit 24f11ec001920f1cfaeeed8e8b55725d900bbb56 Author: Russell King Date: Sun Jan 25 17:36:34 2009 +0000 [ARM] fix section-based ioremap Tomi Valkeinen reports: Running with latest linux-omap kernel on OMAP3 SDP board, I have problem with iounmap(). It looks like iounmap() does not properly free large areas. Below is a test which fails for me in 6-7 loops. for (i = 0; i < 200; ++i) { vaddr = ioremap(paddr, size); if (!vaddr) { printk("couldn't ioremap\n"); break; } iounmap(vaddr); } The changes to vmalloc.c weren't reflected in the ARM ioremap implementation. Turns out the fix is rather simple. Tested-by: Tomi Valkeinen Tested-by: Matt Gerassimoff Signed-off-by: Russell King commit e1b4d1143651fb3838be1117785b6e0386fa151f Author: Ingo Molnar Date: Sun Jan 25 16:57:00 2009 +0100 x86: use standard PIT frequency the RDC and ELAN platforms use slighly different PIT clocks, resulting in a timex.h hack that changes PIT_TICK_RATE during build time. But if a tester enables any of these platform support .config options, the PIT will be miscalibrated on standard PC platforms. So use one frequency - in a subsequent patch we'll add a quirk to allow x86 platforms to define different PIT frequencies. Signed-off-by: Ingo Molnar commit fb22d72782b023cda5e9876d3381f30932a64f91 Author: Uwe Kleine-König Date: Thu Jan 22 23:29:42 2009 +0100 [NET] am79c961a: fix spin_lock usage spin_lock functions take a pointer to the lock, not the lock itself. This error was noticed by compiling ebsa110_defconfig for linux-rt where the locking functions obviously are more picky about their arguments. Signed-off-by: Uwe Kleine-König Cc: Roel Kluin <12o3l@tiscali.nl> Cc: Steven Rostedt Cc: netdev@vger.kernel.org Signed-off-by: Russell King commit 0b23a0efec9ab691a5bb902f9255892c8ddfd434 Author: Russell King Date: Sat Jan 24 17:00:45 2009 +0000 [ARM] omap: usb: thou shalt not provide empty release functions ... for devices. Doing so is a bug, plain and simple, and drives GregKH round the bend. Signed-off-by: Russell King commit b7cfc9ca6a511acec529cad322eec2a6379f35f7 Author: Russell King Date: Sat Jan 24 16:48:42 2009 +0000 [ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms The driver was updated for OMAP34xx, but the Kconfig file was missed. So this adds the missing parts from d99241c in Tony Lindgren's tree: Add watchdog timer support for TI OMAP3430. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit a45c6cb816474cefe56059fce422a9bdcd77e0dc Author: Madhusudhan Chikkature Date: Fri Jan 23 01:05:23 2009 +0100 [ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3 Add omap hsmmc controller for 2430 and 34xx. Note that this controller has different registers compared to the earlier omap MMC controller, so sharing code currently is not possible. Various updates and fixes from linux-omap list have been merged into this patch. Signed-off-by: Madhusudhan Chikkature Acked-by: Pierre Ossman Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 409dc360b49480b57869ffd457e4b95901b76b75 Author: Russell King Date: Sat Jan 24 10:14:37 2009 +0000 [ARM] clkdev: fix clock matching The old matching algorithm was too fuzzy, causing false positives. For example, when asked for device D connection C1 and we only find device D connection C2, we return that as a valid match despite the connection names being different. Change the algorithm such that: An entry with a NULL ID is assumed to be a wildcard. If an entry has a device ID, it must match If an entry has a connection ID, it must match However, we maintain the order of precidence while still only doing a single pass over all entries: dev+con > dev only > con only. Signed-off-by: Russell King commit 02e0746ecc0e72482fe6f350cbb8b65d1d5fc40a Author: Jean-Christop PLAGNIOL-VILLARD Date: Fri Jan 23 10:06:07 2009 +0100 [ARM] 5370/1: at91: fix rm9200 watchdog Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Russell King commit d0e58ae76cdcbcea05149e48220503ab00b4fb0b Author: David Brownell Date: Sun Jan 18 17:29:10 2009 +0100 [ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix From: David Brownell Subject: ARM/mach-davinci/usb.c buildfix CC arch/arm/mach-davinci/usb.o arch/arm/mach-davinci/usb.c:60: error: 'IRQ_USBINT' undeclared here (not in a function) make[1]: *** [arch/arm/mach-davinci/usb.o] Error 1 Signed-off-by: David Brownell Signed-off-by: Russell King commit 7ad14f83d335bc042baa21d710b4ea0918965ffe Author: Ramax Lo Date: Wed Jan 14 02:13:47 2009 +0100 [ARM] 5365/1: s3cmci: Use new include path of dma.h Since dma.h has been moved to arch/arm/mach-s3c2410/include/mach, use the new include path. Signed-off-by: Ramax Lo Acked-by: Ben Dooks Signed-off-by: Russell King commit 7dd8c4f3526b16edb1a3f4edb4665a8fa6e632d8 Author: Russell King Date: Sun Jan 18 16:24:19 2009 +0000 [ARM] fix StrongARM-11x0 page copy implementation Which had the 'from' and 'to' pages reversed. Signed-off-by: Russell King commit 953a7e8476bbd7367cebdb868c326ba42968bc13 Author: Russell King Date: Sun Jan 18 12:52:38 2009 +0000 [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() Signed-off-by: Russell King commit 2fcbab044a3faf4d4a6e269148dd1f188303b206 Author: Larry Finger Date: Fri Jan 23 11:46:32 2009 -0600 rtl8187: Add termination packet to prevent stall The RTL8187 and RTL8187B devices can stall unless an explicit termination packet is sent. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c338ba3ca5bef2df2082d9e8d336ff7b2880c326 Author: Abbas, Mohamed Date: Wed Jan 21 10:58:02 2009 -0800 iwlwifi: fix rs_get_rate WARN_ON() In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS] this is filled with all support rate from assoc_resp. If we associate with G-band AP only supp_rates of G-band will be set the other band supp_rates will be set to 0. If the user type this command this will cause mac80211 to set to new channel, mac80211 does not disassociate in setting new channel, so the active band is now A-band. then in handling the new essid mac80211 will kick in the assoc steps which involve sending disassociation frame. in this mac80211 will WARN_ON sta->supp_rates[A_BAND] == 0. This fixes: http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822 http://www.kerneloops.org/searchweek.php?search=rs_get_rate Signed-off-by: mohamed abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b4068a80492022848c11123bf485aff5c902c583 Author: Christian Lamparter Date: Tue Jan 20 23:11:21 2009 +0100 p54usb: fix packet loss with first generation devices Artur Skawina confirmed that the first generation devices needs the same URB_ZERO_PACKET flag, in oder to finish the pending transfer properly. The second generation has been successfully fixed by "p54usb: fix random traffic stalls (LM87)" (43af18f06d5) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ff4ce8c332859508dc97826ab8b7f42bb9c212c9 Author: Ian Campbell Date: Fri Jan 23 16:26:21 2009 +0000 xen: handle highmem pages correctly when shrinking a domain Commit 1058a75f07b9bb8323fb5197be5526220f8b75cf ("xen: actually release memory when shrinking domain") causes a crash if the page being released is a highmem page. If a page is highmem then there is no need to unmap it. Signed-off-by: Ian Campbell Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 42ef73fe134732b2e91c0326df5fd568da17c4b2 Author: Peter Zijlstra Date: Fri Jan 23 17:37:49 2009 +0100 x86, mm: fix pte_free() On -rt we were seeing spurious bad page states like: Bad page state in process 'firefox' page:c1bc2380 flags:0x40000000 mapping:c1bc2390 mapcount:0 count:0 Trying to fix it up, but a reboot is needed Backtrace: Pid: 503, comm: firefox Not tainted 2.6.26.8-rt13 #3 [] ? printk+0x14/0x19 [] bad_page+0x4e/0x79 [] free_hot_cold_page+0x5b/0x1d3 [] free_hot_page+0xf/0x11 [] __free_pages+0x20/0x2b [] __pte_alloc+0x87/0x91 [] handle_mm_fault+0xe4/0x733 [] ? rt_mutex_down_read_trylock+0x57/0x63 [] ? rt_mutex_down_read_trylock+0x57/0x63 [] do_page_fault+0x36f/0x88a This is the case where a concurrent fault already installed the PTE and we get to free the newly allocated one. This is due to pgtable_page_ctor() doing the spin_lock_init(&page->ptl) which is overlaid with the {private, mapping} struct. union { struct { unsigned long private; struct address_space *mapping; }; spinlock_t ptl; struct kmem_cache *slab; struct page *first_page; }; Normally the spinlock is small enough to not stomp on page->mapping, but PREEMPT_RT=y has huge 'spin'locks. But lockdep kernels should also be able to trigger this splat, as the lock tracking code grows the spinlock to cover page->mapping. The obvious fix is calling pgtable_page_dtor() like the regular pte free path __pte_free_tlb() does. It seems all architectures except x86 and nm10300 already do this, and nm10300 doesn't seem to use pgtable_page_ctor(), which suggests it doesn't do SMP or simply doesnt do MMU at all or something. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Cc: commit 0f0779b155f9060dc750e14e0d29e7491263e46b Merge: 092ebf7... 43d5080... Author: Takashi Iwai Date: Fri Jan 23 18:14:25 2009 +0100 Merge branch 'fix/asoc' into for-linus commit e34a6280419a24297e6603075ac5af6ce9f13562 Author: Michael Holzheu Date: Fri Jan 23 16:40:27 2009 +0100 [S390] Add missing compat system call wrappers. Add wrapper functions for the following compat system calls: * readahead * sendfile64 * tkill * tgkill * keyctl This ensures that the high order bits of the parameter registers are correctly sign extended. Signed-off-by: Michael Holzheu Signed-off-by: Heiko Carstens commit 179cb81aa1e9dc5444f678a6dd4dbb90c60322e1 Author: Heiko Carstens Date: Fri Jan 23 16:40:26 2009 +0100 [S390] etr/stp: fix possible deadlock Precreate stop_machine threads in case the machine supports ETR/STP. Otherwise we might deadlock if a time sync operation gets scheduled and the creation of stop_machine threads would cause disk I/O. This is just the minimal fix. The real fix would be to only precreate stop_machine threads if ETR/STP is actually used. But that would be a rather large and complicated patch. Signed-off-by: Heiko Carstens commit f9a2f797fcde5a4aa818bd3ca8584fd1197e9c15 Author: Heiko Carstens Date: Fri Jan 23 16:40:25 2009 +0100 [S390] cputime: fix lowcore initialization on cpu hotplug On (initial) cpu hotplug the lowcore values for user_timer and system_timer don't get initialized like they would get on each process schedule. On initial start of secondary cpus this leads to the situation where per thread user/system_timer values are larger than the corresponding contents of the lowcore. When later calculating time spent in user/system context the result can be negative. So for cpu hotplug we should manually initialize lowcore values. Fixes this bug: Kernel BUG at 000ec080 [verbose debug info unavailable] fixpoint divide exception: 0009 [#1] PREEMPT SMP Modules linked in: CPU: 10 Not tainted 2.6.28 #4 Process sysctl (pid: 975, task: 3fa752e0, ksp: 3fbebca0) Krnl PSW : 070c1000 800ec080 (show_stat+0x390/0x5fc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 Krnl GPRS: 7fffffff fefc7ce5 3faec080 003879ae 00000001 01388000 7fffffff 01388000 00000000 00000000 0049ad50 3fbebcf8 01388000 002f51a8 800ec1fe 3fbebcf8 Krnl Code: 800ec076: 9001b188 stm %r0,%r1,392(%r11) 800ec07a: 9801b0c0 lm %r0,%r1,192(%r11) 800ec07e: 1d05 dr %r0,%r5 >800ec080: 9001b0c0 stm %r0,%r1,192(%r11) 800ec084: 5860b0c4 l %r6,196(%r11) 800ec088: 1806 lr %r0,%r6 800ec08a: 8c800001 srdl %r8,1 800ec08e: 1d87 dr %r8,%r7 Call Trace: ([<00000000000ec1ee>] show_stat+0x4fe/0x5fc) [<00000000000c13e8>] seq_read+0xc4/0x3ac [<00000000000e4796>] proc_reg_read+0x6e/0x9c [<00000000000a6a44>] vfs_read+0x78/0x100 [<00000000000a6ba8>] sys_read+0x40/0x80 [<00000000000234a8>] sysc_do_restart+0x1a/0x1e Signed-off-by: Heiko Carstens commit e9a4e9d563ea643d305b5fe83031d7deca311db3 Author: Michael Holzheu Date: Fri Jan 23 16:40:24 2009 +0100 [S390] fix compat sigaltstack syscall table entry When 31 bit user space programs call sigaltstack on a 64 bit Linux OS, the system call returns -1 with errno=EFAULT. The 31 bit pointer passed to the system call is extended to 64 bit, but the high order bits are not set to zero. The kernel detects the invalid user space pointer and returns -EFAULT. To solve the problem, sys32_sigaltstack_wrapper() instead of sys32_sigaltstack() has to be called. The wrapper function sets the high order bits to zero. Signed-off-by: Michael Holzheu Signed-off-by: Heiko Carstens commit 03e4c49f847f23c62900424f65a62f76de5a7151 Author: Heiko Carstens Date: Fri Jan 23 16:40:23 2009 +0100 [S390] personality: fix personality loss on execve Use the personality() macro to mask out all bits that are not relevant for the personality type. The personality field contains bits for other things as well, so without masking out the not relevalent bits the comparison won't do what is expected. Reported-by: Andreas Krebbel Signed-off-by: Heiko Carstens commit 43d50807dbf47a139f83660fec14aebe936b3c80 Author: Peter Ujfalusi Date: Fri Jan 23 10:08:35 2009 +0200 ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h Typo fix. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 092ebf7a01aa8020501986ab9a2f481a01bb541a Merge: dd501d9... 32ed3f4... Author: Takashi Iwai Date: Fri Jan 23 08:13:52 2009 +0100 Merge branch 'fix/hda' into for-linus commit dd501d94b5df820305363d504f51115b45e23e4f Merge: 6e78b78... 8a9dee5... Author: Takashi Iwai Date: Fri Jan 23 08:13:49 2009 +0100 Merge branch 'fix/asoc' into for-linus commit 32ed3f4640631ab7a4c0bc0f1463cf019d510341 Author: Matthew Ranostay Date: Thu Jan 22 20:53:29 2009 -0500 ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk Some revisions of the 92hd8xxx codec's not supporting port power downs in which the using of it causes capture and also randomly playback streams to not function at all. Thus by disabling it by default and adding a option to enable it manually will fix all issue on current and future revisions. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 87e88a746d6d93242c15e380dc8cd2579b524974 Author: Matthew Ranostay Date: Thu Jan 22 20:38:42 2009 -0500 ALSA: hda: revert change to 92hd83xxx power mapping Port 0xe power mapping was incorrect set to 0x80 changed to the correct value 0x40. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit ae53b5bd77719fed58086c5be60ce4f22bffe1c6 Author: Vlad Yasevich Date: Thu Jan 22 14:53:23 2009 -0800 sctp: Fix another socket race during accept/peeloff There is a race between sctp_rcv() and sctp_accept() where we have moved the association from the listening socket to the accepted socket, but sctp_rcv() processing cached the old socket and continues to use it. The easy solution is to check for the socket mismatch once we've grabed the socket lock. If we hit a mis-match, that means that were are currently holding the lock on the listening socket, but the association is refrencing a newly accepted socket. We need to drop the lock on the old socket and grab the lock on the new one. A more proper solution might be to create accepted sockets when the new association is established, similar to TCP. That would eliminate the race for 1-to-1 style sockets, but it would still existing for 1-to-many sockets where a user wished to peeloff an association. For now, we'll live with this easy solution as it addresses the problem. Reported-by: Michal Hocko Reported-by: Karsten Keil Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 759af00ebef858015eb68876ac1f383bcb6a1774 Author: Vlad Yasevich Date: Thu Jan 22 14:53:01 2009 -0800 sctp: Properly timestamp outgoing data chunks for rtx purposes Recent changes to the retransmit code exposed a long standing bug where it was possible for a chunk to be time stamped after the retransmit timer was reset. This caused a rare situation where the retrnamist timer has expired, but nothing was marked for retrnasmission because all of timesamps on data were less then 1 rto ago. As result, the timer was never restarted since nothing was retransmitted, and this resulted in a hung association that did couldn't complete the data transfer. The solution is to timestamp the chunk when it's added to the packet for transmission purposes. After the packet is trsnmitted the rtx timer is restarted. This guarantees that when the timer expires, there will be data to retransmit. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6574df9a89f9f7da3a4e5cee7633d430319d3350 Author: Vlad Yasevich Date: Thu Jan 22 14:52:43 2009 -0800 sctp: Correctly start rtx timer on new packet transmissions. Commit 62aeaff5ccd96462b7077046357a6d7886175a57 (sctp: Start T3-RTX timer when fast retransmitting lowest TSN) introduced a regression where it was possible to forcibly restart the sctp retransmit timer at the transmission of any new chunk. This resulted in much longer timeout times and sometimes hung sctp connections. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9c5ff5f75d0d0a1c7928ecfae3f38418b51a88e3 Author: Vlad Yasevich Date: Thu Jan 22 14:52:23 2009 -0800 sctp: Fix crc32c calculations on big-endian arhes. crc32c algorithm provides a byteswaped result. On little-endian arches, the result ends up in big-endian/network byte order. On big-endinan arches, the result ends up in little-endian order and needs to be byte swapped again. Thus calling cpu_to_le32 gives the right output. Tested-by: Jukka Taimisto Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1058a75f07b9bb8323fb5197be5526220f8b75cf Author: Dan Magenheimer Date: Thu Jan 22 14:36:08 2009 -0800 xen: actually release memory when shrinking domain Fix this: > It appears that in the upstream balloon driver, > the call to HYPERVISOR_update_va_mapping is missing > from decrease_reservation. I think as a result, > the balloon driver is eating memory but not > releasing it to Xen, thus rendering the balloon > driver essentially useless. (Can be observed via xentop.) Signed-off-by: Dan Magenheimer Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit c64d2a9afbccd0aecb122d108770a407fe7b7e3f Author: Steve Glendinning Date: Thu Jan 22 14:07:43 2009 -0800 phy: Add suspend/resume support to SMSC PHYs All supported SMSC PHYs implement the standard "power down" bit 11 of BMCR, so this patch adds support using the generic genphy_{suspend,resume} functions. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 6f051069d8a2045666055e3020ae8a7dec9762e0 Author: Anton Vorontsov Date: Thu Jan 22 13:51:24 2009 -0800 phylib: Fix oops in suspend/resume paths Suspend/resume routines check for phydrv != NULL, but that is wrong because "phydrv" comes from container_of(drv). If drv is NULL, then container_of(drv) will return non-NULL result, and the checks won't work. The Freescale TBI PHYs are driver-less, so "drv" is NULL, and that leads to the following oops: Unable to handle kernel paging request for data at address 0xffffffe4 Faulting instruction address: 0xc0215554 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c0215554] mdio_bus_suspend+0x34/0x70 LR [c01cc508] suspend_device+0x258/0x2bc Call Trace: [cfad3da0] [cfad3db8] 0xcfad3db8 (unreliable) [cfad3db0] [c01cc508] suspend_device+0x258/0x2bc [cfad3dd0] [c01cc62c] dpm_suspend+0xc0/0x140 [cfad3e20] [c01cc6f4] device_suspend+0x48/0x5c [cfad3e40] [c0068dd8] suspend_devices_and_enter+0x8c/0x148 [cfad3e60] [c00690f8] enter_state+0x100/0x118 [cfad3e80] [c00691c0] state_store+0xb0/0xe4 [cfad3ea0] [c018c938] kobj_attr_store+0x24/0x3c [cfad3eb0] [c00ea9a8] flush_write_buffer+0x58/0x7c [cfad3ed0] [c00eadf0] sysfs_write_file+0x58/0xa0 [cfad3ef0] [c009e810] vfs_write+0xb4/0x16c [cfad3f10] [c009ed40] sys_write+0x4c/0x90 [cfad3f40] [c0014954] ret_from_syscall+0x0/0x38 [...] This patch fixes the issue, plus removes unneeded parentheses and fixes indentation level in mdio_bus_suspend(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 5422a2257350d984094e655b2361abed51a9ddc1 Author: Eilon Greenstein Date: Thu Jan 22 06:01:37 2009 +0000 bnx2x: Version Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3910c8ae44c59cebed721e33aa496f0a385b4e03 Author: Eilon Greenstein Date: Thu Jan 22 06:01:32 2009 +0000 bnx2x: loopback test failure A link change interrupt might be queued and activated after the loopback was set and it will cause the loopback to fail. The PHY lock should be kept until the loopback test is over. That implies that the bnx2x_test_link should used within the loopback function and not bnx2x_wait_for_link since that function also takes the PHY link Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5650d9d4cbf3898d3f9725ccad5dfca6bc086324 Author: Eilon Greenstein Date: Thu Jan 22 06:01:29 2009 +0000 bnx2x: Missing rmb when waiting for FW response Waiting for the FW to response requires a memory barrier Signed-off-by: Michal Kalderon Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7cde1c8b79f913a0158bae4f4c612de2cb98e7e4 Author: Eilon Greenstein Date: Thu Jan 22 06:01:25 2009 +0000 bnx2x: Calling napi_del rmmod might hang without this patch since the reference counter is not going down Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6eccabb301d442e6106ecc84b07a976c2816d9fb Author: Eilon Greenstein Date: Thu Jan 22 03:37:48 2009 +0000 bnx2x: Carrier off first call Call carrier off should not be called after register_netdev since after register netdev open can be called at any time followed by an interrupt that will set it to carrier_on and the probe will resume control and set it to off Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2dfe0e1fecb582b4aae7f2490904864c05472f3a Author: Eilon Greenstein Date: Thu Jan 22 03:37:44 2009 +0000 bnx2x: Handling load failures Failures on load were not handled correctly - separate the flow to handle different failures Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e94d8af3da79f4bfbd22819d28ecf0602456f06f Author: Eilon Greenstein Date: Thu Jan 22 03:37:36 2009 +0000 bnx2x: Disable napi Calling napi disabled unconditionally at netif stop Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 81f75bbf67c7a26ea1266ac93b9319bb985d588d Author: Eilon Greenstein Date: Thu Jan 22 03:37:31 2009 +0000 bnx2x: Reset HW before use To avoid complications, make sure that the HW is in reset (as it should be) before trying to take it out of reset. In normal flows, the HW is indeed in rest so this should have no effect Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 637f883739b32746889a191f282c9ea2590ecf4f Author: Reinette Chatre Date: Mon Jan 19 15:30:32 2009 -0800 iwlwifi: return NETDEV_TX_OK from _tx ops be consistent with mac80211 drivers and return correct return code. NETDEV_TX_OK is 0, but we need to be consistent wrt formatting amongst implementations re: http://marc.info/?l=linux-wireless&m=123119327419865&w=2 Signed-off-by: Reinette Chatre Reviewed-by: Tomas Winkler Signed-off-by: John W. Linville commit de2624966f9bc6ffafc4fd6555336fabc2854420 Author: Hin-Tak Leung Date: Mon Jan 19 23:39:09 2009 +0000 zd1211rw: adding Sitecom WL-603 (0df6:0036) to the USB id list Giuseppe Cala (The second "a" in "Cala" should be a grave, U+00E0) reported success on zd1211-devs@lists.sourceforge.net. The chip info is: zd1211b chip 0df6:0036 v4810 high 00-0c-f6 AL2230_RF pa0 g--N- The Sitecom WL-603 is detected as a zd1211b with a AL2230 RF transceiver chip. Signed-off-by: Giuseppe Cala Signed-off-by: Hin-Tak Leung Signed-off-by: John W. Linville commit e2fe154e918276e900067a9d1d3a6a963faee041 Author: Christian Lamparter Date: Tue Jan 20 00:27:57 2009 +0100 p54usb: fix nasty use after free In theory, the firmware acks the received a data frame, before signaling the driver to free it again. However Artur Skawina has shown that it can happen in reverse order as well. This is very bad and could lead to memory corruptions, oopses and panics. Thanks to Artur Skawina for reporting and debugging this issue. Signed-off-by: Christian Lamparter Tested-by: Artur Skawina Signed-off-by: John W. Linville commit 12da401e0d616f738c8b8a368d1f63f365cc78e4 Author: Christian Lamparter Date: Mon Jan 19 16:08:48 2009 +0100 p54: more cryptographic accelerator fixes If we let the firmware do the data encryption, we have to remove the ICV and (M)MIC at the end of the frame before we can give it back to mac80211. Or, these data frames have a few trailing bytes on cooked monitor interfaces. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 40ab73cc6c38ce93253fe8c2d7e502c948adfd13 Author: Chr Date: Mon Jan 19 14:30:26 2009 +0100 p54: add missing break in eeprom parser This patch fixes a obvious memory leak in the eeprom parser. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 11eaea416716deebcb18383b201ba8033cbf33dc Author: Pavel Roskin Date: Sun Jan 18 23:20:58 2009 -0500 orinoco: use KERN_DEBUG for link status messages KERN_INFO is too "loud" for messages that are generated by the ordinary events, such as accociation. Use of KERN_DEBUG is consistent with mac80211. Suggested by Michael Gilbert Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 7490889c105764d80af58dee5983d91a84e4aec8 Author: Ivo van Doorn Date: Sun Jan 18 20:15:24 2009 +0100 rt2x00: Fix TX rate short preamble detection Mac80211 provides 2 structures to handle bitrates, namely ieee80211_rate and ieee80211_tx_rate. To determine the short preamble mode for an outgoing frame, the flag IEEE80211_TX_RC_USE_SHORT_PREAMBLE must be checked on ieee80211_tx_rate and not ieee80211_rate (which rt2x00 did). This fixes a regression which was triggered in 2.6.29-rcX as reported by Chris Clayton. Signed-off-by: Ivo van Doorn Tested-By: Chris Clayton Signed-off-by: John W. Linville commit 391429c18f58ae37cc2e254e408bff847f4beb21 Author: Christian Lamparter Date: Sun Jan 18 02:24:15 2009 +0100 mac80211: fix slot time debug message wlan0: switched to short barker preamble (BSSID=00:01:aa:bb:cc:dd) wlan0: switched to short slot (BSSID=) should be: wlan0: switched to short barker preamble (BSSID=00:01:aa:bb:cc:dd) wlan0: switched to short slot (BSSID=00:01:aa:bb:cc:dd) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7fe99c4e28ab54eada8aa456b417114e6ef21587 Author: Andrey Borzenkov Date: Tue Jan 20 20:26:46 2009 +0300 orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie [ 56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599 [ 56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant [ 56.923656] 2 locks held by wpa_supplicant/3031: [ 56.923662] #0: (rtnl_mutex){--..}, at: [] rtnl_lock+0xf/0x20 [ 56.923703] #1: (&priv->lock){++..}, at: [] orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.923782] irq event stamp: 910 [ 56.923788] hardirqs last enabled at (909): [] __kmalloc+0x7b/0x140 [ 56.923820] hardirqs last disabled at (910): [] _spin_lock_irqsave+0x19/0x80 [ 56.923847] softirqs last enabled at (880): [] __do_softirq+0xc4/0x110 [ 56.923865] softirqs last disabled at (871): [] do_softirq+0x8e/0xe0 [ 56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1 [ 56.923905] Call Trace: [ 56.923919] [] ? do_softirq+0x8e/0xe0 [ 56.923941] [] __might_sleep+0xd2/0x100 [ 56.923952] [] __kmalloc+0xd7/0x140 [ 56.923963] [] ? _spin_lock_irqsave+0x6a/0x80 [ 56.923981] [] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.923999] [] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.924017] [] orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.924036] [] ? copy_from_user+0x35/0x130 [ 56.924061] [] ioctl_standard_call+0x196/0x380 [ 56.924085] [] ? __dev_get_by_name+0x85/0xb0 [ 56.924096] [] wext_handle_ioctl+0x14f/0x230 [ 56.924113] [] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco] [ 56.924132] [] dev_ioctl+0x495/0x570 [ 56.924155] [] ? sys_sendto+0xa5/0xd0 [ 56.924171] [] ? mark_held_locks+0x48/0x90 [ 56.924183] [] ? sock_ioctl+0x0/0x280 [ 56.924193] [] sock_ioctl+0xfd/0x280 [ 56.924203] [] ? sock_ioctl+0x0/0x280 [ 56.924235] [] vfs_ioctl+0x20/0x80 [ 56.924246] [] do_vfs_ioctl+0x72/0x570 [ 56.924257] [] ? sys_send+0x32/0x40 [ 56.924268] [] ? sys_socketcall+0x1d0/0x2a0 [ 56.924280] [] ? sysenter_exit+0xf/0x16 [ 56.924292] [] sys_ioctl+0x39/0x70 [ 56.924302] [] sysenter_do_call+0x12/0x31 Signed-off-by: Andrey Borzenkov Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5dc306f3bd1d4cfdf79df39221b3036eab1ddcf3 Author: Brian Cavagnolo Date: Fri Jan 16 19:04:49 2009 -0800 mac80211: decrement ref count to netdev after launching mesh discovery After launching mesh discovery in tx path, reference count was not being decremented. This was preventing module unload. Signed-off-by: Brian Cavagnolo Signed-off-by: Andrey Yurovsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2906f0258770d3a9c4e65364df8acc904e148bbe Author: Jesse Barnes Date: Tue Jan 20 19:10:54 2009 -0800 drm/i915: Fix cursor physical address choice to match the 2D driver. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 1bb88edb7a3769992026f34fd648bb459b0469aa Author: Eric Anholt Date: Thu Jan 15 01:16:25 2009 -0800 drm: stash AGP include under the do-we-have-AGP ifdef This fixes the MIPS with DRM build. Signed-off-by: Eric Anholt Tested-by: Martin Michlmayr Signed-off-by: Dave Airlie commit 4942f8b23b56a3f9a713d4436338710579329ffc Author: Jesse Barnes Date: Thu Jan 22 22:23:53 2009 +1000 drm: don't whine about not reading EDID data Make this message a little quieter, since it's common and not necessarily indicative of a problem. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 335041ed31d774391d9add49824d05e7d19d93e9 Author: Jesse Barnes Date: Thu Jan 22 22:22:06 2009 +1000 drm/i915: hook up LVDS DPMS property The LVDS output supports DPMS calls, but we never hooked up the property code, so set property calls didn't actually do anything. Implement a set_property callback for the LVDS output so that the right thing happens. Signed-off-by: Jesse Barnes commit ed2dd4b0cc1494c27478f4ea8452f68d2037a60c Author: Jesse Barnes Date: Thu Jan 22 22:21:16 2009 +1000 drm/i915: remove unnecessary debug output in KMS init We don't really need to print out the FB BAR... Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit e0c0e943af71c0f840a1f6a32a8cf0b61ebc61e5 Author: Takashi Iwai Date: Thu Jan 22 12:58:11 2009 +0100 ALSA: hda - Add model entry for HP dv4 Added model=hp-dv5 for HP dv4 (103c:30f7). Reference: kernel bug #12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai commit 0fcb44088970b18eaf2df4579d64840be6e3bf39 Author: Alexey Dobriyan Date: Thu Jan 22 11:16:42 2009 +0300 fs/Kconfig: move 9p out Signed-off-by: Alexey Dobriyan commit b2480c7fbfed172e6ec3ba1c8e80f05a3721b24a Author: Alexey Dobriyan Date: Thu Jan 22 11:16:02 2009 +0300 fs/Kconfig: move afs out Signed-off-by: Alexey Dobriyan commit 33a1a6fedf08bbcb4b4df74498d697e7a88d39f2 Author: Alexey Dobriyan Date: Thu Jan 22 11:15:06 2009 +0300 fs/Kconfig: move coda out Signed-off-by: Alexey Dobriyan commit 9d7d6447ef455f4561f63bf6e8f6bef58b42a0a3 Author: Alexey Dobriyan Date: Thu Jan 22 11:14:15 2009 +0300 fs/Kconfig: move the rest of ncpfs out Signed-off-by: Alexey Dobriyan commit 213a41d404d5ed16528df5aa0ed215adcb1e9d66 Author: Alexey Dobriyan Date: Thu Jan 22 11:13:16 2009 +0300 fs/Kconfig: move smbfs out Signed-off-by: Alexey Dobriyan commit 9098c24f35f7da6c89a83420acf21e3d7b35151d Author: Alexey Dobriyan Date: Thu Jan 22 11:11:56 2009 +0300 fs/Kconfig: move sunrpc out Signed-off-by: Alexey Dobriyan commit e2b329e2002685c1b0fa3c06caadc0936b7f507f Author: Alexey Dobriyan Date: Thu Jan 22 11:08:58 2009 +0300 fs/Kconfig: move nfsd out Signed-off-by: Alexey Dobriyan commit 97afe47ac378615d727fc2f0ffa1b58e9837f438 Author: Alexey Dobriyan Date: Thu Jan 22 11:07:41 2009 +0300 fs/Kconfig: move nfs out Signed-off-by: Alexey Dobriyan commit a276a52f9f1b1059bddade71df18ceb6481534a6 Author: Alexey Dobriyan Date: Thu Jan 22 11:05:02 2009 +0300 fs/Kconfig: move ufs out Signed-off-by: Alexey Dobriyan commit 8af915ba1d1eae1f9f31fa8c5db8040492dc4785 Author: Alexey Dobriyan Date: Thu Jan 22 11:04:23 2009 +0300 fs/Kconfig: move sysv out Signed-off-by: Alexey Dobriyan commit 41810246df2e65c66dc1f0da79b282a95b664fc7 Author: Alexey Dobriyan Date: Thu Jan 22 11:03:34 2009 +0300 fs/Kconfig: move romfs out Signed-off-by: Alexey Dobriyan commit 4c7415830c7ab465ff54ca7ffc20bfb1b59906c3 Author: Alexey Dobriyan Date: Thu Jan 22 11:02:21 2009 +0300 fs/Kconfig: move qnx4 out Signed-off-by: Alexey Dobriyan commit 928ea192959f188e6a4de95b293e3973887917b5 Author: Alexey Dobriyan Date: Thu Jan 22 11:01:26 2009 +0300 fs/Kconfig: move hpfs out Signed-off-by: Alexey Dobriyan commit da55e6f92830df9bba7c87438344479c60d44fdb Author: Alexey Dobriyan Date: Thu Jan 22 11:00:41 2009 +0300 fs/Kconfig: move omfs out Signed-off-by: Alexey Dobriyan commit 8b1cd7d3c5daaed6c4dec3697c1fc113eb817df0 Author: Alexey Dobriyan Date: Thu Jan 22 10:59:49 2009 +0300 fs/Kconfig: move minix out Signed-off-by: Alexey Dobriyan commit 22135169ddc536b1f7d7f070c7980fe4bcdaa20b Author: Alexey Dobriyan Date: Thu Jan 22 10:58:51 2009 +0300 fs/Kconfig: move vxfs out Signed-off-by: Alexey Dobriyan commit 22635ec9e0cb5afbc1eaa25495ae28da8416aac3 Author: Alexey Dobriyan Date: Thu Jan 22 10:57:46 2009 +0300 fs/Kconfig: move squashfs out Signed-off-by: Alexey Dobriyan commit 2a22783be0fbbd63599dd6aacf8bc2ddab941bf7 Author: Alexey Dobriyan Date: Thu Jan 22 10:56:54 2009 +0300 fs/Kconfig: move cramfs out Signed-off-by: Alexey Dobriyan commit 571f0a0bdeeb2d1692751b6c5df15dafb483c7ff Author: Alexey Dobriyan Date: Thu Jan 22 10:56:07 2009 +0300 fs/Kconfig: move efs out Signed-off-by: Alexey Dobriyan commit 0ff423849de3fe98c06d30a8ac73103c8741914c Author: Alexey Dobriyan Date: Thu Jan 22 10:55:13 2009 +0300 fs/Kconfig: move bfs out Signed-off-by: Alexey Dobriyan commit 0b09eb32985d5fbec567e83b18db3dec14d1fef9 Author: Alexey Dobriyan Date: Thu Jan 22 10:54:16 2009 +0300 fs/Kconfig: move befs out Signed-off-by: Alexey Dobriyan commit b08bac1f185b2281c3decb4f8e15e8f41f96e974 Author: Alexey Dobriyan Date: Thu Jan 22 10:53:24 2009 +0300 fs/Kconfig: move hfs, hfsplus out Signed-off-by: Alexey Dobriyan commit 295c896cb95de18004ef5e1b53f44c2ad001f936 Author: Alexey Dobriyan Date: Thu Jan 22 10:50:50 2009 +0300 fs/Kconfig: move ecryptfs out Signed-off-by: Alexey Dobriyan commit 10951bf05d952bf6d13094f66a0dccd11dec311e Author: Alexey Dobriyan Date: Thu Jan 22 10:49:44 2009 +0300 fs/Kconfig: move affs out Signed-off-by: Alexey Dobriyan commit bc2de2ae67177bc60bb9ab41c97ea4f827d52821 Author: Alexey Dobriyan Date: Thu Jan 22 10:48:46 2009 +0300 fs/Kconfig: move adfs out Signed-off-by: Alexey Dobriyan commit 4591dabe27ec0f7928fb73d93694698e21dc769e Author: Alexey Dobriyan Date: Thu Jan 22 10:42:52 2009 +0300 fs/Kconfig: move configfs out Signed-off-by: Alexey Dobriyan commit 5f3a211a8b02222498f134ea961fe29c97a4801f Author: Alexey Dobriyan Date: Thu Jan 22 10:40:58 2009 +0300 fs/Kconfig: move sysfs out Signed-off-by: Alexey Dobriyan commit 9d73ac9e8faffa3b930fcebbf4ebcd25f8061ada Author: Alexey Dobriyan Date: Thu Jan 22 10:39:20 2009 +0300 fs/Kconfig: move ntfs out Signed-off-by: Alexey Dobriyan commit 1c6ace019bce5e918a3d6cd53948652e14850644 Author: Alexey Dobriyan Date: Thu Jan 22 10:37:59 2009 +0300 fs/Kconfig: move fat out Signed-off-by: Alexey Dobriyan commit ddfaccd995b2d1bb1df4461ee9403ba9fdcbee04 Author: Alexey Dobriyan Date: Thu Jan 22 10:35:21 2009 +0300 fs/Kconfig: move iso9660, udf out Signed-off-by: Alexey Dobriyan commit 3ef7784e47975e31148c25b6fa795949fdc16d9c Author: Alexey Dobriyan Date: Thu Jan 22 10:33:25 2009 +0300 fs/Kconfig: move fuse out Signed-off-by: Alexey Dobriyan commit 90ffd467933eaf581e11fec51e7ba16fc9bd542d Author: Alexey Dobriyan Date: Thu Jan 22 10:31:56 2009 +0300 fs/Kconfig: move autofs, autofs4 out Signed-off-by: Alexey Dobriyan commit 335debee07f2d4187a6073d7764ed56bb2ae52f4 Author: Alexey Dobriyan Date: Thu Jan 22 10:27:30 2009 +0300 fs/Kconfig: move btrfs out Signed-off-by: Alexey Dobriyan commit 2fe4371dff3f1a5a1f7d91f1b090076954f4d17e Author: Alexey Dobriyan Date: Thu Jan 22 10:26:11 2009 +0300 fs/Kconfig: move ocfs2 out Signed-off-by: Alexey Dobriyan commit f5c77969b33cc5cbb4534289bf23cb1794f9d37c Author: Alexey Dobriyan Date: Thu Jan 22 10:24:27 2009 +0300 fs/Kconfig: move jfs out Signed-off-by: Alexey Dobriyan commit b16ecfe2f985f77901a36ee5a99c7d3400313341 Author: Alexey Dobriyan Date: Thu Jan 22 10:22:31 2009 +0300 fs/Kconfig: move reiserfs out Signed-off-by: Alexey Dobriyan commit 6552ebae25ffd57574c6e72d17fce67fea08b918 Merge: 749a440... 336f6c3... Author: Thomas Gleixner Date: Thu Jan 22 10:03:02 2009 +0100 Merge branch 'core/debugobjects' into core/urgent commit 336f6c322d87806ef93afad6308ac65083a865e5 Author: Thomas Gleixner Date: Thu Jan 22 09:50:44 2009 +0100 debugobjects: add and use INIT_WORK_ON_STACK Impact: Fix debugobjects warning debugobject enabled kernels spit out a warning in hpet code due to a workqueue which is initialized on stack. Add INIT_WORK_ON_STACK() which calls init_timer_on_stack() and use it in hpet. Signed-off-by: Thomas Gleixner commit 749a440b2218e9937dca8c68e23e51ca4d8d37fe Author: Lai Jiangshan Date: Thu Jan 22 09:46:38 2009 +0800 rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR Impact: remove the old CONFIG_RCU_CPU_STALL_DETECTOR tree_rcu introduce CONFIG_RCU_CPU_STALL_DETECTOR again. These two are the same exactly except: the old one "depends on CLASSIC_RCU" the new one "depends on CLASSIC_RCU || TREE_RCU" This patch remove the old one. Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 066941bd4eeb159307a5d7d795100d0887c00442 Author: H. Peter Anvin Date: Wed Jan 21 15:04:32 2009 -0800 x86: unmask CPUID levels on Intel CPUs Impact: Fixes crashes with misconfigured BIOSes on XSAVE hardware Avuton Olrich reported early boot crashes with v2.6.28 and bisected it down to dc1e35c6e95e8923cf1d3510438b63c600fee1e2 ("x86, xsave: enable xsave/xrstor on cpus with xsave support"). If the CPUID limit bit in MSR_IA32_MISC_ENABLE is set, clear it to make all CPUID information available. This is required for some features to work, in particular XSAVE. Reported-and-bisected-by: Avuton Olrich Tested-by: Avuton Olrich Signed-off-by: H. Peter Anvin commit 260883c85611d3a7e27130af9aef15252856e14f Author: Dave Airlie Date: Thu Jan 22 17:58:49 2009 +1000 i915: fix freeing path for gem phys objects. This off-by-one was pointed out by Jesse Barnes. Signed-off-by: Dave Airlie commit ad2563c2e42fc67b0976aeb70e9f3faf1c1196e8 Author: Jesse Barnes Date: Mon Jan 19 17:21:45 2009 +1000 drm: create mode_config idr lock Create a separate mode_config IDR lock for simplicity. The core DRM config structures (connector, mode, etc. lists) are still protected by the mode_config mutex, but the CRTC IDR (used for the various identifier IDs) is now protected by the mode_config idr_mutex. Simplifies the locking a bit and removes a warning. All objects are protected by the config mutex, we may in the future, split the object further to have reference counts. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 74e2d06521913443c7e2697037909f5efc200ec5 Author: Dave Chinner Date: Wed Jan 21 15:22:17 2009 +1100 Long btree pointers are still 64 bit on disk [XFS] Long btree pointers are still 64 bit on disk On 32 bit machines with CONFIG_LBD=n, XFS reduces the in memory size of xfs_fsblock_t to 32 bits so that it will fit within 32 bit addressing. However, the disk format for long btree pointers are still 64 bits in size. The recent btree rewrite failed to take this into account when initialising new btree blocks, setting sibling pointers to NULL and checking if they are NULL. Hence checking whether a 64 bit NULL was the same as a 32 bit NULL was failingi resulting in NULL sibling pointers failing to be detected correctly. This showed up as WANT_CORRUPTED_GOTO shutdowns in xfs_btree_delrec. Fix this by making all the comparisons and setting of long pointer btree NULL blocks to the disk format, not the in memory format. i.e. use NULLDFSBNO. Reported-by: Alexander Beregalov Reported-by: Jacek Luczak Reported-by: Danny ter Haar Tested-by: Jacek Luczak Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner Signed-off-by: Felix Blyakher commit bdf21a49bab28f0d9613e8d8724ef9c9168b61b9 Author: H. Peter Anvin Date: Wed Jan 21 15:01:56 2009 -0800 x86: add MSR_IA32_MISC_ENABLE bits to Impact: None (new bit definitions currently unused) Add bit definitions for the MSR_IA32_MISC_ENABLE MSRs to . Signed-off-by: H. Peter Anvin commit 20d5a39929232a715f29e6cb7e3f0d0c790f41eb Author: Jeff Layton Date: Wed Jan 21 11:34:50 2009 -0500 dlm: initialize file_lock struct in GETLK before copying conflicting lock dlm_posix_get fills out the relevant fields in the file_lock before returning when there is a lock conflict, but doesn't clean out any of the other fields in the file_lock. When nfsd does a NFSv4 lockt call, it sets the fl_lmops to nfsd_posix_mng_ops before calling the lower fs. When the lock comes back after testing a lock on GFS2, it still has that field set. This confuses nfsd into thinking that the file_lock is a nfsd4 lock. Fix this by making DLM reinitialize the file_lock before copying the fields from the conflicting lock. Signed-off-by: Jeff Layton Signed-off-by: David Teigland commit 24179f488092267c9a033d7e25ce7a58af50ff79 Author: David Teigland Date: Mon Jan 19 13:13:33 2009 -0600 dlm: fix plock notify callback to lockd We should use the original copy of the file_lock, fl, instead of the copy, flc in the lockd notify callback. The range in flc has been modified by posix_lock_file(), so it will not match a copy of the lock in lockd. Signed-off-by: David Teigland commit 6d317482944250228255bcbe97a95b7e7ad9a538 Author: Christian Eggers Date: Wed Jan 21 12:56:24 2009 -0800 usb/mcs7830: Don't use buffers from stack for USB transfers mcs7830_set_reg() and mcs7830_get_reg() are called with buffers from stack which must not be used directly for USB transfers. This causes corruption of the stack particulary on non x86 architectures because DMA may be used for these transfers. Signed-off-by: Christian Eggers Acked-by: Arnd Bergmann Signed-off-by: David S. Miller commit 0b491eee46012772cbf029450d123e933c2e7940 Author: Steve Glendinning Date: Wed Jan 21 12:35:43 2009 -0800 usbnet: allow type check of devdbg arguments in non-debug build Improve usbnet's devdbg to always type-check diagnostic arguments, like dev_dbg (device.h). This makes no change to the resulting size of usbnet modules. This patch also removes an #ifdef DEBUG directive from rndis_wlan so it's devdbg statements are always type-checked at compile time. Signed-off-by: Steve Glendinning Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 748085fcbedbf7b0f38d95e178265d7b13360b44 Author: Patrick McHardy Date: Wed Jan 21 12:19:49 2009 -0800 netfilter: ctnetlink: fix scheduling while atomic Caused by call to request_module() while holding nf_conntrack_lock. Reported-and-tested-by: Kövesdi György Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9597134218300c045cf219be3664615e97cb239c Author: Suresh Siddha Date: Tue Jan 13 10:21:30 2009 -0800 x86: fix PTE corruption issue while mapping RAM using /dev/mem Beschorner Daniel reported: > hwinfo problem since 2.6.28, showing this in the oops: > Corrupted page table at address 7fd04de3ec00 Also, PaX Team reported a regression with this commit: > commit 9542ada803198e6eba29d3289abb39ea82047b92 > Author: Suresh Siddha > Date: Wed Sep 24 08:53:33 2008 -0700 > > x86: track memtype for RAM in page struct This commit breaks mapping any RAM page through /dev/mem, as the reserve_memtype() was not initializing the return attribute type and as such corrupting the PTE entry that was setup with the return attribute type. Because of this bug, application mapping this RAM page through /dev/mem will die with "Corrupted page table at address xxxx" message in the kernel log and also the kernel identity mapping which maps the underlying RAM page gets converted to UC. Fix this by initializing the return attribute type before calling reserve_ram_pages_type() Reported-by: PaX Team Reported-and-tested-by: Beschorner Daniel Tested-and-Acked-by: PaX Team Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 86528da229a448577a8401a17c295883640d336c Author: Guennadi Liakhovetski Date: Wed Jan 21 10:32:34 2009 -0700 i.MX31: framebuffer driver This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous displays, vertical panning supported, no overlay support. Acked-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit c475146d8f3b97e79f9ef88521e28ad40ac07de6 Author: Jan Kara Date: Mon Jan 12 17:44:34 2009 +0100 ocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop() Since ->acquire_dquot and ->release_dquot callbacks aren't called under dqptr_sem anymore, we don't have to start a transaction and obtain locks so early. So we can just remove all this complicated stuff. Signed-off-by: Jan Kara Acked-by: Mark Fasheh commit 731f1872f4e8a0f1eabd49c3548207e79a421202 Author: Thomas Renninger Date: Tue Jan 20 10:37:39 2009 +0100 x86: mtrr fix debug boot parameter while looking at: http://bugzilla.kernel.org/show_bug.cgi?id=11541 I realized that the mtrr.show param cannot work, because the code is processed much too early. This patch: - Declares mtrr.show as early_param - Stays consistent with the previous param (which I doubt that it ever worked), so mtrr.show=1 would still work - Declares mtrr_show as initdata Signed-off-by: Thomas Renninger Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit a1e46212a410793d575718818e81ddc442a65283 Author: Suresh Siddha Date: Tue Jan 20 14:20:21 2009 -0800 x86: fix page attribute corruption with cpa() Impact: fix sporadic slowdowns and warning messages This patch fixes a performance issue reported by Linus on his Nehalem system. While Linus reverted the PAT patch (commit 58dab916dfb57328d50deb0aa9b3fc92efa248ff) which exposed the issue, existing cpa() code can potentially still cause wrong(page attribute corruption) behavior. This patch also fixes the "WARNING: at arch/x86/mm/pageattr.c:560" that various people reported. In 64bit kernel, kernel identity mapping might have holes depending on the available memory and how e820 reports the address range covering the RAM, ACPI, PCI reserved regions. If there is a 2MB/1GB hole in the address range that is not listed by e820 entries, kernel identity mapping will have a corresponding hole in its 1-1 identity mapping. If cpa() happens on the kernel identity mapping which falls into these holes, existing code fails like this: __change_page_attr_set_clr() __change_page_attr() returns 0 because of if (!kpte). But doesn't set cpa->numpages and cpa->pfn. cpa_process_alias() uses uninitialized cpa->pfn (random value) which can potentially lead to changing the page attribute of kernel text/data, kernel identity mapping of RAM pages etc. oops! This bug was easily exposed by another PAT patch which was doing cpa() more often on kernel identity mapping holes (physical range between max_low_pfn_mapped and 4GB), where in here it was setting the cache disable attribute(PCD) for kernel identity mappings aswell. Fix cpa() to handle the kernel identity mapping holes. Retain the WARN() for cpa() calls to other not present address ranges (kernel-text/data, ioremap() addresses) Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Cc: Signed-off-by: Ingo Molnar commit 0609697eab9775564845d4c94f9e3780fb791ffd Author: Paul Mundt Date: Wed Jan 21 18:51:53 2009 +0900 dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy. When doing large allocations (larger than the per-device coherent area) the generic memory allocators are silently fallen back on regardless of consideration for the per-device constraints. In the DMA_MEMORY_EXCLUSIVE case falling back on generic memory is not an option, as it tends not to be addressable by the DMA hardware in question. This issue showed up with the 8139too breakage on the Dreamcast, where non-addressable buffers were silently allocated due to the size mismatch calculation -- while it should have simply errored out upon being unable to satisfy the allocation with the given device constraints. This restores fall back behaviour to what it was before the oversized request change caused multiple regressions. Signed-off-by: Paul Mundt commit cdf57cab27aef72f13a19c86858c6cac9951dc24 Author: Adrian McMenamin Date: Wed Jan 21 18:47:38 2009 +0900 dma-coherent: per-device coherent area is in pages, not bytes. Commit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da ("dma-coherent: catch oversized requests to dma_alloc_from_coherent()") attempted to add a sanity check to bail out on allocations larger than the coherent area. Unfortunately when this was implemented, the fact the coherent area is tracked in pages rather than bytes was overlooked, which subsequently broke every single dma_alloc_from_coherent() user, forcing the allocation silently through generic memory instead. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 2afb447f33c29cb000a494396559f8005d3e33c1 Author: SUGIOKA Toshinobu Date: Wed Jan 21 09:42:10 2009 +0900 sh: fix unaligned and nonexistent address handling unaligned and nonexistent address causes wrong exception handling in traps_32.c(handle_unaligned_access). 'handle_unalinged_ins' should return -EFAULT if address error is fixed up with kernel exception table, otherwise 'handle_unaligned_access' increases already fixed program counter and then crash. for example ioctl(fd, TCGETA, (struct termio *)-1) never return and stay in TASK_UNINTERRUPTIBLE state forever in my kernel. Signed-off-by: SUGIOKA Toshinobu Signed-off-by: Paul Mundt commit eb6434d9e79a72d35d68811efd68fe8bab8f5baf Author: Paul Mundt Date: Wed Jan 21 17:45:47 2009 +0900 nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases(). Presently we do not support these interfaces, so make them BUG() wrappers as per the rest of the vmap interface on nommu. Fixes up the modular xfs build. Signed-off-by: Paul Mundt commit f686359e0da5ae71459ee045646a5f508f9ff6d8 Author: Magnus Damm Date: Tue Jan 20 12:18:22 2009 +0900 sh: fix sh-sci / early printk build on sh7723 This patch adds the SCSPTR register to the sh-sci driver in the case of sh7723 to make sure early printk builds properly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3442c0d627985778ef275985831f8fdb5d626c25 Author: Magnus Damm Date: Thu Dec 25 18:55:26 2008 +0900 sh: export the sh7343 JPU to user space This patch exports the sh7343 JPU to user space using uio_pdrv_genirq, very similar to the sh7722 JPU patch by Hayama-san. While at it fix up the end of the sh7722 JPU iomem resource. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5e8766f1c1f747522350eba385c584a862f47e4c Author: Paul Mundt Date: Tue Jan 13 12:38:06 2009 +0900 sh: update defconfigs. Signed-off-by: Paul Mundt commit fd88cac90587a456eb944bf794634229553c11b9 Author: Paul Mundt Date: Fri Jan 9 16:32:08 2009 +0900 serial: sh-sci: Fix up SH7720/SH7721 SCI build. Missing definitions for PORT_xxx defs. Signed-off-by: Paul Mundt commit e16038aba3daee694b318fc7a7b4db74a485cde5 Author: Paul Mundt Date: Fri Jan 9 15:12:30 2009 +0900 sh: Kill off obsolete busses from arch/sh/Kconfig. ISA can go away now that the hd6446x PCMCIA drivers no longer exist in-tree. The rationale for enabling CONFIG_ISA in the first place is likewise no longer valid given that the subsystem has changed since the time that assertion was valid. While we are at it, kill off SBUS, MCA, EISA, and so on. These are not supported and never will be. Signed-off-by: Paul Mundt commit 604437f0f8ce1d66d4bdaa0d932949688d847d96 Author: Paul Mundt Date: Fri Jan 9 15:11:58 2009 +0900 sh: sh7785lcr/highlander/hp6xx need linux/irq.h. More build fixes.. Signed-off-by: Paul Mundt commit 70e5c4f0843c3021a2e95b46edd8925a885d2e31 Author: Magnus Damm Date: Wed Jan 7 20:36:10 2009 +0900 sh: Migo-R MMC support using spi_gpio and mmc_spi. This patch adds CN9 MMC support for MigoR using the mmc_spi driver on top of the bitbanging spi_gpio driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 552b8aa4d1edcc1c764ff6f61a7686347a2d1827 Author: Ingo Molnar Date: Tue Jan 20 09:31:49 2009 +0100 Revert "x86: signal: change type of paramter for sys_rt_sigreturn()" This reverts commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191. Justin Madru bisected this commit, it was causing weird Firefox crashes. The reason is that GCC mis-optimizes (re-uses) the on-stack parameters of the calling frame, which corrupts the syscall return pt_regs state and thus corrupts user-space register state. So we go back to the slightly less clean but more optimization-safe method of getting to pt_regs. Also add a comment to explain this. Resolves: http://bugzilla.kernel.org/show_bug.cgi?id=12505 Reported-and-bisected-by: Justin Madru Tested-by: Justin Madru Signed-off-by: Ingo Molnar commit e0a96129db574d6365e3439d16d88517c437ab33 Author: Andi Kleen Date: Fri Jan 16 15:22:11 2009 +0100 x86: use early clobbers in usercopy*.c Impact: fix rare (but currently harmless) miscompile with certain configs and gcc versions Hugh Dickins noticed that strncpy_from_user() was miscompiled in some circumstances with gcc 4.3. Thanks to Hugh's excellent analysis it was easy to track down. Hugh writes: > Try building an x86_64 defconfig 2.6.29-rc1 kernel tree, > except not quite defconfig, switch CONFIG_PREEMPT_NONE=y > and CONFIG_PREEMPT_VOLUNTARY off (because it expands a > might_fault() there, which hides the issue): using a > gcc 4.3.2 (I've checked both openSUSE 11.1 and Fedora 10). > > It generates the following: > > 0000000000000000 <__strncpy_from_user>: > 0: 48 89 d1 mov %rdx,%rcx > 3: 48 85 c9 test %rcx,%rcx > 6: 74 0e je 16 <__strncpy_from_user+0x16> > 8: ac lods %ds:(%rsi),%al > 9: aa stos %al,%es:(%rdi) > a: 84 c0 test %al,%al > c: 74 05 je 13 <__strncpy_from_user+0x13> > e: 48 ff c9 dec %rcx > 11: 75 f5 jne 8 <__strncpy_from_user+0x8> > 13: 48 29 c9 sub %rcx,%rcx > 16: 48 89 c8 mov %rcx,%rax > 19: c3 retq > > Observe that "sub %rcx,%rcx; mov %rcx,%rax", whereas gcc 4.2.1 > (and many other configs) say "sub %rcx,%rdx; mov %rdx,%rax". > Isn't it returning 0 when it ought to be returning strlen? The asm constraints for the strncpy_from_user() result were missing an early clobber, which tells gcc that the last output arguments are written before all input arguments are read. Also add more early clobbers in the rest of the file and fix 32-bit usercopy.c in the same way. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin [ since this API is rarely used and no in-kernel user relies on a 'len' return value (they only rely on negative return values) this miscompile was never noticed in the field. But it's worth fixing it nevertheless. ] Signed-off-by: Ingo Molnar commit fbdd9a70c21002c6ce50cd653380641a8b575eff Author: Magnus Damm Date: Wed Jan 7 20:35:21 2009 +0900 sh: ap325rxa MMC support using spi_gpio and mmc_spi This patch adds CN3 MMC support for ap325rxa using the mmc_spi driver on top of the bitbanging spi_gpio driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 10f0fc17f54527520959298f947c9b9e80643f84 Author: Paul Mundt Date: Wed Jan 7 17:45:02 2009 +0900 sh: mach-x3proto: needs linux/irq.h. Since commit ba84be2338d3a2b6020d39279335bb06fcd332e1 ("remove linux/hardirq.h from asm-generic/local.h"), the asm/irq.h definitions that mach-x3proto/setup.c depends on are no longer available, causing the build to die. So, include linux/irq.h explicitly. Signed-off-by: Paul Mundt commit 5e6136135d4f50fda6699498185c6dffe08d7891 Author: Paul Mundt Date: Wed Jan 7 17:42:32 2009 +0900 sh: Drop the BKL from sys_execve() on SH-5. Brings it in line with the SH implementation, the BKL is not necessary here. Signed-off-by: Paul Mundt commit 8ed3592e567db7344b2c7353667e0d281cd13471 Author: Steve Glendinning Date: Wed Jan 7 17:22:24 2009 +0900 sh: convert rsk7203 to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 02da916ae69889f72ca026d759fe521094ba7065 Author: Steve Glendinning Date: Wed Jan 7 17:21:29 2009 +0900 sh: convert magicpanelr2 platform to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 90b764916abedbebe62ac41b2e4a3fc3e2b82f9b Author: Steve Glendinning Date: Wed Jan 7 17:20:07 2009 +0900 sh: convert ap325rxa platform to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit deae7b860a5aca341410b72cca789589c5c93ce4 Author: Kuninori Morimoto Date: Mon Jan 5 16:25:16 2009 +0900 sh: mach-migor: Add tw9910 support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b9afb0bae5411faadc0afcfbaa8ef0035fc0e8f8 Author: Kuninori Morimoto Date: Tue Dec 2 16:42:24 2008 +0900 sh: mach-migor: Delete soc_camera_platform setup. Migo-R can use ov772x camera driver in Linux 2.6.29. Therefore, soc_camera_platform setting is no longer needed. This patch removes it. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit ff04ea40ea3037b26d01bdeacbab1d6c15c5df61 Author: Kuninori Morimoto Date: Tue Dec 2 16:38:34 2008 +0900 sh: mach-migor: Add ov772x support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c2bcc4a7ffa7438a8ded91fbd0313c50d420ff45 Author: Mike Frysinger Date: Fri Jan 2 02:52:57 2009 -0500 asm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage Bring sh in line with all the other ports. Not sure how sh missed this change as all the other arches were being updated ... Signed-off-by: Mike Frysinger Signed-off-by: Paul Mundt commit 7bfa122c19e47b1dee47476ce6e9ed6ba16f8269 Author: Julia Lawall Date: Fri Dec 26 08:27:24 2008 +0100 arch/sh/mm: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). // @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if (E == NULL) S f(...,E->fld,...); - if (E == NULL) S @@ identifier f; expression E; identifier fld; statement S; @@ + if (!E) S f(...,E->fld,...); - if (!E) S // Signed-off-by: Julia Lawall Signed-off-by: Paul Mundt commit c0e69a5bbc6fc74184aa043aadb9a53bc58f953b Author: Jesper Nilsson Date: Wed Jan 14 11:19:08 2009 +0100 klist.c: bit 0 in pointer can't be used as flag The commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86 (klist: don't iterate over deleted entries) introduces use of the low bit in a pointer to indicate if the knode is dead or not, assuming that this bit is always free. This is not true for all architectures, CRIS for example may align data on byte borders. The result is a bunch of warnings on bootup, devices not being added correctly etc, reported by Hinko Kocevar : ------------[ cut here ]------------ WARNING: at lib/klist.c:62 () Modules linked in: Stack from c1fe1cf0: c01cc7f4 c1fe1d11 c000eb4e c000e4de 00000000 00000000 c1f4f78f c1f50c2d c01d008c c1fdd1a0 c1fdd1a0 c1fe1d38 c0192954 c1fe0000 00000000 c1fe1dc0 00000002 7fffffff c1fe1da8 c0192d50 c1fe1dc0 00000002 7fffffff c1ff9fcc Call Trace: [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] <4>---[ end trace 4eaa2a86a8e2da22 ]--- ------------[ cut here ]------------ Repeat ad nauseam. Wed, Jan 14, 2009 at 12:11:32AM +0100, Bastien ROUCARIES wrote: > Perhaps using a pointerhackalign trick on this structure where > #define pointerhackalign(x) __attribute__ ((aligned (x))) > and declare > struct klist_node { > ... > } pointerhackalign(2); > > Because __attribute__ ((aligned (x))) could only increase alignment > it will safe to do that and serve as documentation purpose :) That works, but we need to do it not for the struct klist_node, but for the struct we insert into the void * in klist_node, which is struct klist. Reported-by: Hinko Kocevar Signed-off-by: Jesper Nilsson Cc: stable Signed-off-by: Greg Kroah-Hartman commit 8adb711f3668b034e7b956fac951ed08b53e0d55 Author: Inaky Perez-Gonzalez Date: Tue Jan 20 12:17:28 2009 -0800 debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n Toralf Förster reported a build failure in the WiMAX stack when CONFIG_DEBUG_FS=n http://linuxwimax.org/pipermail/wimax/2009-January/000449.html This is due to debugfs_create_size_t() missing an stub that returns -ENODEV when the DEBUGFS subsystem is not configured in (like the rest of the debugfs API). This patch adds said stub. Reported-by: Toralf Förster Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 4503efd0891c40e30928afb4b23dc3f99c62a6b2 Author: Greg Kroah-Hartman Date: Tue Jan 20 15:51:16 2009 -0800 sysfs: fix problems with binary files Some sysfs binary files don't like having 0 passed to them as a size. Fix this up at the root by just returning to the vfs if userspace asks us for a zero sized buffer. Thanks to Pavel Roskin for pointing this out. Reported-by: Pavel Roskin Signed-off-by: Greg Kroah-Hartman commit 72638f598ec9f05a43fcb22dc1dd8dc34c43acc1 Author: Kay Sievers Date: Thu Jan 8 03:06:42 2009 +0100 PNP: fix broken pnp lowercasing for acpi module aliases Based on a patch from Brian, who identified the issue. Signed-off-by: Bryan Kadzban Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7143f7a1a3603002e4ef3719fa92e8dd6e607099 Author: Roland Dreier Date: Fri Jan 9 22:27:42 2009 -0800 driver core: Convert '/' to '!' in dev_set_name() Commit 3ada8b7e ("block: struct device - replace bus_id with dev_name(), dev_set_name()") deleted the code in register_disk() that changed a '/' to a '!' in the device name when registering a disk, but dev_set_name() does not perform this conversion. This leads to amusing problems with disks that have '/' in their names: for example a failure to boot with the root partition on a cciss device, even though the kernel says it knows about the root device: VFS: Cannot open root device "cciss/c0d0p6" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: 6800 71652960 cciss/c0d0 driver: cciss 6802 1 cciss/c0d0p2 6805 2931831 cciss/c0d0p5 6806 34354908 cciss/c0d0p6 6810 71652960 cciss/c0d1 driver: cciss Fix this by adding code to change '/' to '!' in dev_set_name() to handle this until dev_set_name() is converted to use kobject_set_name(). Signed-off-by: Roland Dreier Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 65557f350749e11d51d15dee759d6e04f290e256 Author: Matthew Ranostay Date: Tue Jan 20 16:50:25 2009 -0500 ALSA: hda: 83xxx port 0xe DAC selection On the 92hd8xxx codecs port 0xe needs the connection selected to be the last DAC in the list. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 37fe4732b978eb02e5433387a40f2b61706cebe3 Author: Herbert Xu Date: Sat Jan 17 19:48:13 2009 +0000 gro: Fix merging of paged packets The previous fix to paged packets broke the merging because it reset the skb->len before we added it to the merged packet. This wasn't detected because it simply resulted in the truncation of the packet while the missing bit is subsequently retransmitted. The fix is to store skb->len before we clobber it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9a8e47ffd95608f0768e1a8a0225c822aa53aa9b Author: Herbert Xu Date: Sat Jan 17 19:47:18 2009 +0000 gro: Fix error handling on extremely short frags When a frag is shorter than an Ethernet header, we'd return a zeroed packet instead of aborting. This patch fixes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ebad18e93fbc6bc63ee734edbc0eb38ac6b919c0 Author: Herbert Xu Date: Sat Jan 17 19:46:16 2009 +0000 gro: Fix handling of complete checksums in IPv6 We need to perform skb_postpull_rcsum after pulling the IPv6 header in order to maintain the correctness of the complete checksum. This patch also adds a missing iph reload after pulling. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0d1cfd20cc5f785d5345d249d4b6a6f84b29e6a6 Author: roel kluin Date: Sat Jan 17 11:14:31 2009 +0000 via-velocity: fix hot spin while(--j >= 0) keeps spinning when j is unsigned: Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e3fd553468738e0342cbd82a63ede00c983a0eb4 Author: Brice Goglin Date: Sat Jan 17 08:27:19 2009 +0000 myri10ge: don't forget pci_disable_device() Don't forget to call pci_disable_device() in myri10ge_remove() and when myri10ge_probe() fails. By the way, update the copyright years. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 357f5b0b91054ae23385ea4b0634bb8b43736e83 Author: Jiri Slaby Date: Sat Jan 17 06:47:12 2009 +0000 NET: net_namespace, fix lock imbalance register_pernet_gen_subsys omits mutex_unlock in one fail path. Fix it. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit 518aa1b5443c8a36300c20a5473df01fb8975dad Merge: 66f9a25... 6747430... Author: David S. Miller Date: Tue Jan 20 14:37:10 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 8a9dee59a345f96757dd45699de1c4182d8bf9a9 Author: Timur Tabi Date: Mon Jan 19 17:14:24 2009 -0600 ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers The Freescale MPC8610 driver was defining two SOC card (snd_soc_card) structures, partially initializing each one, but registering only one of them with ASoC. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 66f9a2590aa87dc77cddaeaf46177de76edd2339 Author: David S. Miller Date: Tue Jan 20 09:49:51 2009 -0800 Revert "xfrm: For 32/64 compatability wrt. xfrm_usersa_info" This reverts commit fc8c7dc1b29560c016a67a34ccff32a712b5aa86. As indicated by Jiri Klimes, this won't work. These numbers are not only used the size validation, they are also used to locate attributes sitting after the message. Signed-off-by: David S. Miller commit fcd26f7ae2ea5889134e8b3d60a42ce8b993c95f Author: David S. Miller Date: Mon Jan 19 22:44:04 2009 -0800 sparc64: Fix DAX handling via userspace access from kernel. If we do a userspace access from kernel mode, and get a data access exception, we need to check the exception table just like a normal fault does. The spitfire DAX handler was doing this, but such logic was missing from the sun4v DAX code. Reported-by: Dennis Gilmore Signed-off-by: David S. Miller commit e42650196df34789c825fa83f8bb37a5d5e52c14 Author: David S. Miller Date: Mon Jan 19 21:11:27 2009 -0800 sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() Signed-off-by: David S. Miller commit 67605d6812691bbd2158d2f60259e0407611bc1b Author: Christian Borntraeger Date: Mon Jan 19 20:21:49 2009 -0800 [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit sparc64 needs sign-extended function parameters. We have to enable the system call wrappers. Signed-off-by: Christian Borntraeger Signed-off-by: David S. Miller commit f4895b8bc83a22a36446c4aee277e1750fcc6a18 Author: Inaky Perez-Gonzalez Date: Mon Jan 19 13:19:30 2009 +0000 wimax/i2400m: error paths that need to free an skb should use kfree_skb() Roel Kluin reported a bug in two error paths where skbs were wrongly being freed using kfree(). He provided a fix where it was replaced to kfree_skb(), as it should be. However, in i2400mu_rx(), the error path was missing returning an indication of the failure. Changed to reset rx_skb to NULL and return it to the caller, i2400mu_rxd(). It will be treated as a transient error and just ignore the packet. Depending on the buffering conditions inside the device, the data packet might be dropped or the device will signal the host again for data-ready-to-read and the host will retry. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit fe65e704534de5d0661ebc3466a2b9018945f694 Author: Gabriel Paubert Date: Mon Jan 19 17:18:09 2009 -0800 mv643xx_eth: prevent interrupt storm on ifconfig down Contrary to what the docs say, the 'extended interrupt cause' bit in the interrupt cause register (bit 1) appears to not be maskable on at least some of the mv643xx_eth platforms, making writing zeroes to the interrupt mask register but not the extended interrupt mask register insufficient to stop interrupts from occuring. Therefore, also write zeroes to the extended interrupt mask register when shutting down the port. This fixes the interrupt storm seen on the Pegasos board when shutting down the interface. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 2b448334a255d34401562229f467ffd95d8ed6ef Author: Lennert Buytenhek Date: Mon Jan 19 17:17:18 2009 -0800 mv643xx_eth: fix multicast filter programming Commit 66e63ffbc04706568d8789cbb00eaa8ddbcae648 ("mv643xx_eth: implement ->set_rx_mode()") cleaned up mv643xx_eth's multicast filter programming, but broke it as well. The non-special multicast filter table (for multicast addresses that are not of the form 01:00:5e:00:00:xx) consists of 256 hash table buckets organised as 64 32-bit words, where the 'accept' bits are in the LSB of each byte, so in bits 24 16 8 0 of each 32-bit word. The old code got this right, but the referenced commit broke this by using bits 3 2 1 0 instead. This commit fixes this up. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit e0c6ef9388b58f297937fc9651331941d1579b25 Author: Lennert Buytenhek Date: Mon Jan 19 17:16:00 2009 -0800 Revert "mv643xx_eth: use longer DMA bursts". This reverts commit cd4ccf76bfd2c36d351e68be7e6a597268f98a1a. On the Pegasos board, we can't do DMA burst that are longer than one cache line. For now, go back to using 32 byte DMA bursts for all mv643xx_eth platforms -- we can switch the ARM-based platforms back to doing long 128 byte bursts in the next development cycle. Signed-off-by: Lennert Buytenhek Reported-by: Alan Curry Reported-by: Gabriel Paubert Signed-off-by: David S. Miller commit 8b9d3728977760f6bd1317c4420890f73695354e Author: Jarek Poplawski Date: Mon Jan 19 17:03:56 2009 -0800 net: Fix data corruption when splicing from sockets. The trick in socket splicing where we try to convert the skb->data into a page based reference using virt_to_page() does not work so well. The idea is to pass the virt_to_page() reference via the pipe buffer, and refcount the buffer using a SKB reference. But if we are splicing from a socket to a socket (via sendpage) this doesn't work. The from side processing will grab the page (and SKB) references. The sendpage() calls will grab page references only, return, and then the from side processing completes and drops the SKB ref. The page based reference to skb->data is not enough to keep the kmalloc() buffer backing it from being reused. Yet, that is all that the socket send side has at this point. This leads to data corruption if the skb->data buffer is reused by SLAB before the send side socket actually gets the TX packet out to the device. The fix employed here is to simply allocate a page and copy the skb->data bytes into that page. This will hurt performance, but there is no clear way to fix this properly without a copy at the present time, and it is important to get rid of the data corruption. With fixes from Herbert Xu. Tested-by: Willy Tarreau Foreseen-by: Changli Gao Diagnosed-by: Willy Tarreau Reported-by: Willy Tarreau Fixed-by: Jens Axboe Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 9e9fd12dc0679643c191fc9795a3021807e77de4 Author: Matt Carlson Date: Mon Jan 19 16:57:45 2009 -0800 tg3: Fix firmware loading This patch modifies how the tg3 driver handles device firmware. The patch starts by consolidating David Woodhouse's earlier patch under the same name. Specifically, the patch moves the request_firmware call into a separate tg3_request_firmware() function and calls that function from tg3_open() rather than tg3_init_one(). The patch then goes on to limit the number of devices that will make request_firmware calls. The original firmware patch unnecessarily requested TSO firmware for devices that did not need it. This patch reduces the set of devices making TSO firmware patches to approximately the following device set : 5703, 5704, and 5705. Finally, the patch reduces the effects of a request_firmware() failure. For those devices that are requesting TSO firmware, the driver will turn off the TSO capability. If TSO firmware becomes available at a later time, the device can be closed and then opened again to reacquire the TSO capability. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1da100bb47ef32cb43bb6a365f64183898f830b5 Author: Peter P Waskiewicz Jr Date: Mon Jan 19 16:55:03 2009 -0800 ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}() netif_carrier_off() is sufficient to stop Tx into the driver. Stopping the Tx queues is redundant and unnecessary. By the same token, netif_carrier_on() will be sufficient to re-enable Tx, so waking the queues is unnecessary. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 068c89b014ebd27b1c09c3c772e9d982988e7786 Author: Don Skidmore Date: Mon Jan 19 16:54:36 2009 -0800 ixgbe: fix tag stripping for VLAN ID 0 Register VLAN ID 0 so that frames with VLAN ID 0 are received and get their tag stripped when ixgbe is not in DCB mode. VLAN ID 0 means that the frame is 'priority tagged' only - it is not a VLAN, but the priority value is the tag in valid. The functions ixgbe_vlan_rx_register() and ixgbe_vlan_rx_kill_vid() were moved up a couple functions to correct compiling issues with this change. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Eric W Multanen Signed-off-by: David S. Miller commit 15005a320473b8d3676b878deb29bbe738ef9027 Author: Don Skidmore Date: Mon Jan 19 16:54:13 2009 -0800 ixgbe: fix dca issue with relaxed ordering turned on The is an issue where setting Relaxed Ordering (RO) bit (in a PCI-E write transaction) on 82598 causing the chipset to drop DCA hints. This patch forces RO not to be set for descriptors as well as payload. This will only be in effect while DCA is enabled and no performance difference was noticed in testing. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 67fd1a731ff1a990d4da7689909317756e50cb4d Author: Herbert Xu Date: Mon Jan 19 16:26:44 2009 -0800 net: Add debug info to track down GSO checksum bug I'm trying to track down why people're hitting the checksum warning in skb_gso_segment. As the problem seems to be hitting lots of people and I can't reproduce it or locate the bug, here is a patch to print out more details which hopefully should help us to track this down. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e85bf47e6ded66ea138f692fe149c00a4998afe8 Author: Phil Sutter Date: Thu Jan 15 12:29:57 2009 +0000 korina: drop leftover assignment As the assigned value is being overwritten shortly after, it can be dropped and so the whole variable definition moved to the start of the function. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 63a66c6c0debcae70183849121734fd4809e1dde Author: Phil Sutter Date: Thu Jan 15 12:29:56 2009 +0000 korina: adjust headroom for new skb's also This is copy and paste from the original driver. As skb_reserve() is also called within korina_alloc_ring() when initially allocating the receive descriptors, the same should be done when allocating new space after passing an skb to upper layers. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 6a2fe9834e578590f4a2fbe18a574465ab0e127c Author: Phil Sutter Date: Thu Jan 15 12:29:55 2009 +0000 korina: fix loop back of receive descriptors After the last loop iteration, i has the value RC32434_NUM_RDS and therefore leads to an index overflow when used afterwards to address the last element. This is yet another another bug introduced when rewriting parts of the driver for upstream preparation, as the original driver used 'RC32434_NUM_RDS - 1' instead. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit eed087e367591fc08490d7c6c2779b4b72c8f20c Author: Divy Le Ray Date: Sun Jan 18 22:01:32 2009 -0800 cxgb3: Fix LRO misalignment The lro manager's frag_align_pad setting was missing, leading to misaligned access to the skb passed up to the stack. Tested-by: Rick Jones Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 39eddb4c3970e9aadbc87b8a7cab7b4fefff077f Author: Richard Röjfors Date: Sun Jan 18 21:57:35 2009 -0800 macb: avoid lockup when TGO during underrun In rare cases when an underrun occur, all macb buffers where consumed and the netif_queue was stopped infinitely. This happens then the TGO (transfer ongoing) bit in the TSR is set (and UND). It seems like clening up after the underrun makes the driver and the macb hardware end up in an inconsistent state. The result of this is that in the following calls to macb_tx no TX buffers are released -> the netif_queue was stopped, and never woken up again. The solution is to disable the transmitter, if TGO is set, before clening up after the underrun, and re-enable the transmitter when the cleaning up is done. Signed-off-by: Richard Röjfors Signed-off-by: David S. Miller commit 24e94de41e76134fad05552588fe01af2cab1494 Author: Roel Kluin Date: Sun Jan 18 21:32:11 2009 -0800 net/9p: fid->fid is used uninitialized Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit d05c26ce690e867aabfc7d708d481e0f86f23496 Author: Eilon Greenstein Date: Sat Jan 17 23:26:13 2009 -0800 bnx2x: Version update Updating the version and the year of updated files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 237907c1ded8a1a447cea7c4f97ab853e8b46052 Author: Eilon Greenstein Date: Wed Jan 14 06:42:44 2009 +0000 bnx2x: Barriers for the compiler To make sure no swapping are made by the compiler, changed HAS_WORK to inline functions and added all the necessary barriers Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e47d7e6eb841c1850f0e69b95ae6cf3c86881f53 Author: Eilon Greenstein Date: Wed Jan 14 06:44:28 2009 +0000 bnx2x: Driver description update The Driver supports the 57711 and 57711E as well but the description was out of date Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 16b311cc29806bb968746c1a752a087b32841af9 Author: Eilon Greenstein Date: Wed Jan 14 06:44:24 2009 +0000 bnx2x: Handling PHY FW load failure If the default PHY version (0x4321) is read - the PHY FW load failed Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 44722d1d216c9dd4536de5f88fe8320b07e68a96 Author: Eilon Greenstein Date: Wed Jan 14 06:44:21 2009 +0000 bnx2x: Legacy speeds autoneg failures 10M/100M autoneg was not establishing link. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3858276b7198074bf3570470463808627f0c9e31 Author: Eilon Greenstein Date: Wed Jan 14 06:44:16 2009 +0000 bnx2x: Prevent self test loopback failures Setting loopback requires time to take effect Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6c55c3cdc86881383075a933594748b30dd0054b Author: Eilon Greenstein Date: Wed Jan 14 06:44:13 2009 +0000 bnx2x: 1G-10G toggling race The HW should be configured so fast toggling between 1G and 10G will not be missed. Make sure that the HW is re-configured in full Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 632da4d66324b5baf947a048dd1f1e9093b6dd90 Author: Eilon Greenstein Date: Wed Jan 14 06:44:10 2009 +0000 bnx2x: Overstepping array bounds If the page size is > 8KB this violation happens Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2add3acb11a26cc14b54669433ae6ace6406cbf2 Author: Eilon Greenstein Date: Wed Jan 14 06:44:07 2009 +0000 bnx2x: Block nvram access when the device is inactive Don't dump eeprom when bnx2x adapter is down. Running ethtool -e causes an eeh without it when the device is down Signed-off-by: Paul Larson Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5a40e08e666e8caa1227333de41fd1e2cd84d4f5 Author: Eilon Greenstein Date: Wed Jan 14 06:44:04 2009 +0000 bnx2x: Read chip ID Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit af2464011f0954785687071b298f066f6cbb1c84 Author: Eilon Greenstein Date: Wed Jan 14 06:43:59 2009 +0000 bnx2x: Wrong HDR offset in CAM Has a negative side effect when sending MAC update with no content (as done in the self-test) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b4661739c67acd15a02f8e112f8cc52d24b609ed Author: Eilon Greenstein Date: Wed Jan 14 06:43:56 2009 +0000 bnx2x: Potential race after iSCSI boot The lock was release too soon. Make sure the HW is marked as locked until the boot driver was unloaded from FW perspective Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 693fc0d14334859430733ab902adac182fdd8153 Author: Eilon Greenstein Date: Wed Jan 14 06:43:52 2009 +0000 bnx2x: Handling probe failures Failures in the probe not handled correctly - separate the flow to handle different failures Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 70b9986ca4baaf6deb6f0e01d50f72457579adea Author: Eilon Greenstein Date: Wed Jan 14 06:43:48 2009 +0000 bnx2x: Free IRQ Error check could result with not freeing the IRQ Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f5495506c3c1300d249d403c36f92de71920dbeb Author: Gary Hade Date: Mon Jan 19 13:46:41 2009 -0800 x86: remove kernel_physical_mapping_init() from init section Impact: fix crash with memory hotplug enabled kernel_physical_mapping_init() is called during memory hotplug so it does not belong in the init section. If the kernel is built with CONFIG_DEBUG_SECTION_MISMATCH=y on the make command line, arch/x86/mm/init_64.c is compiled with the -fno-inline-functions-called-once gcc option defeating inlining of kernel_physical_mapping_init() within init_memory_mapping(). When kernel_physical_mapping_init() is not inlined it is placed in the .init.text section according to the __init in it's current declaration. A later call to kernel_physical_mapping_init() during a memory hotplug operation encounters an int3 trap because the .init.text section memory has been freed. This patch eliminates the crash caused by the int3 trap by moving the non-inlined kernel_physical_mapping_init() from .init.text to .meminit.text. Signed-off-by: Gary Hade Signed-off-by: Ingo Molnar commit bfa318ad52a23f1e303d176b44366cdd2bb71ad2 Author: Ingo Molnar Date: Thu Jan 15 15:46:08 2009 +0100 fix: crash: IP: __bitmap_intersects+0x48/0x73 -tip testing found this crash: > [ 35.258515] calling acpi_cpufreq_init+0x0/0x127 @ 1 > [ 35.264127] BUG: unable to handle kernel NULL pointer dereference at (null) > [ 35.267554] IP: [] __bitmap_intersects+0x48/0x73 > [ 35.267554] PGD 0 > [ 35.267554] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c is still broken: there's no allocation of the variable mask, so we pass in an uninitialized cmd.mask field to drv_read(), which then passes it to the scheduler which then crashes ... Switch it over to the much simpler constant-cpumask-pointers approach. Signed-off-by: Ingo Molnar commit 5296b56d1b2000b60fb966be161c1f8fb629786b Author: Guennadi Liakhovetski Date: Mon Jan 19 15:36:21 2009 -0700 i.MX31: Image Processing Unit DMA and IRQ drivers i.MX3x SoCs contain an Image Processing Unit, consisting of a Control Module (CM), Display Interface (DI), Synchronous Display Controller (SDC), Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter (PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC). CM contains, among other blocks, an Interrupt Generator (IG) and a Clock and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are supported over dmaengine and irq-chip APIs respectively. IDMAC is a specialised DMA controller, its DMA channels cannot be used for general-purpose operations, even though it might be possible to configure a memory-to-memory channel for memcpy operation. This driver will not work with generic dmaengine clients, clients, wishing to use it must use respective wrapper structures, they also must specify which channels they require, as channels are hard-wired to specific IPU functions. Acked-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit ef560682a97491f62ef538931a4861b57d66c52c Author: Guennadi Liakhovetski Date: Mon Jan 19 15:36:21 2009 -0700 dmaengine: add async_tx_clear_ack() macro To complete the DMA_CTRL_ACK handling API add a async_tx_clear_ack() macro. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit c50331e8be32eaba5e1949f98c70d50b891262db Author: Dan Williams Date: Mon Jan 19 15:33:14 2009 -0700 dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n The device list will always be empty in this configuration, so no need to walk the list. Reported-by: Ingo Molnar Signed-off-by: Dan Williams commit 83436a0560e9ef8af2f0796264dde4bed1415359 Author: Dan Williams Date: Mon Jan 19 14:39:10 2009 -0700 dmaengine: kill some dubious WARN_ONCEs dma_find_channel and dma_issue_pending_all are good places to warn about improper api usage. However, warning correctly means synchronizing with dma_list_mutex, i.e. too much overhead for these fast-path calls. Reported-by: Ingo Molnar Signed-off-by: Dan Williams commit 72859081851af2bda04117ca3d64206ffa199e5e Author: Mike Travis Date: Fri Jan 16 15:31:15 2009 -0800 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write Impact: use new work_on_cpu function to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for drv_read() and drv_write(). Basically converts do_drv_{read,write} into "work_on_cpu" functions that are now called by drv_read and drv_write. Note: This patch basically reverts 50c668d6 which reverted 7503bfba, now that the work_on_cpu() function is more stable. Signed-off-by: Mike Travis Acked-by: Rusty Russell Tested-by: Dieter Ries Tested-by: Maciej Rutecki Cc: Dave Jones Cc: Signed-off-by: Ingo Molnar commit 8ccad40df8d314f786fdb06bdbedd4f43f3257cd Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: Use our own workqueue. Impact: remove potential clashes with generic kevent workqueue Annoyingly, some places we want to use work_on_cpu are already in workqueues. As per Ingo's suggestion, we create a different workqueue for work_on_cpu. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 31ad9081200c06ccc350625d41d1f8b2d1cef29f Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: don't try to get_online_cpus() in work_on_cpu. Impact: remove potential circular lock dependency with cpu hotplug lock This has caused more problems than it solved, with a pile of cpu hotplug locking issues. Followup patches will get_online_cpus() in callers that need it, but if they don't do it they're no worse than before when they were using set_cpus_allowed without locking. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit b7c18c1b2636ecb9ad76759f99dac6efd441fa92 Author: David S. Miller Date: Sun Jan 18 22:42:15 2009 -0800 sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. There is only one clock board, so use -1 as the 'id' so we get just the base name as the LED device name string. There are multiple FHC boards potentially in a system so use the board number as the 'id' value for that case. Reported-by: Meelis Roos Tested-by: Meelis Roos Signed-off-by: David S. Miller commit c2fdd36b550659f5ac2240d1f5a83ffa1a092289 Author: Jiri Slaby Date: Sat Jan 17 16:23:55 2009 +0100 PCI hotplug: fix lock imbalance in pciehp set_lock_status omits mutex_unlock in fail path. Add the omitted unlock. As a result a lockup caused by this can be triggered from userspace by writing 1 to /sys/bus/pci/slots/.../lock often enough. Signed-off-by: Jiri Slaby Reviewed-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6e78b780efdfc5cfbd3c92df7dbdfb5c81aa2a15 Merge: c0554f1... 3288a66... Author: Takashi Iwai Date: Mon Jan 19 14:08:25 2009 +0100 Merge branch 'topic/virtuoso' into for-linus commit 3288a66243c8d34c299dd6b8a336a34321ccff52 Author: Clemens Ladisch Date: Mon Jan 19 10:08:38 2009 +0100 sound: virtuoso: document HDAV1.3 driver status Mention in the Kconfig help text that the HDAV1.3 code is rather experimental. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 45bf81011312958777f33088ac0911f241ada297 Author: Clemens Ladisch Date: Mon Jan 19 10:07:58 2009 +0100 sound: virtuoso: add newline Add a missing newline. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 22c733788bbd4b75c00279119a83da5cd74b987a Author: Clemens Ladisch Date: Mon Jan 19 10:07:21 2009 +0100 sound: virtuoso: enable UART on Xonar HDAV1.3 This hardware has a better chance of working correctly if we don't forget to enable it. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit ef183f6b5982aa10499432a0cb243c92ce623512 Author: David Brownell Date: Mon Jan 19 13:46:57 2009 +0100 drivers/ide/palm_bk3710.c buildfix CC drivers/ide/palm_bk3710.o drivers/ide/palm_bk3710.c: In function 'palm_bk3710_probe': drivers/ide/palm_bk3710.c:382: warning: assignment makes integer from pointer without a cast Someone should fix hw_regs_t to neither be a typedef, nor use "unsigned long" where it should use "void __iomem *". Signed-off-by: David Brownell Cc: Kevin Hilman Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit abb8817967cc080ee024f7d1a3d5a9830074ca1c Author: Michael Schmitz Date: Mon Jan 19 13:46:56 2009 +0100 ide: fix Falcon IDE breakage [m68k] Falcon IDE: always serialize, in order to force execution of ide_get_lock() and friends. Signed-off-By: Michael Schmitz Cc: Geert Uytterhoeven [bart: set flag in falconide_port_info instead of falconide_init()] Signed-off-by: Bartlomiej Zolnierkiewicz commit bb54affa6fbdd6fe80f193ec1b6977a93078785d Author: Andreas Schwab Date: Mon Jan 19 13:46:56 2009 +0100 ide: fix IDE PMAC breakage Bartlomiej Zolnierkiewicz writes: > Signed-off-by: Bartlomiej Zolnierkiewicz > --- > drivers/ide/ide-probe.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > Index: b/drivers/ide/ide-probe.c > =================================================================== > --- a/drivers/ide/ide-probe.c > +++ b/drivers/ide/ide-probe.c > @@ -640,14 +640,9 @@ static int ide_register_port(ide_hwif_t > /* register with global device tree */ > dev_set_name(&hwif->gendev, hwif->name); > hwif->gendev.driver_data = hwif; > - if (hwif->gendev.parent == NULL) { > - if (hwif->dev) > - hwif->gendev.parent = hwif->dev; > - else > - /* Would like to do = &device_legacy */ > - hwif->gendev.parent = NULL; > - } > + hwif->gendev.parent = hwif->dev; This [bart: commit 96d40941236722777c259775640b8880b7dc6f33 ("ide: small ide_register_port() cleanup")] breaks ide-pmac. It overwrites the parent that pmac_ide_macio_attach has set. Signed-off-by: Andreas Schwab Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit c1ff85d97708550e634fb6fa099c463db90fc40d Author: Dave Airlie Date: Mon Jan 19 17:17:58 2009 +1000 drm: fix leak of device mappings since multi-master changes. Device maps now contain a link to the master that created them, so when cleaning up the master, remove any maps that are connected to it. Also delete any remaining maps at driver unload time. Signed-off-by: Dave Airlie commit b6e3222732a3551e786aa47b90a8eab2a517711c Author: Eric Sandeen Date: Wed Jan 14 23:22:07 2009 -0600 [XFS] Remove the rest of the macro-to-function indirections. Remove the last of the macros-defined-to-static-functions. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit b828d8c33867dd6479644c06500975570bfd525c Author: Christoph Hellwig Date: Mon Jan 19 02:04:16 2009 +0100 xfs: sanity check attr fork size Recently we have quite a few kerneloops reports about dereferencing a NULL if_data in the attribute fork. From looking over the code this can only happen if we pass a 0 size argument to xfs_iformat_local. This implies some sort of corruption and in fact the only mailinglist report about this from earlier this year was after a powerfail presumably on a system with write cache and without barriers. Add a quick sanity check for the attr fork size in xfs_iformat to catch these early and without an oops. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 49739140e57a65114d9e1976c4c158d2145595fb Author: Christoph Hellwig Date: Mon Jan 19 02:04:07 2009 +0100 xfs: fix bad_features2 fixups for the root filesystem Currently the bad_features2 fixup and the alignment updates in the superblock are skipped if we mount a filesystem read-only. But for the root filesystem the typical case is to mount read-only first and only later remount writeable so we'll never perform this update at all. It's not a big problem but means the logs of people needing the fixup get spammed at every boot because they never happen on disk. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 5aa2dc0a0697c762874241fa9ddbecd2d878b934 Author: Christoph Hellwig Date: Mon Jan 19 02:03:25 2009 +0100 xfs: add a lock class for group/project dquots We can have both a user and a group/project dquot locked at the same time, as long as the user dquot is locked first. Tell lockdep about that fact by making the group/project dquots a different lock class. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 4f2d4ac6e5eb7d72e8df7f3fbf67a78dab8b91cf Author: Christoph Hellwig Date: Mon Jan 19 02:03:19 2009 +0100 xfs: lockdep annotations for xfs_dqlock2 xfs_dqlock2 locks two xfs_dquots, which is fine as it always locks the dquot with the lower id first. Use mutex_lock_nested to tell lockdep about this fact. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 080dda7f5e8e8df95bcd17a5345c276e365a2054 Author: Christoph Hellwig Date: Mon Jan 19 02:03:11 2009 +0100 xfs: add a separate lock class for the per-mount list of dquots We can have both a a quota hash chain and the per-mount list locked at the same time. But given that both use the same struct dqhash as list head we have to tell lockdep that they are different lock classes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 62e194ecdaf8a1935991c1f8704886328d96a391 Author: Christoph Hellwig Date: Mon Jan 19 02:03:03 2009 +0100 xfs: use mnt_want_write in compat_attrmulti ioctl The compat version of the attrmulti ioctl needs to ask for and then later release write access to the mount just like the native version, otherwise we could potentially write to read-only mounts. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ab596ad8972f314ace538799734c7e1bdd1da2ff Author: Christoph Hellwig Date: Mon Jan 19 02:02:57 2009 +0100 xfs: fix dentry aliasing issues in open_by_handle Open by handle just grabs an inode by handle and then creates itself a dentry for it. While this works for regular files it is horribly broken for directories, where the VFS locking relies on the fact that there is only just one single dentry for a given inode, and that these are always connected to the root of the filesystem so that it's locking algorithms work (see Documentations/filesystems/Locking) Remove all the existing open by handle code and replace it with a small wrapper around the exportfs code which deals with all these issues. At the same time we also make the checks for a valid handle strict enough to reject all not perfectly well formed handles - given that we never hand out others that's okay and simplifies the code. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit c7f8562a51c2e5dcc1a00a2bdd232b9965ff960d Author: Leonardo Potenza Date: Sun Jan 18 23:03:56 2009 +0100 x86: fix section mismatch warnings in kernel/setup_percpu.c The function setup_cpu_local_masks() has been marked __init, in order to remove the following section mismatch messages: WARNING: vmlinux.o(.text+0x3c2c7): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2d3): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2df): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2eb): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. Signed-off-by: Leonardo Potenza Signed-off-by: Ingo Molnar commit 1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2 Author: Peter Zijlstra Date: Sun Jan 18 16:39:29 2009 +0100 hrtimers: fix inconsistent lock state on resume in hres_timers_resume Andrey Borzenkov reported this lockdep assert: > [17854.688347] ================================= > [17854.688347] [ INFO: inconsistent lock state ] > [17854.688347] 2.6.29-rc2-1avb #1 > [17854.688347] --------------------------------- > [17854.688347] inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. > [17854.688347] pm-suspend/18240 [HC0[0]:SC0[0]:HE1:SE1] takes: > [17854.688347] (&cpu_base->lock){++..}, at: [] retrigger_next_event+0x5c/0xa0 > [17854.688347] {in-hardirq-W} state was registered at: > [17854.688347] [] __lock_acquire+0x79d/0x1930 > [17854.688347] [] lock_acquire+0x5c/0x80 > [17854.688347] [] _spin_lock+0x35/0x70 > [17854.688347] [] hrtimer_run_queues+0x31/0x140 > [17854.688347] [] run_local_timers+0x8/0x20 > [17854.688347] [] update_process_times+0x23/0x60 > [17854.688347] [] tick_periodic+0x24/0x80 > [17854.688347] [] tick_handle_periodic+0x12/0x70 > [17854.688347] [] timer_interrupt+0x14/0x20 > [17854.688347] [] handle_IRQ_event+0x29/0x60 > [17854.688347] [] handle_level_irq+0x69/0xe0 > [17854.688347] [] 0xffffffff > [17854.688347] irq event stamp: 55771 > [17854.688347] hardirqs last enabled at (55771): [] _spin_unlock_irqrestore+0x35/0x60 > [17854.688347] hardirqs last disabled at (55770): [] _spin_lock_irqsave+0x19/0x80 > [17854.688347] softirqs last enabled at (54836): [] __do_softirq+0xc4/0x110 > [17854.688347] softirqs last disabled at (54831): [] do_softirq+0x8e/0xe0 > [17854.688347] > [17854.688347] other info that might help us debug this: > [17854.688347] 3 locks held by pm-suspend/18240: > [17854.688347] #0: (&buffer->mutex){--..}, at: [] sysfs_write_file+0x25/0x100 > [17854.688347] #1: (pm_mutex){--..}, at: [] enter_state+0x4f/0x140 > [17854.688347] #2: (dpm_list_mtx){--..}, at: [] device_pm_lock+0xf/0x20 > [17854.688347] > [17854.688347] stack backtrace: > [17854.688347] Pid: 18240, comm: pm-suspend Not tainted 2.6.29-rc2-1avb #1 > [17854.688347] Call Trace: > [17854.688347] [] ? printk+0x18/0x20 > [17854.688347] [] print_usage_bug+0x16c/0x1d0 > [17854.688347] [] mark_lock+0x8bf/0xc90 > [17854.688347] [] ? pit_next_event+0x2f/0x40 > [17854.688347] [] __lock_acquire+0x580/0x1930 > [17854.688347] [] ? _spin_unlock+0x1d/0x20 > [17854.688347] [] ? pit_next_event+0x2f/0x40 > [17854.688347] [] ? clockevents_program_event+0x98/0x160 > [17854.688347] [] ? mark_held_locks+0x48/0x90 > [17854.688347] [] ? _spin_unlock_irqrestore+0x35/0x60 > [17854.688347] [] ? trace_hardirqs_on_caller+0x139/0x190 > [17854.688347] [] ? trace_hardirqs_on+0xb/0x10 > [17854.688347] [] lock_acquire+0x5c/0x80 > [17854.688347] [] ? retrigger_next_event+0x5c/0xa0 > [17854.688347] [] _spin_lock+0x35/0x70 > [17854.688347] [] ? retrigger_next_event+0x5c/0xa0 > [17854.688347] [] retrigger_next_event+0x5c/0xa0 > [17854.688347] [] hres_timers_resume+0xa/0x10 > [17854.688347] [] timekeeping_resume+0xee/0x150 > [17854.688347] [] __sysdev_resume+0x14/0x50 > [17854.688347] [] sysdev_resume+0x47/0x80 > [17854.688347] [] device_power_up+0xb/0x20 > [17854.688347] [] suspend_devices_and_enter+0xcf/0x150 > [17854.688347] [] ? freeze_processes+0x3f/0x90 > [17854.688347] [] enter_state+0xf4/0x140 > [17854.688347] [] state_store+0x7d/0xc0 > [17854.688347] [] ? state_store+0x0/0xc0 > [17854.688347] [] kobj_attr_store+0x24/0x30 > [17854.688347] [] sysfs_write_file+0x9c/0x100 > [17854.688347] [] vfs_write+0x9c/0x160 > [17854.688347] [] ? restore_nocheck_notrace+0x0/0xe > [17854.688347] [] ? sysfs_write_file+0x0/0x100 > [17854.688347] [] sys_write+0x3d/0x70 > [17854.688347] [] sysenter_do_call+0x12/0x31 Andrey's analysis: > timekeeping_resume() is called via class ->resume > method; and according to comments in sysdev_resume() and > device_power_up(), they are called with interrupts disabled. > > Looking at suspend_enter, irqs *are* disabled at this point. > > So it actually looks like something (may be some driver) > unconditionally enabled irqs in resume path. Add a debug check to test this theory. If it triggers then it triggers because the resume code calls it with irqs enabled, which is a no-no not just for timekeeping_resume(), but also bad for a number of other resume handlers. Reported-by: Andrey Borzenkov Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b2b815d80a5c4e5b50be0a98aba8c445ce8f3e1f Author: Mike Travis Date: Fri Jan 16 15:22:16 2009 -0800 x86: put trigger in to detect mismatched apic versions Impact: add debug warning Fire off one message if two apic's discovered with different apic versions. (this code is only called during CPU init) The goal of this is to pave the way of the removal of the apic_version[] array. We dont expect any apic version incompatibilities in the x86 landscape of systems [if so we dont handle them very well and probably never will handle deep apic version assymetries well], but it's prudent to have a debug check for one kernel cycle nevertheless. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 64dec40ddee9d36d7b83f8a0513fdeaffe260a0e Author: Jeff Mahoney Date: Fri Jan 16 13:23:35 2009 -0500 x86: define ARCH_WANT_FRAME_POINTERS Commit da4276b8299a6544dc41ac2485d3ffca5811b3fb changed a dependency for FRAME_POINTER from X86 to ARCH_WANT_FRAME_POINTERS, but didn't actually define it. This patch adds the definition for ARCH_WANT_FRAME_POINTERS. Without it, FRAME_POINTER can't be enabled on x86. Signed-off-by: Jeff Mahoney Signed-off-by: Ingo Molnar commit b786c6a98ef6fa81114ba7b9fbfc0d67060775e3 Author: Jiri Slaby Date: Sat Jan 17 12:04:36 2009 +0100 relay: fix lock imbalance in relay_late_setup_files One fail path in relay_late_setup_files() omits mutex_unlock(&relay_channels_mutex); Add it. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit c0554f102e428b8d8de3bd006a7aa77d9a3ff930 Merge: a3aaebc... cd9f8e6... Author: Takashi Iwai Date: Sun Jan 18 11:06:41 2009 +0100 Merge branch 'topic/oss-cleanup' into for-linus commit a3aaebc4b006e9405cddd553d8a75a531e6f01a8 Merge: 9177b42... 989738c... Author: Takashi Iwai Date: Sun Jan 18 11:06:37 2009 +0100 Merge branch 'topic/hda' into for-linus commit cd9f8e64c232eeb1247950007ee95de00b89ba7a Author: Henrik Kretzschmar Date: Sun Jan 18 10:40:24 2009 +0100 sound: Remove removed OSS kernel parameters from doc Remove removed OSS kernel parameters from kernel-parameters.txt Remove the kernel parameters from the OSS drivers of the chips es1371 (removed 10-2007/2.6.24) and cs4232 (removed 02-2008/2.6.25) from the kernel parameters documentation. Signed-off-by: Henrik Kretzschmar Signed-off-by: Takashi Iwai commit 989738c4f82126207b9e04c9395b78e544f3d33c Author: Matthew Ranostay Date: Sat Jan 17 18:47:27 2009 -0500 ALSA: hda: fix invalid power mapping masks Fixed invalid power mappings for ports 0xd and 0xe on 93hd83xxx codecs. They were shifted right one too many bits. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 62dfcd336c79c49f9aeb0acc99cf9a1832102dd5 Author: Sam Ravnborg Date: Sat Jan 17 23:12:27 2009 -0800 sparc64: fix modpost failure Previously PeeCeeI.o was a library but it was always pulled in due to insw and friends being exported (at least for a modular kernel). But this resulted in modpost failures if there where no in-kernel users because then insw & friends were not linked in. Fix this by including PeeCeeI.o in the kernel unconditionally. The only drawback for this solution is that a nonmodular kernel will always include insw & friends no matter if they are in use or not. Reported-by: Meelis Roos Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c275ce44929402664902cbb09d4f054b315623d7 Author: Sam Ravnborg Date: Sat Jan 17 23:10:35 2009 -0800 sparc64: fix readout of cpu/fpu type Meelis reported that on his box /proc/cpuinfo started to reported "Unknow CPU" and the same did the boot messages. It was a stupid bug I introduced when merging cpu.c for 32 and 64 bit. The code did an array reference where it had to search for the right index. Reported-by: Meelis Roos Tested-by: Meelis Roos Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b Merge: 0bac038... ac8581d... Author: Linus Torvalds Date: Sat Jan 17 14:28:53 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Use consistent types for ehca_plpar_hcall9() IB/ehca: Fix printk format warnings from u64 type change IPoIB: Do not print error messages for multicast join retries IB/mlx4: Fix memory ordering problem when posting LSO sends mlx4_core: Fix min() warning IPoIB: Fix deadlock between ipoib_open() and child interface create IPoIB: Fix hang in napi_disable() if P_Key is never found commit 0bac038a9eec00ac27f95ca0360954c0016fd859 Merge: 8115692... 5dbdf73... Author: Linus Torvalds Date: Sat Jan 17 14:28:23 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: move wm8400-regulator's probe function to .devinit.text commit 81156928f8fe31621e467490b9d441c0285998c3 Author: Pavel Roskin Date: Sat Jan 17 13:33:03 2009 -0500 dell_rbu: use scnprintf() instead of less secure sprintf() Reading 0 bytes from /sys/devices/platform/dell_rbu/image_type or /sys/devices/platform/dell_rbu/packet_size by an ordinary user causes an oops. Signed-off-by: Pavel Roskin Signed-off-by: Linus Torvalds commit 0d54ee1c7850a954026deec4cd4885f331da35cc Author: Vegard Nossum Date: Sat Jan 17 17:45:45 2009 +0100 security: introduce missing kfree Plug this leak. Acked-by: David Howells Cc: James Morris Cc: Signed-off-by: Vegard Nossum Signed-off-by: Linus Torvalds commit fdb6a8f4db813b4e50f4e975efe6be12ba5bf460 Author: Robert Richter Date: Sat Jan 17 17:13:27 2009 +0100 oprofile: fix uninitialized use of struct op_entry Impact: fix crash In case of losing samples struct op_entry could have been used uninitialized causing e.g. a wrong preemption count or NULL pointer access. This patch fixes this. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 5dbdf7354821e00e4419ac3520d05d126857d56e Author: Uwe Kleine-König Date: Mon Jan 12 23:25:05 2009 +0100 move wm8400-regulator's probe function to .devinit.text A pointer to wm8400_regulator_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Signed-off-by: Liam Girdwood commit 9177b42bd7ce4fd1f7eef6d80221db1b148c973b Merge: db45705... 2de686d... Author: Takashi Iwai Date: Sat Jan 17 12:10:17 2009 +0100 Merge branch 'topic/hda' into for-linus commit db45705c7fc473fd2ffb2c9621df4a4a4f33f1ad Merge: 1de9e8e... 591046c... Author: Takashi Iwai Date: Sat Jan 17 12:10:13 2009 +0100 Merge branch 'topic/asoc' into for-linus commit ac8581d408d41ebd5583b4e85b18e7ef16bb044b Merge: ee96aae... 3c20962... 0fd7e1d... Author: Roland Dreier Date: Fri Jan 16 15:05:54 2009 -0800 Merge branches 'ehca', 'ipoib' and 'mlx4' into for-linus commit ee96aae57381e77311538f4a1dd4326f6ae079d1 Author: Stephen Rothwell Date: Fri Jan 16 14:55:40 2009 -0800 IB/ehca: Use consistent types for ehca_plpar_hcall9() ehca_plpar_hcall9() takes an unsigned long array, so make all callers pass that in. This fixes warnings introduced by commit fe333321 ("powerpc: Change u64/s64 to a long long integer type"), which changed u64 from unsigned long to unsigned long long. Signed-off-by: Stephen Rothwell Signed-off-by: Roland Dreier commit 3750f60557b68776eb749859ad68af70d1a01ad0 Author: Stephen Rothwell Date: Fri Jan 16 14:55:28 2009 -0800 IB/ehca: Fix printk format warnings from u64 type change Commit fe333321 ("powerpc: Change u64/s64 to a long long integer type") changed u64 from unsigned long to unsigned long long, which means that printk formats for printing u64 values should use "ll" instead of "l" to avoid warnings. Fix all the places affected by this in ehca. Signed-off-by: Stephen Rothwell Signed-off-by: Roland Dreier commit 674743033c1ae9f7cc94e1e0037f6f719e6d1d67 Author: Christian Lamparter Date: Fri Jan 16 19:46:28 2009 +0100 p54: fix p54_set_key's return code p54 doesn't support AES-128-CMAC offload. This patch will fix the noisy mac80211 warnings, when 802.11w is enabled: mac80211-phy189: failed to set key (4, ff:ff:ff:ff:ff:ff) to hardware (-22) mac80211-phy189: failed to set key (5, ff:ff:ff:ff:ff:ff) to hardware (-22) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 275719089bfe7dbf446b72c3e520966e7fa42b6a Author: Artur Skawina Date: Thu Jan 15 21:07:03 2009 +0100 p54: set_tim must be atomic. Fix for: BUG: scheduling while atomic: named/2004/0x10000200 Pid: 2004, comm: named Not tainted 2.6.29-rc1-00271-ge9fa6b0 #45 Call Trace: [] schedule+0x2a7/0x320 [] __alloc_skb+0x34/0x110 [] __cond_resched+0x13/0x30 [] _cond_resched+0x2d/0x40 [] kmem_cache_alloc+0x95/0xc0 [] check_object+0xc4/0x230 [] __alloc_skb+0x34/0x110 [] p54_alloc_skb+0x71/0xf0 [] p54_set_tim+0x3f/0xa0 [] sta_info_set_tim_bit+0x64/0x80 [] invoke_tx_handlers+0xd57/0xd80 [] free_debug_processing+0x197/0x210 [] pskb_expand_head+0xf5/0x170 [] __ieee80211_tx_prepare+0x164/0x2f0 [] ieee80211_skb_resize+0x6d/0xe0 [] ieee80211_master_start_xmit+0x23f/0x550 [] __slab_alloc+0x2b8/0x4f0 [] getnstimeofday+0x51/0x120 [] dev_hard_start_xmit+0x1db/0x240 [] __qdisc_run+0x1ab/0x200 [] __run_hrtimer+0x31/0xf0 [] dev_queue_xmit+0x247/0x500 [] ieee80211_subif_start_xmit+0x356/0x7d0 [] packet_rcv_spkt+0x37/0x150 [] packet_rcv_spkt+0x37/0x150 [] dev_hard_start_xmit+0x1db/0x240 [] __qdisc_run+0x1ab/0x200 [] dev_queue_xmit+0x247/0x500 [] neigh_resolve_output+0xe2/0x200 [] ip_finish_output+0x0/0x290 [] ip_finish_output+0x1e7/0x290 [] ip_local_out+0x15/0x20 [] ip_push_pending_frames+0x272/0x380 [] udp_push_pending_frames+0x146/0x3a0 [] udp_sendmsg+0x2fa/0x6b0 [] inet_sendmsg+0x37/0x70 [] sock_sendmsg+0xbe/0x100 [] autoremove_wake_function+0x0/0x50 [] __wake_up_common+0x43/0x70 [] copy_from_user+0x32/0x130 [] copy_from_user+0x32/0x130 [] verify_iovec+0x2e/0xb0 [] sys_sendmsg+0x17f/0x290 [] pipe_write+0x29a/0x570 [] update_wall_time+0x492/0x8e0 [] getnstimeofday+0x51/0x120 [] sched_slice+0x3d/0x80 [] getnstimeofday+0x51/0x120 [] hrtimer_forward+0x147/0x1a0 [] lapic_next_event+0x10/0x20 [] clockevents_program_event+0xa3/0x170 [] sys_socketcall+0xa4/0x290 [] smp_apic_timer_interrupt+0x40/0x70 [] sysenter_do_call+0x12/0x25 Signed-off-by: Artur Skawina Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit e223b6dc051ad030a70d5c6ed6226b95bdfc3af7 Author: Rami Rosen Date: Wed Jan 14 00:00:13 2009 +0200 rt2x00: fix a wrong parameter for __test_and_clear_bit() in rt2x00rfkill_free(). When running modprobe rt73usb, and then rmmod rt73usb, and then iwconfig, the wlan0 device does not disappear. When repeating this process again, we get a kernel Oops errors and "BUG: unable to handle kernel paging request..." message in the kernel log. The reason for this is that there is an error in rt2x00rfkill_free(), which is called in the process of removing the device (rt2x00lib_remove_dev() in rt2x00dev.c). rt2x00rfkill_free() clears the RFKILL_STATE_ALLOCATED bit , which is bit number 1 () in rt2x00dev->flags instead of in rt2x00dev->rfkill_state. As a result, when checking the DEVICE_STATE_REGISTERED_HW bit (bit number 1 in rt2x00dev->flags) in rt2x00lib_remove_hw() it is **unset**, and we wrongly **don't** call ieee80211_unregister_hw(). This patch corrects this: the parameter for __test_and_clear_bit() in rt2x00rfkill_free() should be &rt2x00dev->rfkill_state and not &rt2x00dev->flags. Signed-off-by: Rami Rosen Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 02e68a3da0fbdb178cdec54b7db48edeefd1691d Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:37 2009 -0800 cfg80211: Fix parsed country IE info for 5 GHz The country IE number of channels on 5 GHz specifies the number of 5 GHz channels, not the number of sequential channel numbers. For example, if in a country IEs if the first channel given is 36 and the number of channels passed is 4 then the individual channel numbers defined for the 5 GHz PHY by these parameters are: 36, 40, 44, 48 not: 36, 37, 38, 39 See: http://tinyurl.com/11d-clarification Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0c7dc45d21de6ae212b5ccb7cdff5beff795ccf0 Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:36 2009 -0800 cfg80211: Fix regression with 11d on bands This fixes a regression on disallowing bands introduced with the new 802.11d support. The issue is that IEEE-802.11 allows APs to send a subset of what a country regulatory domain defines. This was clarified in this document: http://tinyurl.com/11d-clarification As such it is possible, and this is what is done in practice, that a single band 2.4 GHz AP will only send 2.4 GHz band regulatory information through the 802.11 country information element and then the current intersection with what CRDA provided yields a regulatory domain with no 5 GHz information -- even though that country may actually allow 5 GHz operation. We correct this by only applying the intersection rules on a channel if the the intersection yields a regulatory rule on the same band the channel is on. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a92a3ce72483d7f0902dff8a3be8cdcee215a37c Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:33 2009 -0800 cfg80211: make handle_band() and handle_channel() wiphy specific This allows us to make more wiphy specific judgements when handling the channels later on. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 73e1a65d3c4a013f6fa56e47133be95143a75fe3 Author: Zhu Yi Date: Thu Jan 8 10:19:58 2009 -0800 iwlwifi: remove CMD_WANT_SKB flag if send_cmd_sync failure In function iwl_send_cmd_sync(), if the flag CMD_WANT_SKB is set but we are not provided with a valid SKB (cmd->meta.u.skb == NULL), we need to remove the CMD_WANT_SKB flag from the TX cmd queue. Otherwise in case the cmd comes in later, it will possibly set an invalid address. Thus it causes an invalid memory access. This fixed the bug http://bugzilla.kernel.org/show_bug.cgi?id=11326. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9d97f2e55e3df44e3b6b4cc58b091501ba7ee0ac Author: Jouni Malinen Date: Tue Jan 13 14:35:08 2009 +0200 ath9k: Fix an operator typo in REG_DOMAIN_2GHZ_MASK Incorrect operator causes the REG_DOMAIN_2GHZ_MASK to be zero which surely was not the goal of this definition. Mask out the 11a flags correctly. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b657eade2f98b5c689e405bd6e4e445471066380 Author: Jouni Malinen Date: Tue Jan 13 14:33:49 2009 +0200 ath9k: Fix an operator typo in phy rate validation This was not supposed to be a bitwise AND operation, but a check of two separate conditions. Anyway, the old code happened to result in the same behavior, so this is just changing the code to be easier to understand and also to keep sparse from warning about dubious operators. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d71038c05970ad0c9d7da6f797803f69e4f91837 Author: Andrey Yurovsky Date: Mon Jan 12 13:14:27 2009 -0800 libertas: Fix alignment issues in libertas core Data structures that come over the wire from the WLAN firmware must be packed. This fixes alignment problems on the blackfin architecture and, reportedly, on the AVR32. This is a replacement for the previous version of this patch which had also explicitly used get_unaligned_ macros. As Johannes Berg pointed out, these macros were unnecessary. Signed-off-by: Andrey Yurovsky Signed-off-by: Colin McCabe Signed-off-by: John W. Linville commit b6b50a21625bbf59a89b807dd0fc1eb5412aeff3 Author: Randy Dunlap Date: Fri Jan 9 15:25:09 2009 -0800 mac80211: more kernel-doc fixes Fix (delete) more mac80211 kernel-doc: Warning(linux-2.6.28-git13//include/net/mac80211.h:375): Excess struct/union/enum/typedef member 'retry_count' description in 'ieee80211_tx_info' Warning(linux-2.6.28-git13//net/mac80211/sta_info.h:308): Excess struct/union/enum/typedef member 'last_txrate' description in 'sta_info' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit ef15aa490f2e447ce04fe643500b814ef40f6ea9 Author: Christian Lamparter Date: Fri Jan 9 21:06:30 2009 +0100 p54: fix oops caused by bad eeproms This patch fixes a bug that could occur, if it the eeprom is incomplete or partly corrupted. BUG: unable to handle kernel NULL pointer dereference at 00000008 IP: p54_assign_address+0x108/0x15d [p54common] Oops: 0002 [#1] SMP Pid: 12988, comm: phy1 Tainted: P W 2.6.28-rc6-wl #3 RIP: 0010: p54_assign_address+0x108/0x15d [p54common] [...] Call Trace: p54_alloc_skb+0xa3/0xc0 [p54common] p54_scan+0x37/0x204 [p54common] [...] Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3c20962086b0ceb5498ba840e5a91bf4a692aae9 Author: Yossi Etigin Date: Fri Jan 16 13:42:59 2009 -0800 IPoIB: Do not print error messages for multicast join retries When IPoIB tries to join a multicast group, and the SA module's SM address handle is NULL (because of an SM change, etc), the join returns with -EAGAIN status. In that case, don't print an error message unless multicast debugging is enabled. Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit aa8c6c93747f7b55fa11e1624fec8ca33763a805 Author: Rafael J. Wysocki Date: Fri Jan 16 21:54:43 2009 +0100 PCI PM: Restore standard config registers of all devices early There is a problem in our handling of suspend-resume of PCI devices that many of them have their standard config registers restored with interrupts enabled and they are put into the full power state with interrupts enabled as well. This may lead to the following scenario: * an interrupt vector is shared between two or more devices * one device is resumed earlier and generates an interrupt * the interrupt handler of another device tries to handle it and attempts to access the device the config space of which hasn't been restored yet and/or which still is in a low power state * the system crashes as a result To prevent this from happening we should restore the standard configuration registers of all devices with interrupts disabled and we should put them into the D0 power state right after that. Unfortunately, this cannot be done using the existing pci_set_power_state(), because it can sleep. Also, to do it we have to make sure that the config spaces of all devices were actually saved during suspend. Signed-off-by: Rafael J. Wysocki Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 0fd7e1d8559f45a6838cee93ea49adc0c5bda8f0 Author: Roland Dreier Date: Fri Jan 16 12:47:47 2009 -0800 IB/mlx4: Fix memory ordering problem when posting LSO sends The current work request posting code writes the LSO segment before writing any data segments. This leaves a window where the LSO segment overwrites the stamping in one cacheline that the HCA prefetches before the rest of the cacheline is filled with the correct data segments. When the HCA processes this work request, a local protection error may result. Fix this by saving the LSO header size field off and writing it only after all data segments are written. This fix is a cleaned-up version of a patch from Jack Morgenstein . This fixes . Reported-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 0db29af1e767464d71b89410d61a1e5b668d0370 Author: Hidetoshi Seto Date: Wed Dec 24 17:27:04 2008 +0900 PCI/MSI: bugfix/utilize for msi_capability_init() This patch fix a following bug and does a cleanup. bug: commit 5993760f7fc75b77e4701f1e56dc84c0d6cf18d5 had a wrong change (since is_64 is boolean[0|1]): - pci_write_config_dword(dev, - msi_mask_bits_reg(pos, is_64bit_address(control)), - maskbits); + pci_write_config_dword(dev, entry->msi_attrib.is_64, maskbits); utilize: Unify separated if (entry->msi_attrib.maskbit) statements. Signed-off-by: Hidetoshi Seto Acked-by: "Jike Song" Cc: stable@vger.kernel.org Signed-off-by: Jesse Barnes commit cc33412fb1f11613e20f9dfc2919a77ecd63fbc4 Author: Jan Kara Date: Mon Jan 12 17:23:05 2009 +0100 quota: Improve locking We implement dqget() and dqput() that need neither dqonoff_mutex nor dqptr_sem. Then move dqget() and dqput() calls so that they are not called from under dqptr_sem. This is important because filesystem callbacks aren't called from under dqptr_sem which used to cause *lots* of problems with lock ranking (and with OCFS2 they became close to unsolvable). The patch also removes two functions which were introduced solely because OCFS2 needed them to cope with the old locking scheme. As time showed, they were not enough for OCFS2 anyway and it would be unnecessary work to adapt them to the new locking scheme in which they aren't needed. As a result OCFS2 needs the following patch to compile properly with quotas. Sorry to any bisecters which hit this in advance. Signed-off-by: Jan Kara commit 591046cfc5f1b452db0a4557850ad7f394e38231 Author: Ben Nizette Date: Fri Jan 16 08:45:45 2009 +1100 ASoC: atmel_pcm: Remove non-existant header doesn't exist on AVR32 and therefore this driver won't build on that arch. AFAICT this driver doesn't actually use the content of that header so easiest just to remove it. Signed-off-by: Ben Nizette Signed-off-by: Mark Brown commit a3c6018e565dc07cf3738ace6bbe412f97b1bba8 Author: Jan Beulich Date: Fri Jan 16 11:59:33 2009 +0000 x86: fix assumed to be contiguous leaf page tables for kmap_atomic region (take 2) Debugging and original patch from Nick Piggin The early fixmap pmd entry inserted at the very top of the KVA is causing the subsequent fixmap mapping code to not provide physically linear pte pages over the kmap atomic portion of the fixmap (which relies on said property to calculate pte addresses). This has caused weird boot failures in kmap_atomic much later in the boot process (initial userspace faults) on a 32-bit PAE system with a larger number of CPUs (smaller CPU counts tend not to run over into the next page so don't show up the problem). Solve this by attempting to clear out the page table, and copy any of its entries to the new one. Also, add a bug if a nonlinear condition is encountered and can't be resolved, which might save some hours of debugging if this fragile scheme ever breaks again... Once we have such logic, we can also use it to eliminate the early ioremap trickery around the page table setup for the fixmap area. This also fixes potential issues with FIX_* entries sharing the leaf page table with the early ioremap ones getting discarded by early_ioremap_clear() and not restored by early_ioremap_reset(). It at once eliminates the temporary (and configuration, namely NR_CPUS, dependent) unavailability of early fixed mappings during the time the fixmap area page tables get constructed. Finally, also replace the hard coded calculation of the initial table space needed for the fixmap area with a proper one, allowing kernels configured for large CPU counts to actually boot. Based-on: Nick Piggin Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 49148020bcb6910ce71417bd990a5ce7017f9bd3 Author: Sam Ravnborg Date: Fri Jan 16 21:58:10 2009 +1000 m68k,m68knommu: merge header files Merge header files for m68k and m68knommu to the single location: arch/m68k/include/asm The majority of this patch was the result of the script that is included in the changelog below. The script was originally written by Arnd Bergman and exten by me to cover a few more files. When the header files differed the script uses the following: The original m68k file is named _mm.h [mm for memory manager] The m68knommu file is named _no.h [no for no memory manager] The files uses the following include guard: This include gaurd works as the m68knommu toolchain set the __uClinux__ symbol - so this should work in userspace too. Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them. The commit has been build tested with both a m68k and a m68knommu toolchain - with success. The commit has also been tested with "make headers_check" and this patch fixes make headers_check for m68knommu. The script used: TARGET=arch/m68k/include/asm SOURCE=arch/m68knommu/include/asm INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h" EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h" NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h" FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.h current.h delay.h div64.h \ dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \ irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.h segment.h \ setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \ thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \ unaligned.h unistd.h" mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h cat << EOF > ${TARGET}/$1 EOF git add ${TARGET}/$1 } set -e mkdir -p ${TARGET} git mv include/asm-m68k/* ${TARGET} rmdir include/asm-m68k git rm ${SOURCE}/Kbuild for F in $INCLUDE $EQUAL; do git rm ${SOURCE}/$F done for F in $NOMUUFILES; do git mv ${SOURCE}/$F ${TARGET}/$F done for F in $FILES ; do mergefile $F done rmdir arch/m68knommu/include/asm rmdir arch/m68knommu/include Cc: Arnd Bergmann Cc: Geert Uytterhoeven Signed-off-by: Sam Ravnborg Signed-off-by: Greg Ungerer commit 2de686d227e8869547683de659d5419061c2c518 Author: Luke Yelavich Date: Fri Jan 16 15:08:02 2009 +1100 ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC Add the 82801H variants 1071:8227 and 8086:2503 to use ALC883_MITAC Reference: Ubuntu bug 210865 https://bugs.launchpad.net/bugs/210865 Signed-off-by: Luke Yelavich Signed-off-by: Takashi Iwai commit 169d5f663759ec494aa74a552ce99486235e6e50 Author: Peter Korsgaard Date: Wed Jan 14 22:33:31 2009 -0700 fsldma: print correct IRQ on mpc83xx The mpc83xx variant uses a shared IRQ for all channels, so the individual channel nodes don't have an interrupt property. Fix the code to print the controller IRQ instead if there isn't any for the channel. Acked-by: Timur Tabi Acked-by: Li Yang Signed-off-by: Peter Korsgaard Signed-off-by: Dan Williams commit d3b924d960a808105180d229b4667061123cc4ef Author: Andrew Morton Date: Thu Jan 15 20:43:56 2009 -0800 mlx4_core: Fix min() warning Fix drivers/net/mlx4/profile.c: In function `mlx4_make_profile': drivers/net/mlx4/profile.c:110: warning: comparison of distinct pointer types lacks a cast This happened because num_possible_cpus() was secretly changed by commit ae7a47e7 ("cpumask: make cpumask.h eat its own dogfood.") from returning "int" to (now) returning "unsigned int". I think that was a good change, so we should just swallow the fallout. Cc: "David S. Miller" Cc: Roland Dreier Cc: Yevgeny Petrilin Cc: Jack Morgenstein Cc: Vladimir Sokolovsky Cc: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 18c07cf530cf4aa8b7551801f68ed40db5ee4e45 Author: Cliff Wickman Date: Thu Jan 15 09:51:20 2009 -0600 x86, UV: cpu_relax in uv_wait_completion The function uv_wait_completion() spins on reads of a memory-mapped register, waiting for completion of BAU hardware replies. It should call "cpu_relax()" between those reads to improve performance on hyperthreaded configurations. Signed-off-by: Cliff Wickman Acked-by: Jack Steiner Signed-off-by: Ingo Molnar commit 4a13ad0bd8869bb491c67918662f9b1852595af5 Author: Jan Beulich Date: Wed Jan 14 12:28:51 2009 +0000 x86: avoid early crash in disable_local_APIC() E.g. when called due to an early panic. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit c903ff837909ccada51243307d4239f86af40179 Author: Mike Travis Date: Thu Jan 15 12:28:29 2009 -0800 rcu: move Kconfig menu Move RCU Kconfig options from top-level menu to an "RCU Subsystem" menu under the "General Setup" menu. Signed-off-by: Mike Travis Tested-by: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit c9280d681c4093405fc896dc25f81d5ff9de8183 Author: Takashi Iwai Date: Thu Jan 15 17:31:00 2009 +0100 ALSA: hda - Fix (yet more) STAC925x issues The codec-parsing of STAC925x was utterly broken due to its unique design unlike other STAC codecs. It has a volume control only in NID 0x0e (similar as STAC9200), but the parser assumes that the amp is available on each DAC widget. The patch fixes the whole wrong stories: fix the initial volume, assign the fixed "Master" volume, and avoid to create wrong volume controls. Signed-off-by: Takashi Iwai commit 1639058ed1dd0b856a5c34064a990c7827b0e32b Author: Tony Lindgren Date: Thu Jan 15 13:57:48 2009 +0200 ARM: OMAP: Fix compile for h3 MMC Fix compile for h3 MMC Signed-off-by: Tony Lindgren commit e999bbe7f1318390e997d13e508e4f16b1b130af Author: Tony Lindgren Date: Thu Jan 15 13:55:59 2009 +0200 ARM: OMAP: Remove unused platform devices, v3 This patch removes old platform devices. Alsa should now be using the ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c. Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling. Remove references to omap_gpio_switch, and unused h2_nand_dev_ready function. This patch is based on an earlier patch by Arun KS. Cc: Jarkko Nikula Signed-off-by: Arun KS Signed-off-by: Tony Lindgren commit 3127f8f8595a064b3f1a1837fea2177902589ac3 Author: Tony Lindgren Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3 This patch enables writing to McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) for 2430/34xx platforms. It also adds XCCR, RCCR entries in McBSP register configuration structure and bit definitions for both registers. If we enable the writing to CCR registers for 2430/34xx and don't set the default values (setting 0 as a consequence) in ASoC driver, the Transmit/Receive DMA mode gets disabled and the the transmission/reception doesn't happen, ending with a "write error: Input/Output error" when playing with 'aplay'. Also define dummy CCR registers for omap1. Cc: Jarkko Nikula Signed-off-by: Misael Lopez Cruz Signed-off-by: Tony Lindgren commit 9b4a357787c27289b8c9efe916417690473538f7 Author: Arun KS Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23 Adding I2C board info is required for tlvaic23 i2c chip driver. Cc: Jarkko Nikula Signed-off-by: Arun KS Signed-off-by: Tony Lindgren commit 52628229db37229d9a6eb3af082b17a61736b86c Author: Huang Weiyi Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: remove duplicated #include's Removed duplicated #include's in arch/arm/mach-omap1/board-voiceblue.c Signed-off-by: Huang Weiyi Signed-off-by: Tony Lindgren commit 4b3cf44846b6424d4119676ad68d54a62b81e31c Author: Anand Gadiyar Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used. Also clean up the function a bit by removing extra parens and clearing the bits at before write. Reported by Wenbiao Wang. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 3a26e3318bc2ceec340f242c6ee7074becdc7219 Author: Tony Lindgren Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS There are no wakeup registers on 15xx, and suspend_wakeup does not exist in the struct gpio_bank. Without this fix we'll get "arch/arm/plat-omap/gpio.c:1792: error: 'struct gpio_bank' has no member named 'suspend_wakeup'" as noted by Russell King. Note that the ifdefs will be cleaned up once the omap gpio code gets split into omap1 and omap2 specific parts. Signed-off-by: Tony Lindgren commit 145d9c94b9039efdab6853255f6b916adc793bfd Author: Tony Lindgren Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix compile for beagle Move twl4030 gpio init code to where it should be. Also include twl4030.h. Signed-off-by: Tony Lindgren commit 73069e388d0f2509e45e1a58b0facca99ef2446e Author: Jarkko Nikula Date: Thu Jan 15 13:09:52 2009 +0200 ARM: OMAP: Fix gpio by switching to generic gpio calls, v2 Fix compile by removing remaining omap specific gpio calls. Based on earlier patches by Jarkko Nikula. Also remove old GPIO key code, there is already a patch to do this with gpio_keys. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit dc0e88c7e15acbe3d7e8682312f709938f0dcf01 Author: Tony Lindgren Date: Thu Jan 15 13:09:52 2009 +0200 ARM: OMAP: Fix compile for palmte Remove old MMC platform init code accidentally left behind. Patches are welcome to the new style MMC init code. Signed-off-by: Tony Lindgren commit dd7667aa700a45ffb3efac64f6df0867d5837f5b Author: Tony Lindgren Date: Thu Jan 15 13:09:51 2009 +0200 ARM: OMAP: Fix compile for various McBSP Include irqs.h or cpu.h directly as needed to fix omap builds. Signed-off-by: Tony Lindgren commit 934d96eafadcf3eb3ccd094af9919f020907fc41 Author: Jaswinder Singh Rajput Date: Wed Jan 14 20:38:17 2009 +0530 time-sched.c: tick_nohz_update_jiffies should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: kernel/time/tick-sched.c:137:6: warning: symbol 'tick_nohz_update_jiffies' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit cbbe1efa4972350286b52cb48aefaa11e198c0fb Author: Roland Dreier Date: Wed Jan 14 21:44:39 2009 -0800 IPoIB: Fix deadlock between ipoib_open() and child interface create Fix a deadlock between child interface creation/deletion and ipoib start/stop. The former takes vlan_mutex, and then might take RTNL via register_netdev()/unregister_netdev(). The latter is executed with RTNL held, and tries to take vlan_mutex, which can lead to an AB-BA deadlock. Fix this by having the child interface creation/deletion code take the RTNL first so vlan_mutex always nests inside RTNL. We can use register_netdevice() for child interfaces because we form the interface name from the parent interface and hence don't need the '%' expansion of register_netdev(). Reported-by: Yossi Etigin Signed-off-by: Roland Dreier commit 6782dfe44acedf1e583d84e9e0d4f966d8e9befa Author: Peter Korsgaard Date: Wed Jan 14 22:32:58 2009 -0700 fsldma: check for NO_IRQ in fsl_dma_chan_remove() There's no per-channel IRQ on mpc83xx, so only call free_irq if we have one. Acked-by: Timur Tabi Acked-by: Li Yang Signed-off-by: Peter Korsgaard Signed-off-by: Dan Williams commit b8a1b1ce14252b59b2d5c89de25b54f9bfd4cc5e Author: Roland Dreier Date: Wed Jan 14 14:55:41 2009 -0800 IPoIB: Fix hang in napi_disable() if P_Key is never found After commit fe25c561 ("IPoIB: Don't enable NAPI when it's already enabled"), if an interface is brought up but the corresponding P_Key never appears, then ipoib_stop() will hang in napi_disable(), because ipoib_open() returns before it does napi_enable(). Fix this by changing ipoib_open() to call napi_enable() even if the P_Key isn't present. Reported-by: Yossi Etigin Signed-off-by: Roland Dreier commit df291fa993c506da89a89264ff8166bccd172a14 Author: Randy Dunlap Date: Thu Jan 8 10:59:34 2009 -0800 kbuild: fix kbuild.txt typos Fix typos in the new kbuild.txt file. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 2302e8730e5caa774e7c6702fc878404d71f13f9 Author: Andi Kleen Date: Wed Jan 7 22:33:15 2009 +0100 kbuild: print usage with no arguments in scripts/config Requested by Sam. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 2ea038917bbdd51a7ae4a898c6a04641324dd033 Author: Sam Ravnborg Date: Wed Jan 14 21:38:20 2009 +0100 Revert "kbuild: strip generated symbols from *.ko" This reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483. And commit: ("allow stripping of generated symbols under CONFIG_KALLSYMS_ALL") 9bb482476c6c9d1ae033306440c51ceac93ea80c These stripping patches has caused a set of issues: 1) People have reported compatibility issues with binutils due to lack of support for `--strip-unneeded-symbols' with objcopy 2.15.92.0.2 Reported by: Wenji 2) ccache and distcc no longer works as expeced Reported by: Ted, Roland, + others 3) The installed modules increased a lot in size Reported by: Ted, Davej + others Reported-by: Wenji Huang Reported-by: "Theodore Ts'o" Reported-by: Dave Jones Reported-by: Roland McGrath Signed-off-by: Sam Ravnborg commit 5cca0cf15a94417f49625ce52e23589eed0a1675 Author: Suresh Siddha Date: Fri Jan 9 14:35:20 2009 -0800 x86, pat: fix reserve_memtype() for legacy 1MB range Thierry Vignaud reported: > http://bugzilla.kernel.org/show_bug.cgi?id=12372 > > On P4 with an SiS motherboard (video card is a SiS 651) > X server fails to start with error: > xf86MapVidMem: Could not mmap framebuffer (0x00000000,0x2000) (Invalid > argument) Here X is trying to map first 8KB of memory using /dev/mem. Existing code treats first 0-4KB of memory as non-RAM and 4KB-8KB as RAM. Recent code changes don't allow to map memory with different attributes at the same time. Fix this by treating the first 1MB legacy region as special and always track the attribute requests with in this region using linear linked list (and don't bother if the range is RAM or non-RAM or mixed) Reported-and-tested-by: Thierry Vignaud Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit baf48f6577e581a9adb8fe849dc80e24b21d171d Author: Mandeep Singh Baines Date: Mon Jan 12 21:15:17 2009 -0800 softlock: fix false panic which can occur if softlockup_thresh is reduced At run-time, if softlockup_thresh is changed to a much lower value, touch_timestamp is likely to be much older than the new softlock_thresh. This will cause a false softlockup to be detected. If softlockup_panic is enabled, the system will panic. The fix is to touch all watchdogs before changing softlockup_thresh. Signed-off-by: Mandeep Singh Baines Signed-off-by: Ingo Molnar commit e4fa4c97016037620f9dc8bafe03e1086b665b4c Author: Lai Jiangshan Date: Wed Jan 14 14:58:15 2009 +0800 rcu: add __cpuinit to rcu_init_percpu_data() Impact: reduce memory footprint add __cpuinit to rcu_init_percpu_data(), and this function's text will be discarded after boot when !CONFIG_HOTPLUG_CPU. Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit c8399943bdb70fef78798b97f975506ecc99e039 Author: Andi Kleen Date: Mon Jan 12 23:01:15 2009 +0100 x86, generic: mark complex bitops.h inlines as __always_inline Impact: reduce kernel image size Hugh Dickins noticed that older gcc versions when the kernel is built for code size didn't inline some of the bitops. Mark all complex x86 bitops that have more than a single asm statement or two as always inline to avoid this problem. Probably should be done for other architectures too. Ingo then found a better fix that only requires a single line change, but it unfortunately only works on gcc 4.3. On older gccs the original patch still makes a ~0.3% defconfig difference with CONFIG_OPTIMIZE_INLINING=y. With gcc 4.1 and a defconfig like build: 6116998 1138540 883788 8139326 7c323e vmlinux-oi-with-patch 6137043 1138540 883788 8159371 7c808b vmlinux-optimize-inlining ~20k / 0.3% difference. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit d86be86e9aab221089d72399072511f13fe2a771 Author: Atsushi Nemoto Date: Tue Jan 13 09:22:20 2009 -0700 dmatest: Use custom map/unmap for destination buffer The dmatest driver should use DMA_BIDIRECTIONAL on the destination buffer to ensure that the poison values are written to RAM and not just written to cache and discarded. Acked-by: Haavard Skinnemoen Acked-by: Maciej Sosnowski Signed-off-by: Atsushi Nemoto Signed-off-by: Dan Williams commit 4a922a969cb0190ce4580d4b064e2ac35f3ac9bf Author: Ingo Molnar Date: Tue Jan 13 16:11:00 2009 +0100 x86, cpufreq: remove leftover copymask_copy() Impact: fix potential boot crash on MAXSMP Remove code left over by: 50c668d: Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read That cmd.cpumask is not allocated anymore. No impact on default !MAXSMP kernels. Signed-off-by: Ingo Molnar commit 6527de6d6d25ebfae7c7572cb7a4ed768e2e20a5 Author: Dan Williams Date: Mon Jan 12 15:18:34 2009 -0700 fsldma: use a valid 'device' for dma_pool_create The dmaengine sysfs implementation was fixed to support proper lifetime rules which means that the current: new_fsl_chan->dev = &new_fsl_chan->common.dev->device; ...retrieves a NULL pointer because new_fsl_chan->common.dev has not been allocated at this point. So, set new_fsl_chan->dev to a valid device. Cc: Li Yang Cc: Zhang Wei Reported-by: Ira Snyder Tested-by: Ira Snyder Signed-off-by: Dan Williams commit dd59b8537f6cb53ab863fafad86a5828f1e889a2 Author: Yuri Tikhonov Date: Mon Jan 12 15:17:20 2009 -0700 dmaengine: fix dependency chaining In dmaengine we track the dependencies between the descriptors using the 'next' pointers of the structure. These pointers are set to NULL as soon as the corresponding descriptor has been submitted to the channel (in dma_run_dependencies()). But, the first 'next' in chain is still remaining set, regardless the fact, that tx->next has been already submitted. This may lead to multiple submissions of the same descriptor. This patch fixes this. Actually, some previous implementation of the xxx_run_dependencies() function already had this fix in place. The fdb..0eaf3 commit, beside the correct things, broke this. Cc: Signed-off-by: Yuri Tikhonov Signed-off-by: Dan Williams commit 6d612b0f943289856c6e8186c564cda922cd040e Author: Peter Zijlstra Date: Mon Jan 12 12:52:23 2009 +0100 locking, hpet: annotate false positive warning Alexander Beregalov reported that this warning is caused by the HPET code: > hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 > hpet0: 3 comparators, 64-bit 14.318180 MHz counter > ODEBUG: object is on stack, but not annotated > ------------[ cut here ]------------ > WARNING: at lib/debugobjects.c:251 __debug_object_init+0x2a4/0x352() > Bisected down to 26afe5f2fbf06ea0765aaa316640c4dd472310c0 > (x86: HPET_MSI Initialise per-cpu HPET timers) The commit is fine - but the on-stack workqueue entry needs annotation. Reported-and-bisected-by: Alexander Beregalov Signed-off-by: Peter Zijlstra Tested-by: Alexander Beregalov Signed-off-by: Ingo Molnar commit 783adf42cf039083dd3c734c07c3bdc707e2bb15 Author: Steven Noonan Date: Sun Jan 11 01:04:21 2009 -0800 kernel/fork.c: unused variable 'ret' Removed the unused variable. Signed-off-by: Steven Noonan Signed-off-by: Ingo Molnar commit d19b85db9d5c44a4c21dcb10d6fbadaa4425ab2a Merge: 490dea4... c597650... Author: Ingo Molnar Date: Sun Jan 11 15:34:05 2009 +0100 Merge commit 'v2.6.29-rc1' into timers/urgent commit 490dea45d00f01847ebebd007685d564aaf2cd98 Author: Peter Zijlstra Date: Mon Nov 24 17:06:57 2008 +0100 itimers: remove the per-cpu-ish-ness Either we bounce once cacheline per cpu per tick, yielding n^2 bounces or we just bounce a single.. Also, using per-cpu allocations for the thread-groups complicates the per-cpu allocator in that its currently aimed to be a fixed sized allocator and the only possible extention to that would be vmap based, which is seriously constrained on 32 bit archs. So making the per-cpu memory requirement depend on the number of processes is an issue. Lastly, it didn't deal with cpu-hotplug, although admittedly that might be fixable. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar