commit e0e170bd7ded2ec16e2813d63c0faff43193fde8 Merge: b20f9e5 b843e4e Author: Linus Torvalds Date: Mon Oct 25 16:53:11 2010 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze * 'next' of git://git.monstr.eu/linux-2.6-microblaze: (42 commits) microblaze: Fix build with make 3.82 fbdev/xilinxfb: Microblaze driver support microblaze: Support C optimized lib functions for little-endian microblaze: Separate library optimized functions microblaze: Support timer on AXI lite microblaze: Add support for little-endian Microblaze microblaze: KGDB little endian support microblaze: Add PVR for endians plus detection net: emaclite: Add support for little-endian platforms microblaze: trivial: Add comment for AXI pvr microblaze: pci-common cleanup microblaze: Support early console on uart16550 microblaze: Do not compile early console support for uartlite if is disabled microblaze: Setup early console dynamically microblaze: Rename all uartlite early printk functions microblaze: remove early printk uarlite console dependency from header microblaze: Remove additional compatible properties microblaze: Remove hardcoded asm instraction for PVR loading microblaze: Use static const char * const where possible microblaze: Define VMALLOC_START/END ... commit b20f9e5bddddb5ef0d743d6e0d409ffc8cf9fc56 Merge: 5260562 b11e7b3 Author: Linus Torvalds Date: Mon Oct 25 16:25:31 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits) hwmon: lis3: Release resources in case of failure hwmon: lis3: Short explanations of platform data fields hwmon: lis3: Enhance lis3 selftest with IRQ line test hwmon: lis3: use block read to access data registers hwmon: lis3: Adjust fuzziness for 8 bit device hwmon: lis3: New parameters to platform data hwmon: lis3: restore axis enabled bits hwmon: lis3: Power on corrections hwmon: lis3: Update coordinates at polled device open hwmon: lis3: Cleanup interrupt handling hwmon: lis3: regulator control hwmon: lis3: pm_runtime support Kirkwood: add fan support for Network Space Max v2 hwmon: add generic GPIO fan driver hwmon: (coretemp) fix reading of microcode revision (v2) hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs hwmon: (pkgtemp) align driver initialization style with coretemp hwmon: LTC4261 Hardware monitoring driver hwmon: (lis3) add axes module parameter for custom axis-mapping hwmon: (hp_accel) Add HP Mini 510x family support ... commit 5260562754c0aa4b95eebb1f851eaccce7286365 Author: David Howells Date: Mon Oct 25 23:41:11 2010 +0100 MN10300: Fix the PERCPU() alignment to allow for workqueues In the MN10300 arch, we occasionally see an assertion being tripped in alloc_cwqs() at the following line: /* just in case, make sure it's actually aligned */ ---> BUG_ON(!IS_ALIGNED(wq->cpu_wq.v, align)); return wq->cpu_wq.v ? 0 : -ENOMEM; The values are: wa->cpu_wq.v => 0x902776e0 align => 0x100 and align is calculated by the following: const size_t align = max_t(size_t, 1 << WORK_STRUCT_FLAG_BITS, __alignof__(unsigned long long)); This is because the pointer in question (wq->cpu_wq.v) loses some of its lower bits to control flags, and so the object it points to must be sufficiently aligned to avoid the need to use those bits for pointing to things. Currently, 4 control bits and 4 colour bits are used in normal circumstances, plus a debugging bit if debugging is set. This requires the cpu_workqueue_struct struct to be at least 256 bytes aligned (or 512 bytes aligned with debugging). PERCPU() alignment on MN13000, however, is only 32 bytes as set in vmlinux.lds.S. So we set this to PAGE_SIZE (4096) to match most other arches and stick a comment in alloc_cwqs() for anyone else who triggers the assertion. Reported-by: Akira Takeuchi Signed-off-by: David Howells Acked-by: Mark Salter Cc: Tejun Heo Signed-off-by: Linus Torvalds commit b11e7b3f3b56119194234085d42a633ceabd6aba Author: Samu Onkalo Date: Fri Oct 22 07:57:34 2010 -0400 hwmon: lis3: Release resources in case of failure If lis3lv02d_init_device fails, HW resources were not released properly. In case of failure call release_resources if available. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 83af1bd81f7b7fb31a681b0c80790866f190d23a Author: Samu Onkalo Date: Sat Oct 23 09:39:44 2010 -0400 hwmon: lis3: Short explanations of platform data fields Short documentation at kernel doc format. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 029756d0b8856f52d83dee81c01dd3af786cadff Author: Samu Onkalo Date: Fri Oct 22 07:57:32 2010 -0400 hwmon: lis3: Enhance lis3 selftest with IRQ line test Configure chip to data ready mode in selftest and count received interrupts to see that interrupt line(s) are working. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit f10a5407b58603fb3b084d7fbdbd50f47d010c82 Author: Samu Onkalo Date: Fri Oct 22 07:57:31 2010 -0400 hwmon: lis3: use block read to access data registers Add optional blockread function to interface driver. If available the chip driver uses it for data register access. For 12 bit device it reads 6 bytes to get 3*16bit data. For 8 bit device it reads out 5 bytes since every second byte is dummy. This optimizes bus usage and reduces number of operations and interrupts needed for one data update. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 477bc918c2323a51f577cd892ca49376f6feb5d5 Author: Samu Onkalo Date: Fri Oct 22 07:57:30 2010 -0400 hwmon: lis3: Adjust fuzziness for 8 bit device Default fuziness is set smaller for 8 device. In 12 bit device LSB is quite close to 1 mg (mg = 1 / 1000 of earth gravity). In 8bit device LSB is about 18 mg. Set fuziness to 1 for 8 bit device. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit cc23aa1ce2631b2fe1e3fba82ee444460f5ee3b7 Author: Samu Onkalo Date: Fri Oct 22 07:57:29 2010 -0400 hwmon: lis3: New parameters to platform data Added default output data rate setting to platform data. If default rate is 0, reset default value is used. Added control for duration via platform data. Added possibility to configure interrupts to trig on both rising and falling edge. The lis3 WU unit can be configured quite many ways and with some configurations it is quite handy to get coordinate refresh when some event trigs and when it reason goes away. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit ed37d7f619648bf1a3ac136e80d2d0d647734eb3 Author: Samu Onkalo Date: Fri Oct 22 07:57:28 2010 -0400 hwmon: lis3: restore axis enabled bits All axis enable bits are set to 0 at module remove. Restore reset default value at init. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 2a7fade7e03a7c773f91e2e5ff26ad6fafda5a9f Author: Samu Onkalo Date: Fri Oct 22 07:57:27 2010 -0400 hwmon: lis3: Power on corrections Sometimes lis3 chip seems to fail to setup factory tuning at boot up. This probably happens if there is some odd power ramp down ramp up sequence for example in device restart. Set boot bit in control2 register to trig boot sequence manually and wait until it is finished. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 821f664644c2da9e1a51e36751abedf49d4332e0 Author: Samu Onkalo Date: Fri Oct 22 07:57:26 2010 -0400 hwmon: lis3: Update coordinates at polled device open Call input device poll function at device open to refresh coordinates immediately. This is needed for the case where poll interval is set to zero and coordinate updates happens purely under interrupt control. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit e726111f953f8f5b922b953caf06ba6790c5fbaa Author: Samu Onkalo Date: Fri Oct 22 07:57:25 2010 -0400 hwmon: lis3: Cleanup interrupt handling Irqcfg moved to chip data instead of platform data. This simplifies access in interrupt handler little bit. Input device open and close functions set status for interrupt threaded handler once. Unnecessary check for interrupt source removed since it is enough that active interrupt line indicates that there was an interrupt. Signed-off-by: Samu Onkalo Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit f9deb41f91c41d9d91a24c84a555ec7fe82620da Author: Samu Onkalo Date: Fri Oct 22 07:57:24 2010 -0400 hwmon: lis3: regulator control Based on pm_runtime control, turn lis3 regulators on and off. Perform context save and restore on transitions. Feature is optional and must be enabled in platform data. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 2a346996626ecbb4269c239e9ff7372a182907e9 Author: Samu Onkalo Date: Fri Oct 22 07:57:23 2010 -0400 hwmon: lis3: pm_runtime support Add pm_runtime support to lis3 core driver. Add pm_runtime support to lis3 i2c driver. spi and hp_accel drivers are not yet supported. Old always on functionality remains for those. For sysfs there is 5 second delay before turning off the chip to avoid long ramp up delay. Signed-off-by: Samu Onkalo Acked-by: Jonathan Cameron Acked-by: Eric Piel Signed-off-by: Guenter Roeck commit 0ab83a7ce5c566b84d492d598dc64a19bfaef9ab Author: Simon Guinot Date: Fri Oct 22 05:29:18 2010 -0400 Kirkwood: add fan support for Network Space Max v2 Signed-off-by: Simon Guinot Acked-by: Nicolas Pitre Signed-off-by: Guenter Roeck commit d6fe1360f42e86262153927986dea6502daff703 Author: Simon Guinot Date: Fri Oct 22 00:44:19 2010 +0200 hwmon: add generic GPIO fan driver This patch adds hwmon support for fans connected to GPIO lines. Platform specific information such as GPIO pinout and speed conversion array (rpm from/to GPIO value) are passed to the driver via platform_data. Signed-off-by: Simon Guinot Signed-off-by: Guenter Roeck commit 3247800676c4a04352cde72b9935b57ffc72ce15 Author: Jan Beulich Date: Fri Oct 8 04:59:38 2010 -0400 hwmon: (coretemp) fix reading of microcode revision (v2) According to the documentation, simply reading the respective MSR isn't sufficient: It should be written with zeros, cpuid(1) be executed, and then read (see arch/x86/kernel/cpu/intel.c for an example). v2: Fail probe when microcode revision cannot be determined, but is needed to check for proper operation. Signed-off-by: Jan Beulich Cc: Fenghua Yu Cc: Chen Gong Cc: Jean Delvare Acked-by: Fenghua Yu Signed-off-by: Guenter Roeck commit 17c10d61c750619324ee2a46c5a9e03a435fe212 Author: Chen Gong Date: Fri Oct 8 22:01:48 2010 -0400 hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs CONFIG_HOTPLUG_CPU is used too much in some drivers. This patch clean them up. Signed-off-by: Chen Gong Signed-off-by: Guenter Roeck commit fd53d08465a79d742a297be1d7d173f8a13972a6 Author: Chen Gong Date: Fri Oct 8 05:53:35 2010 +0000 hwmon: (pkgtemp) align driver initialization style with coretemp pkgtemp is derived from coretemp, so some reasonable logics should be applied onto pkgtemp, too. Such as the init logic here. Signed-off-by: Chen Gong Signed-off-by: Guenter Roeck commit e5f5c99a39375ce533aacfdfb269978070121e1c Author: Guenter Roeck Date: Fri Jun 25 11:59:54 2010 -0700 hwmon: LTC4261 Hardware monitoring driver This driver adds support for Linear Technology LTC4261 I2C Negative Voltage Hot Swap Controller. Reviewed-by: Ira W. Snyder Reviewed-by: Tom Grennan Signed-off-by: Guenter Roeck commit 2ee321440e3a594dcdd9981e68e5e302447047a2 Author: Takashi Iwai Date: Fri Oct 1 17:14:25 2010 -0400 hwmon: (lis3) add axes module parameter for custom axis-mapping The axis-mapping of lis3dev device on many (rather most) HP machines doesn't follow the standard. When each new model appears, users need to adjust again. Testing this requires the rebuild of kernel, thus it's not trivial for end-users. This patch adds a module parameter "axes" to allow a custom axis-mapping without patching and recompiling the kernel driver. User can pass the parameter such as axes=3,2,1. Also it can be changed via sysfs. Signed-off-by: Takashi Iwai Acked-by: Eric Piel Cc: Jean Delvare Cc: Guenter Roeck Signed-off-by: Andrew Morton Signed-off-by: Guenter Roeck commit 37394050b5be0fe87f96ed8848f11c3c2cd4d556 Author: Masanari Iida Date: Fri Aug 27 00:21:43 2010 +0000 hwmon: (hp_accel) Add HP Mini 510x family support This patch is an enhanced version of Takashi Iwai's [PATCH] hp_accel: Add quirks for HP ProBook 532x and HP Mini 5102 My HP Mini 5101 works fine with this patch. Confirmed with Tux Racer. Signed-off by: Masanari Iida Acked-by: Takashi Iwai Cc: Eric Piel Signed-off-by: Guenter Roeck commit 78537c3b6ffcb69bf4fd43a74ba57928fcefce95 Author: Takashi Iwai Date: Thu Sep 23 10:01:39 2010 -0700 hwmon: (lis3) Add support for new LIS3DC / HP3DC chip A new version of LIS3 chip has slight incompatibilities from former versions. This patch adds the minimal support for it. Signed-off-by: Takashi Iwai Signed-off-by: Guenter Roeck commit 9401ba13281f9cf36c85d4f8d3a52f9655e69b58 Author: Jan Beulich Date: Mon Sep 13 10:32:08 2010 +0000 x86/hwmon: remove inclusion of unnecessary headers from {core, pkg, via-cpu}temp.c These likely originate from these drivers being clones of one another and/or other drivers which actually needed these includes. Signed-off-by: Jan Beulich Signed-off-by: Guenter Roeck commit e0a8755b6b701b3397c4c23ff182b7eb6ac6fe26 Author: Jan Beulich Date: Mon Sep 13 10:28:35 2010 +0000 x86/hwmon: (coretemp) cosmetic cleanup "break" after "return" is at best bogus (good compilers even warn about the "break" being unreachable). Signed-off-by: Jan Beulich Cc: Rudolf Marek Signed-off-by: Guenter Roeck commit a5f42a6bc51454137b918f67310168c27d1dd1de Author: Jan Beulich Date: Thu Sep 23 22:31:10 2010 -0700 x86/hwmon: {core, pkg, via}cpu_temp_device_remove() can all be __cpuinit ... as they're being called only from a __cpuinit function. Signed-off-by: Jan Beulich Signed-off-by: Guenter Roeck commit 74eb94b218d087798a52c0b4f1379b635287a4b8 Merge: 7b6181e 9a84d38 Author: Linus Torvalds Date: Mon Oct 25 13:48:29 2010 -0700 Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits) SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred nfs: fix unchecked value Ask for time_delta during fsinfo probe Revalidate caches on lock SUNRPC: After calling xprt_release(), we must restart from call_reserve NFSv4: Fix up the 'dircount' hint in encode_readdir NFSv4: Clean up nfs4_decode_dirent NFSv4: nfs4_decode_dirent must clear entry->fattr->valid NFSv4: Fix a regression in decode_getfattr NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer NFS: Ensure we check all allocation return values in new readdir code NFS: Readdir plus in v4 NFS: introduce generic decode_getattr function NFS: check xdr_decode for errors NFS: nfs_readdir_filler catch all errors NFS: readdir with vmapped pages NFS: remove page size checking code NFS: decode_dirent should use an xdr_stream SUNRPC: Add a helper function xdr_inline_peek NFS: remove readdir plus limit ... commit 7b6181e06841f5ad15c4ff708b967b4db65a64de Merge: 72e5806 bc487fb Author: Linus Torvalds Date: Mon Oct 25 13:46:56 2010 -0700 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (163 commits) omap: complete removal of machine_desc.io_pg_offst and .phys_io omap: UART: fix wakeup registers for OMAP24xx UART2 omap: Fix spotty MMC voltages ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h serial: omap-serial: fix signess error OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish omap: dma: Fix buffering disable bit setting for omap24xx omap: serial: Fix the boot-up crash/reboot without CONFIG_PM OMAP3: PM: fix scratchpad memory accesses for off-mode omap4: pandaboard: enable the ehci port on pandaboard omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set omap4: pandaboard: remove unused hsmmc definition OMAP: McBSP: Remove null omap44xx ops comment OMAP: McBSP: Swap CLKS source definition OMAP: McBSP: Fix CLKR and FSR signal muxing OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks OMAP: control: move plat-omap/control.h to mach-omap2/control.h OMAP: split plat-omap/common.c OMAP: McBSP: implement functional clock switching via clock framework OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c ... Fixed up trivial conflicts in arch/arm/mach-omap2/ {board-zoom-peripherals.c,devices.c} as per Tony commit 72e58063d63c5f0a7bf65312f1e3a5ed9bb5c2ff Merge: 57c155d 489e176 Author: Linus Torvalds Date: Mon Oct 25 10:59:31 2010 -0700 Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (50 commits) davinci: fix remaining board support after io_pgoffst removal davinci: mityomapl138: make file local data static arm/davinci: remove duplicated include davinci: Initial support for Omapl138-Hawkboard davinci: MityDSP-L138/MityARM-1808 read MAC address from I2C Prom davinci: add tnetv107x touchscreen platform device input: add driver for tnetv107x touchscreen controller davinci: add keypad config for tnetv107x evm board davinci: add tnetv107x keypad platform device input: add driver for tnetv107x on-chip keypad controller net: davinci_emac: cleanup unused cpdma code net: davinci_emac: switch to new cpdma layer net: davinci_emac: separate out cpdma code net: davinci_emac: cleanup unused mdio emac code omap: cleanup unused davinci mdio arch code davinci: cleanup mdio arch code and switch to phy_id net: davinci_emac: switch to new mdio omap: add mdio platform devices davinci: add mdio platform devices net: davinci_emac: separate out davinci mdio ... Fix up trivial conflict in drivers/input/keyboard/Kconfig (two entries added next to each other - one from the davinci merge, one from the input merge) commit 57c155d51e2f3d7411eeac5e7fd7634d2d1f6b4f Merge: 9afd281 fe2fd9e Author: Linus Torvalds Date: Mon Oct 25 10:08:21 2010 -0700 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd * 'for-linus' of git://git.open-osd.org/linux-open-osd: exofs: Remove inode->i_count manipulation in exofs_new_inode fs/exofs: typo fix of faild to failed exofs: Set i_mapping->backing_dev_info anyway exofs: Cleaup read path in regard with read_for_write commit 9afd281a152702143961c09b5482a66eeefe5e03 Author: Borislav Petkov Date: Mon Oct 25 18:15:22 2010 +0200 x86-32, mm: Remove duplicated include Commit b40827fa7268 ("x86-32, mm: Add an initial page table for core bootstrapping") added an include directive which is needless and is taken care of by a previous one. Remove it. Caught-by: Jaswinder Singh Rajput Signed-off-by: Borislav Petkov Signed-off-by: Linus Torvalds commit fe2fd9ed5bf184f797412be8b86f4589d1b77bb8 Author: Boaz Harrosh Date: Sat Oct 16 19:14:01 2010 +1100 exofs: Remove inode->i_count manipulation in exofs_new_inode exofs_new_inode() was incrementing the inode->i_count and decrementing it in create_done(), in a bad attempt to make sure the inode will still be there when the asynchronous create_done() finally arrives. This was very stupid because iput() was not called, and if it was actually needed, it would leak the inode. However all this is not needed, because at exofs_evict_inode() we already wait for create_done() by waiting for the object_created event. Therefore remove the superfluous ref counting and just Thicken the comment at exofs_evict_inode() a bit. While at it change places that open coded wait_obj_created() to call the already available wrapper. CC: Dave Chinner CC: Christoph Hellwig CC: Nick Piggin Signed-off-by: Boaz Harrosh commit 571f7f46bf367b29f574ca51a9ca1db5035602bb Author: Joe Perches Date: Thu Oct 21 22:17:17 2010 -0700 fs/exofs: typo fix of faild to failed Signed-off-by: Joe Perches Signed-off-by: Boaz Harrosh commit c4a6eb3b7d5b483de331313e7ea38a6891a3447a Merge: 33081ad 96f4a70 Author: Linus Torvalds Date: Mon Oct 25 08:36:50 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (48 commits) [S390] topology: export cpu topology via proc/sysinfo [S390] topology: move topology sysinfo code [S390] topology: clean up facility detection [S390] cleanup facility list handling [S390] enable ARCH_DMA_ADDR_T_64BIT with 64BIT [S390] dasd: ignore unsolicited interrupts for DIAG [S390] kvm: Enable z196 instruction facilities [S390] dasd: fix unsolicited interrupt recognition [S390] dasd: fix use after free in dbf [S390] kvm: Fix badness at include/asm/mmu_context.h:83 [S390] cio: fix I/O cancel function [S390] topology: change default [S390] smp: use correct cpu address in print_cpu_info() [S390] remove ieee_instruction_pointer from thread_struct [S390] cleanup system call parameter setup [S390] correct alignment of cpuid structure [S390] cleanup lowcore access from external interrupts [S390] cleanup lowcore access from program checks [S390] pgtable: move pte_mkhuge() from hugetlb.h to pgtable.h [S390] fix SIGBUS handling ... commit 33081adf8b89d5a716d7e1c60171768d39795b39 Merge: c559604 506ecbc Author: Linus Torvalds Date: Mon Oct 25 08:32:05 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ... commit c55960499f810357a29659b32d6ea594abee9237 Merge: fbaab1d 10c6c9c Author: Linus Torvalds Date: Mon Oct 25 08:30:48 2010 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: Orphan the UWB and WUSB subsystems uwb: Remove the WLP subsystem and drivers commit fbaab1dc19751c80a7df62425f1d9ad2688e42f5 Merge: 51f00a4 7f80d73 Author: Linus Torvalds Date: Mon Oct 25 08:28:13 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (44 commits) eeepc-wmi: Add cpufv sysfs interface eeepc-wmi: add additional hotkeys panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata panasonic-laptop: Handle errors properly if they happen intel_pmic_gpio: fix off-by-one value range checking IBM Real-Time "SMI Free" mode driver -v7 Add OLPC XO-1 rfkill driver Move hdaps driver to platform/x86 ideapad-laptop: Fix Makefile intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register ideapad: Add param: no_bt_rfkill ideapad: Change the driver name to ideapad-laptop ideapad: rewrite the sw rfkill set ideapad: rewrite the hw rfkill notify ideapad: use EC command to control camera ideapad: use return value of _CFG to tell if device exist or not ideapad: make sure we bind on the correct device ideapad: check VPC bit before sync rfkill hw status ideapad: add ACPI helpers dell-laptop: Add debugfs support ... commit 51f00a471ce8f359627dd99aeac322947a0e491b Merge: a7f505c 97ff46c Author: Linus Torvalds Date: Mon Oct 25 08:19:14 2010 -0700 Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: mtd/m25p80: add support to parse the partitions by OF node of/irq: of_irq.c needs to include linux/irq.h of/mips: Cleanup some include directives/files. of/mips: Add device tree support to MIPS of/flattree: Eliminate need to provide early_init_dt_scan_chosen_arch of/device: Rework to use common platform_device_alloc() for allocating devices of/xsysace: Fix OF probing on little-endian systems of: use __be32 types for big-endian device tree data of/irq: remove references to NO_IRQ in drivers/of/platform.c of/promtree: add package-to-path support to pdt of/promtree: add of_pdt namespace to pdt code of/promtree: no longer call prom_ functions directly; use an ops structure of/promtree: make drivers/of/pdt.c no longer sparc-only sparc: break out some PROM device-tree building code out into drivers/of of/sparc: convert various prom_* functions to use phandle sparc: stop exporting openprom.h header powerpc, of_serial: Endianness issues setting up the serial ports of: MTD: Fix OF probing on little-endian systems of: GPIO: Fix OF probing on little-endian systems commit a7f505c6b15fb35c0de8136e370d2927ce29452c Author: Ralf Baechle Date: Sun Oct 24 22:23:50 2010 +0100 MIPS: MT: Fix build error iFPU affinity code Commit b0ae19811375 ("security: remove unused parameter from security_task_setscheduler()") broke the build of arch/mips/kernel/mips-mt-fpaff.c. The function arguments were unnecessary, not the semicolon ... Signed-off-by: Ralf Baechle Acked-by: KOSAKI Motohiro Acked-by: James Morris Signed-off-by: Linus Torvalds commit b7d41a9fbb364c67d91c3588e117eba547e2d4bf Merge: da47c19 66fa12c Author: Linus Torvalds Date: Mon Oct 25 08:05:29 2010 -0700 Merge branch 'ieee1394-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'ieee1394-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: remove the old IEEE 1394 driver stack ieee1394: move init_ohci1394_dma to drivers/firewire/ Fix trivial change/delete conflict: drivers/ieee1394/eth1394.c is getting removed, but was modified by the networking merge. commit da47c19e5c746829042933c8f945a71e2b62d6fc Author: Yoshihisa Abe Date: Mon Oct 25 02:03:46 2010 -0400 Coda: replace BKL with mutex Replace the BKL with a mutex to protect the venus_comm structure which binds the mountpoint with the character device and holds the upcall queues. Signed-off-by: Yoshihisa Abe Signed-off-by: Jan Harkes Signed-off-by: Linus Torvalds commit f7cc02b8715618e179242ba9cc10bdc5146ae565 Author: Yoshihisa Abe Date: Mon Oct 25 02:03:45 2010 -0400 Coda: push BKL regions into coda_upcall() Now that shared inode state is locked using the cii->c_lock, the BKL is only used to protect the upcall queues used to communicate with the userspace cache manager. The remaining state is all local and we can push the lock further down into coda_upcall(). Signed-off-by: Yoshihisa Abe Signed-off-by: Jan Harkes Signed-off-by: Linus Torvalds commit b5ce1d83a62fc109d8e815b1fc71dcdb0d26bc49 Author: Yoshihisa Abe Date: Mon Oct 25 02:03:44 2010 -0400 Coda: add spin lock to protect accesses to struct coda_inode_info. We mostly need it to protect cached user permissions. The c_flags field is advisory, reading the wrong value is harmless and in the worst case we hit a slow path where we have to make an extra upcall to the userspace cache manager when revalidating a dentry or inode. Signed-off-by: Yoshihisa Abe Signed-off-by: Jan Harkes Signed-off-by: Linus Torvalds commit 3a99c6319064af3f2e18eb929f638d555dbf7a62 Merge: 1dfd166 49327ad Author: Linus Torvalds Date: Mon Oct 25 07:59:01 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (75 commits) Input: wacom - specify Cinitq supported tools Input: ab8500-ponkey - fix IRQ freeing in error path Input: adp5588-keys - use more obvious i2c_device_id name string Input: ad7877 - switch to using threaded IRQ Input: ad7877 - use attribute group to control visibility of attributes Input: serio - add support for PS2Mult multiplexer protocol Input: wacom - properly enable runtime PM Input: ad7877 - filter events where pressure is beyond the maximum Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting Input: ad7877 - implement specified chip select behavior Input: hp680_ts_input - use cancel_delayed_work_sync() Input: mousedev - correct lockdep annotation Input: ads7846 - switch to using threaded IRQ Input: serio - support multiple child devices per single parent Input: synaptics - simplify pass-through port handling Input: add ROHM BU21013 touch panel controller support Input: omap4-keypad - wake-up on events & long presses Input: omap4-keypad - fix interrupt line configuration Input: omap4-keypad - SYSCONFIG register configuration Input: omap4-keypad - use platform device helpers ... commit 1dfd166e93f98892aa4427069a23ed73259983c8 Merge: 8e77516 8df3990 Author: Linus Torvalds Date: Mon Oct 25 07:51:49 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits) sh: i2c-sh7760: Replase from ctrl_* to __raw_* sh: clkfwk: Shuffle around to match the intc split up. sh: clkfwk: modify for_each_frequency end condition sh: fix clk_get() error handling sh: clkfwk: Fix fault in frequency iterator. sh: clkfwk: Add a helper for rate rounding by divisor ranges. sh: clkfwk: Abstract rate rounding helper. sh: clkfwk: support clock remapping. sh: pci: Convert to upper/lower_32_bits() helpers. sh: mach-sdk7786: Add support for the FPGA SRAM. sh: Provide a generic SRAM pool for tiny memories. sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. sh: pci: Support slot 4 routing on SDK7786. sh: Fix up PMB locking. sh: mach-sdk7786: Add support for fpga gpios. sh: use pr_fmt for clock framework, too. sh: remove name and id from struct clk sh: free-without-alloc fix for sh_mobile_lcdcfb sh: perf: Set up perf_max_events. sh: perf: Support SH-X3 hardware counters. ... Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c commit 8e775167d54e6521e7cdbc03ee7ec42a8c67b49a Merge: 4b37ba9 f253b86 Author: Linus Torvalds Date: Mon Oct 25 07:45:10 2010 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Revert "block: fix accounting bug on cross partition merges" commit 4b37ba90f49d4157ac5628f8d730d3505f176724 Merge: 229aebb 55f411d Author: Linus Torvalds Date: Mon Oct 25 07:44:27 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (21 commits) m68knommu: convert to using tracehook_report_syscall_* m68knommu: some boards use fixed phy for FEC ethernet m68knommu: support the external GPIO based interrupts of the 5272 m68knommu: mask of vector bits in exception word properly m68knommu: change to new flag variables m68knommu: Fix MCFUART_TXFIFOSIZE for m548x. m68knommu: add basic mmu-less m548x support m68knommu: .gitignore vmlinux.lds m68knommu: stop using __do_IRQ m68knommu: rename PT_OFF_VECTOR to PT_OFF_FORMATVEC. m68knommu: add support for Coldfire 547x/548x interrupt controller m68k{nommu}: Remove unused DEFINE's from asm-offsets.c m68knommu: whitespace cleanup in 68328/entry.S m68knommu: Document supported chips in intc-2.c and intc-simr.c. m68knommu: fix strace support for 68328/68360 m68knommu: fix default starting date arch/m68knommu: Removing dead 68328_SERIAL_UART2 config option arch/m68knommu: Removing dead RAM_{16,32}_MB config option arch/m68knommu: Removing dead M68KFPU_EMU config option arch/m68knommu: Removing dead RELOCATE config option ... commit 96f4a70d8eb4d746b19d5b5510407c8ff0d00340 Author: Heiko Carstens Date: Mon Oct 25 16:10:54 2010 +0200 [S390] topology: export cpu topology via proc/sysinfo Export the cpu configuration topology via sysinfo. Two new lines are introduced: CPU Topology HW: 0 0 0 4 6 4 CPU Topology SW: 0 0 0 0 4 24 The HW line describes the cpu topology nesting levels when the maximum nesting level is used to get the corresponding SYSIB. The SW line describes what Linux is actually using. In this case it supports only two levels (CONFIG_SCHED_BOOK off) and therefore the hardware folded the two lower levels in the SYSIB response block. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c30f91b6a264aef9ffb05e13931514c2a988c495 Author: Heiko Carstens Date: Mon Oct 25 16:10:53 2010 +0200 [S390] topology: move topology sysinfo code Move the topology sysinfo SYSIB definitions to the proper place in asm/sysinfo.h where they should be. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9186d7a9cfd75e51ac4db4a40e0a558371988bd2 Author: Heiko Carstens Date: Mon Oct 25 16:10:52 2010 +0200 [S390] topology: clean up facility detection Move cpu topology facility detection to early setup code where it should be. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 14375bc4eb8dd0fb0e765390650564c35bb31068 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:51 2010 +0200 [S390] cleanup facility list handling Store the facility list once at system startup with stfl/stfle and reuse the result for all facility tests. Signed-off-by: Martin Schwidefsky commit eca577ef5989d25dedc6b0fae3c4622ceaee8005 Author: FUJITA Tomonori Date: Mon Oct 25 16:10:50 2010 +0200 [S390] enable ARCH_DMA_ADDR_T_64BIT with 64BIT Signed-off-by: FUJITA Tomonori Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 56b86b615b807e043339979878a2de88f900ee4f Author: Stefan Haberland Date: Mon Oct 25 16:10:49 2010 +0200 [S390] dasd: ignore unsolicited interrupts for DIAG For the DASD DIAG discipline IO is started through special diagnose calls. Unsolicited interrupts may contain information about the device itself. But this information is not needed because the device is not used directly. Fix the case that an unimplemented dicipline function may be called by ignoring unsolicited interrupts for the DIAG disciplin. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 6d00d00bf23b86b352e2d075cfe751acd1908278 Author: Christian Borntraeger Date: Mon Oct 25 16:10:48 2010 +0200 [S390] kvm: Enable z196 instruction facilities Enable PFPO, floating point extension, distinct-operands, fast-BCR-serialization, high-word, interlocked-access, load/store- on-condition, and population-count facilities for guests. (bits 37, 44 and 45). Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a5a0061fb3a22bbd9b108af8382142fd0f41ebee Author: Stefan Weinhuber Date: Mon Oct 25 16:10:47 2010 +0200 [S390] dasd: fix unsolicited interrupt recognition The dasd interrupt handler needs to distinguish solicited from unsolicited interrupts, as unsolicited interrupts may require special handling (e.g. summary unit checks) and solicited interrupts require proper error recovery for the failed I/O request. The interrupt handler needs to check several bit fields in the interrupt response block (irb) to make this distinction. So far our check of the status control bits has not been specific enough, which may lead to a failed request getting just retried instead of the necessary error recovery. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 26cffecf84c8cb33787dd13a72bd2124d107d413 Author: Sebastian Ott Date: Mon Oct 25 16:10:46 2010 +0200 [S390] dasd: fix use after free in dbf Writing to /proc/dasd/statistics while the debug level of the generic dasd debug entry is set to DBF_DEBUG will lead to an use after free when accessing the debug entry later. Since for the format string "%s" in the s390 dbf only a pointer to the string is stored in the debug feature and the buffer used here is freed afterwards. To fix this just remove the debug message. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e05ef9bdb899e2f3798be74691842fc597d8ce60 Author: Christian Borntraeger Date: Mon Oct 25 16:10:45 2010 +0200 [S390] kvm: Fix badness at include/asm/mmu_context.h:83 commit 050eef364ad700590a605a0749f825cab4834b1e [S390] fix tlb flushing vs. concurrent /proc accesses broke KVM on s390x. On every schedule a Badness at include/asm/mmu_context.h:83 appears. s390_enable_sie replaces the mm on the __running__ task, therefore, we have to increase the attach count of the new mm. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 376ae4752e3a387d41a2ba9c9ea45c2df625e6e4 Author: Peter Oberparleiter Date: Mon Oct 25 16:10:44 2010 +0200 [S390] cio: fix I/O cancel function Function ccw_device_cancel_halt_clear may cause an unexpected kernel panic if a clear function is currently active at the subchannel for which it is called. In that case, the iretry counter used to determine the number of retries is never initialized, leading to an immediate failure of the function which results in a kernel panic. Fix this by initializing the iretry counter when the function is first called. Also replace the kernel panic with a return code: a single malfunctioning I/O device should not automatically cause a system-wide kernel panic. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit c9af3fa9e1e3e5154649991a14b74f3a2dee19ee Author: Heiko Carstens Date: Mon Oct 25 16:10:43 2010 +0200 [S390] topology: change default Switch default value of the kernel parameter 'topology' from off to on. Various performance measurements have finally shown that there are no (known) regressions anywhere. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0576fc703a03a43e73a57450d5720b47ec7a03ba Author: Heiko Carstens Date: Mon Oct 25 16:10:42 2010 +0200 [S390] smp: use correct cpu address in print_cpu_info() Up to now print_cpu_info() uses the cpu address stored in it's local lowcore to print a message to the console. The cpu address in the lowcore is (in this case) however not the physical cpu address of the local cpu. It's the address of the cpu that issued the sigp restart which started the local cpu. Fix this by using the store cpu address instruction instead. It's not that anybody really cares since this is broken since more than ten years... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ba6cadfebc18f786ef4e60e9ff03f9656ce3d584 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:41 2010 +0200 [S390] remove ieee_instruction_pointer from thread_struct The ieee_instruction_pointer can not be read from user space anymore since git commit 613e1def6b52c399a8b72a5e11bc2e57d2546fb8, the ptrace interface always returns zero. Remove it from the thread_struct. It is still present in the user_regs_struct for compatability reasons. Signed-off-by: Martin Schwidefsky commit baa071588c3ffcc1a8721faf9337140e85d34bf6 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:40 2010 +0200 [S390] cleanup system call parameter setup Do the setup of the stack overflow argument for the sixth system call parameter right before the branch to the system call function. That simplifies the system call parameter access code. Signed-off-by: Martin Schwidefsky commit 178514d7e3e8cfba087b3a208e22a54ce65e8f34 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:39 2010 +0200 [S390] correct alignment of cpuid structure The store-cpu-id instruction has a minimum alignment of 8. Reflect that in the definition of struct cpuid. Signed-off-by: Martin Schwidefsky commit f6649a7e5a9ee99e9623878f4a5579cc2f6cdd51 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:38 2010 +0200 [S390] cleanup lowcore access from external interrupts Read external interrupts parameters from the lowcore in the first level interrupt handler in entry[64].S. Signed-off-by: Martin Schwidefsky commit 1e54622e0403891b10f2105663e0f9dd595a1f17 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:37 2010 +0200 [S390] cleanup lowcore access from program checks Read all required fields for program checks from the lowcore in the first level interrupt handler in entry[64].S. If the context that caused the fault was enabled for interrupts we can now re-enable the irqs in entry[64].S. Signed-off-by: Martin Schwidefsky commit 84afdcee620b1640f2a145c07febae4ed68947f9 Author: Heiko Carstens Date: Mon Oct 25 16:10:36 2010 +0200 [S390] pgtable: move pte_mkhuge() from hugetlb.h to pgtable.h All architectures besides s390 have pte_mkhuge() defined in pgtable.h. So move the function to pgtable.h on s390 as well. Fixes a compile error introduced with "hugetlb: hugepage migration core" in linux-next which only happens on s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 36bf96801e3a2c4efae0bb8c1897a530fc9ca13e Author: Martin Schwidefsky Date: Mon Oct 25 16:10:35 2010 +0200 [S390] fix SIGBUS handling Raise SIGBUS with a siginfo structure. Deliver BUS_ADRERR as si_code and the address of the fault in the si_addr field. Signed-off-by: Martin Schwidefsky commit 585b954e1f2fa325d425b0786e4525ac7c9ae575 Author: Sebastian Ott Date: Mon Oct 25 16:10:34 2010 +0200 [S390] cio: notify drivers of channel path events This patch adds a notification mechanism to inform ccw drivers about changes to channel paths, which occured while the device is online. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit eb4f5d93d70458ea644e0f46737f0bcf87280e83 Author: Sebastian Ott Date: Mon Oct 25 16:10:33 2010 +0200 [S390] css: update subchannel description after hibernate Update the subchannel descriptor while resuming from hibernate in order to obtain current link addresses. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 62da177ac2bc1f6f3707230070af268b1e689651 Author: Sebastian Ott Date: Mon Oct 25 16:10:32 2010 +0200 [S390] css: update descriptor after hibernate Update the channel path descriptors after hibernation. This is done unlocked, since we are the only active task at this time. Note: chsc_determine_base_channel_path_desc is changed to use spin_lock_irqsave, since it's called with interrupts disabled in this case. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c38a90a34cfc880eb2f7234c511cdb7d8bdebc45 Author: Sebastian Ott Date: Mon Oct 25 16:10:31 2010 +0200 [S390] cio: update descriptor in chsc_chp_vary Update the channel path descriptor at the beginning of to the vary_on operation. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 906c9768c7750ce76b85597174b9c3599a6ca9f6 Author: Sebastian Ott Date: Mon Oct 25 16:10:30 2010 +0200 [S390] chsc: use the global page to determine the chp desriptor chsc_determine_channel_path_desc is called by a wrapper who allocates a response struct. The response data is then memcpy'ed to this response struct by chsc_determine_channel_path_desc. Change chsc_determine_base_channel_path_desc to use the global chsc_page and deliver it to the function doing the actual chsc call. The channel path desriptor is then directly read from the response data. As a result we get rid of the additional allocation for the response struct. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 34196f82b16749e119db5572271944c4add0a9aa Author: Sebastian Ott Date: Mon Oct 25 16:10:29 2010 +0200 [S390] chsc: consolidate memory allocations Most wrappers around the channel subsystem call have their own logic to allocate memory (with proper alignment) or use preallocated or static memory. This patch converts most users of the channel subsystem call to use the same preallocated page (proteced by a spinlock). Note: The sei_page which is used in our crw handler to call "store event information" has to coexist, since a) in crw context, while accessing the sei_page, sleeping is allowed (which will conflict with the spinlock protection of the chsc_page) b) in crw context, while accessing the sei_page, channel subsystem calls are allowed (which itself would require the page). Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 34aec07c170b972a29c954b37047184bd0f9f294 Author: Sebastian Ott Date: Mon Oct 25 16:10:28 2010 +0200 [S390] chsc: initialization fixes This patch fixes: * kfree vs. free_page usage * structure definition for determine_css_characteristics * naming convention for the chsc init function * deregistration of crw handlers in the cleanup path Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b730f3a933958362ee1080c257f2cc158149310a Author: Sebastian Ott Date: Mon Oct 25 16:10:27 2010 +0200 [S390] cio: add lock to struct channel_path Serialize access to members of struct channel_path with a mutex. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 74b6127e6c35abf06364468636dd261850639f8b Author: Sebastian Ott Date: Mon Oct 25 16:10:26 2010 +0200 [S390] cio: fix memleak in resume path If a ccwdevice is lost during hibernation and a different ccwdevice is attached to the same subchannel, we will deregister the old ccw device and register the new one. Since deregistration is not allowed in this context, we handle this action later. However, some parts of the registration process for the new device were started anyway, so that the old device structure is no longer accessible. Fix this by deferring both actions to the afterwards scheduled subchannel event. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f2777077aa1f6f8a7c76b83f240975289a9fb894 Author: Andy Shevchenko Date: Mon Oct 25 16:10:25 2010 +0200 [S390] cio: remove custom implementation of hex_to_bin() Signed-off-by: Andy Shevchenko Signed-off-by: Martin Schwidefsky commit ed3640b285d831065eb0507cdca7d125f6f78e8d Author: Stefan Haberland Date: Mon Oct 25 16:10:24 2010 +0200 [S390] dasd fix dump_sense_dbf The dasd_eckd_dump_sense_dbf function uses a macro for s390 debug feature that can handle up to 8 parameters (for the DASD device driver). Fix the function to use only the maximum number of parameters. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit a8481c2afeed297426f67ce3fd4ad7eea6b7ddf5 Author: Sebastian Ott Date: Mon Oct 25 16:10:23 2010 +0200 [S390] css: fix sparse warning fix this sparse warning: drivers/s390/cio/css.c:580:6: warning: symbol 'css_schedule_eval_all_unreg' was not declared. Should it be static? Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c77f7cf74b9bc0e56c8698097228c1784e9f03c9 Author: Hendrik Brueckner Date: Mon Oct 25 16:10:22 2010 +0200 [S390] hvc_iucv: do not call iucv_unregister if iucv_register failed If the iucv_register() functions fails, the error recovery calls iucv_unregister() which might cause the following stack backtrace: (<0000000000100ab2> show_trace+0xee/0x144) <00000000004f1842> panic+0xb6/0x248 <00000000001010a6> die+0x15a/0x16c <000000000011d936> do_no_context+0xa6/0xe4 <00000000004f84dc> do_protection_exception+0x2e8/0x3a4 <0000000000113afc> pgm_exit+0x0/0x14 <00000000004e786e> iucv_unregister+0x5a/0x17c (<00000000004e785e> iucv_unregister+0x4a/0x17c) <000000000076de74> hvc_iucv_init+0x228/0x5dc <00000000001000c2> do_one_initcall+0x3e/0x19c <00000000007524a2> kernel_init+0x28e/0x404 <0000000000105dd6> kernel_thread_starter+0x6/0xc <0000000000105dd0> kernel_thread_starter+0x0/0xc Remove the call to iucv_unregister() and remove the goto label as unregistering is the last step in the hvc_iucv initialization. If iucv_register() fails, simply clean up hvc terminals and free resources. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit a20852d2b7ca3c6e7b232eecf09631b66dde2a46 Author: Heiko Carstens Date: Mon Oct 25 16:10:21 2010 +0200 [S390] cmm: fix crash on case conversion When the cmm module is compiled into the kernel it will crash when writing to the R/O data section. Reason is the lower to upper case conversion of the "sender" module parameter which ignored the fact that the pointer is preinitialized. Introduced with 41b42876 "cmm, smsgiucv_app: convert sender to uppercase" Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bf2106ae114807772506e62cbf8a7d8e2c5403a1 Author: Joe Perches Date: Mon Oct 25 16:10:20 2010 +0200 [S390] drivers/s390/char: Use static const char arrays Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit 189b93d00fd6f71b013ad472fd72c0f043b160a9 Author: Heiko Carstens Date: Mon Oct 25 16:10:19 2010 +0200 [S390] switch_to: get rid of prev == next check schedule() makes sure that prev != next before calling switch_to(). Therefore remove the redundant check. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fdb6d070effba1871f0bb980cf3c3b8738803414 Author: Heiko Carstens Date: Mon Oct 25 16:10:18 2010 +0200 [S390] switch_to: dont restore/save access & fpu regs for kernel threads If the previous task was a kernel thread there is no need to save the contents of the fpu and access registers since they aren't used in kernel mode. For the same reason it is not necessary to restore these registers if the next task is a kernel thread. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f861e4057263033ad9134bfd6745f91b2165b351 Author: Heiko Carstens Date: Mon Oct 25 16:10:17 2010 +0200 [S390] Add config option for z196 code generation. Add a kernel config option for the IBM zEnterprise 196. This will produce faster code on newer compilers using the -march=z196 option. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7aca2eda5c2a45884ff0ce0bb1ebfa8f83c1e0f9 Author: Heiko Carstens Date: Mon Oct 25 16:10:16 2010 +0200 [S390] sysinfo: display capacity adjustment indicator Display machine capacity adjustment indicator and capacity change reason if available in /proc/sysinfo. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8b8c12b120071d1db2212a439ccfebcb0ab0cf2a Author: Martin Schwidefsky Date: Mon Oct 25 16:10:15 2010 +0200 [S390] add z196 instructions to kernel disassembler Add the new instructions introduced with z196 to the kernel disassembler. Signed-off-by: Martin Schwidefsky commit e2b8d7af0e3a9234de06606f9151f28cf847a8d6 Author: Martin Schwidefsky Date: Mon Oct 25 16:10:14 2010 +0200 [S390] add support for nonquiescing sske Improve performance of the sske operation by using the nonquiescing variant if the affected page has no mappings established. On machines with no support for the new sske variant the mask bit will be ignored. Signed-off-by: Martin Schwidefsky commit 92f842eac7ee321c8a0749aba2513541b4ac226f Author: Martin Schwidefsky Date: Mon Oct 25 16:10:13 2010 +0200 [S390] store indication fault optimization Use the store indication bit in the translation exception code on page faults to avoid the protection faults that immediatly follow the page fault if the access has been a write. Signed-off-by: Martin Schwidefsky commit 6931be0803ddae2791f3c646c8e1e0f82ca26013 Author: Heiko Carstens Date: Mon Oct 25 16:10:12 2010 +0200 [S390] cpu hotplug/idle: move cpu_die call to enabled context There is no difference if cpu_die is called from enabled or disabled context. Except that the fast_gup code might be called via cpu_die -> idle_task_exit -> __mm_drop -> crst_table_free. Which in turn grabs and releases a spinlock using the _bh ops, which is not allowed in irq disabled context, since spin_unlock_bh will unconditionally enable interrupts again. To get rid of the warning emitted by the softirq code just move the code to enabled context. In this case this doesn't fix a bug, we just get rid of a warning. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 80217147a3d80c8a4e48f06e2f6e965455f3fe2a Author: Martin Schwidefsky Date: Mon Oct 25 16:10:11 2010 +0200 [S390] lockless get_user_pages_fast() Implement get_user_pages_fast without locking in the fastpath on s390. Signed-off-by: Martin Schwidefsky commit 87799ebab760dd1460f6e4193d4f71ba416d1451 Author: Christof Schmitt Date: Mon Oct 25 16:10:10 2010 +0200 [S390] set ARCH_HAS_SG_CHAIN for s390 Set ARCH_HAS_SG_CHAIN for scatter lists on s390. Without this flag the SCSI code limits the maximum number of segments, so set it to make proper use of the FCP channel hardware. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky commit 014859430ba72ffeb363a4acd2200851765fe6de Author: Heiko Carstens Date: Mon Oct 25 16:10:09 2010 +0200 [S390] standardize Kbuild rules Introducing this Kbuild file allow us to: make arch/s390/ And thus building all the core part of s390. Same as on other architectures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7ea8d32199a3751527bf06b91c03de92d5ad5b3e Author: Stefan Weinhuber Date: Mon Oct 25 16:10:08 2010 +0200 [S390] dasd: let recovery cqr inherit flags from failed cqr The usual way to recover a failed DASD ECKD request (cqr) is to create a new request with an appropriate recovery CCW program. Certain features, e.g. failfast, can be enabled per request and are stored in the requests flags. These flags have to be copied from the failed to the recovery request, to let the recovery request use the same features as the original one. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 238ec4efeee4461d5cff2ed3e5a15a3ab850959b Author: Martin Schwidefsky Date: Mon Oct 25 16:10:07 2010 +0200 [S390] zero page cache synonyms If the zero page is mapped to virtual user space addresses that differ only in bit 2^12 or 2^13 we get L1 cache synonyms which can affect performance. Follow the mips model and use multiple zero pages to avoid the synonyms. Signed-off-by: Martin Schwidefsky commit 10c6c9c94c3eaadd7f9d6bafccc8709eda0da0f5 Author: David Vrabel Date: Mon Oct 25 14:05:36 2010 +0100 uwb: Orphan the UWB and WUSB subsystems I'm no longer in a position to be the maintainer for the Ultra-Wide Band (UWB) and Ceritified Wireless USB (WUSB) subsystems and no one else has volunteered to take over. Signed-off-by: David Vrabel commit 446396bfab00392010ebc36b9ccf859935b0f17b Author: David Vrabel Date: Mon Oct 25 13:57:32 2010 +0100 uwb: Remove the WLP subsystem and drivers The only Wimedia LLC Protocol (WLP) hardware was an Intel i1480 chip with a beta release of firmware that was never commercially available as a product. This hardware and firmware is no longer available as Intel sold their UWB/WLP IP. I also see little prospect of other WLP capable hardware ever being available. Signed-off-by: David Vrabel commit 506ecbca71d07fa327dd986be1682e90885678ee Merge: aa5c14d 0e7adbe Author: Takashi Iwai Date: Mon Oct 25 10:40:05 2010 +0200 Merge branch 'topic/hda' into for-linus commit 0e7adbe263f89ea2ef15b5af5e80a812b2a85025 Author: Takashi Iwai Date: Mon Oct 25 10:37:11 2010 +0200 ALSA: hda - Disable sticky PCM stream assignment for AD codecs The sticky PCM stream assignment introduced in 2.6.36 kernel seems causing problems on AD codecs. At some time later, the streaming no longer works by unknown reason. A simple workaround is to disable sticky-assignment for these codecs. Tested-by: Vasily Khoruzhick Cc: Signed-off-by: Takashi Iwai commit aa5c14d5c0d3e4c587db4a1b220b9c86415c538f Merge: 79fc84c b11bdb5 Author: Takashi Iwai Date: Mon Oct 25 10:00:30 2010 +0200 Merge branch 'topic/asoc' into for-linus Conflicts: arch/powerpc/platforms/85xx/p1022_ds.c commit 79fc84c7e0d2fe89c4e82f3a26fd8b0d13c31703 Merge: f6f94e2 97c44b2 Author: Takashi Iwai Date: Mon Oct 25 09:56:32 2010 +0200 Merge branch 'topic/misc' into for-linus commit 49327ad2bbbaf1945d5ba431522201574219d150 Merge: f9ce6eb 6521d0b Author: Dmitry Torokhov Date: Sun Oct 24 22:11:17 2010 -0700 Merge branch 'next' into for-linus commit 6521d0bf984ab1cc25795d312e21c438aea8b5d5 Author: Ping Cheng Date: Sun Oct 24 21:53:40 2010 -0700 Input: wacom - specify Cinitq supported tools Cintiq, being a display tablet, doesn't have mouse and associated BTN_s. Make sure we do not specify them when registering Cintiq's input device so that userland can retrieve the exact tool set the device supports. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit c5fb514d2f0496ce58caed63bceb05fac40324b3 Author: Nicolas Kaiser Date: Sun Oct 24 21:48:11 2010 -0700 Input: ab8500-ponkey - fix IRQ freeing in error path Looks like an obvious typo to me. Signed-off-by: Nicolas Kaiser Signed-off-by: Dmitry Torokhov commit 8df399018df120d28f89fda6f2515cc6e096e43d Author: Nobuhiro Iwamatsu Date: Sat Oct 23 07:07:00 2010 +0900 sh: i2c-sh7760: Replase from ctrl_* to __raw_* ctrl_* is deprecated. We should to use __raw_*. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 9a84d38031c258a17bb39beed1e500eadee67407 Author: Trond Myklebust Date: Sun Oct 24 18:00:46 2010 -0400 SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred Signed-off-by: Trond Myklebust commit 3388bff5cfe91589a912cdc7f00d3aae3aa18adc Author: Roman Borisov Date: Wed Oct 13 16:54:51 2010 +0400 nfs: fix unchecked value Return value of "decode_attr_bitmap()" was not checked; Signed-off-by: Roman Borisov Signed-off-by: Trond Myklebust commit 55b6e7742d5b25182edf410369379b9727b2e5bc Author: Ricardo Labiaga Date: Tue Oct 12 16:30:06 2010 -0700 Ask for time_delta during fsinfo probe Used by the client to determine if the server has a granular enough time stamp. Signed-off-by: Ricardo Labiaga Signed-off-by: Trond Myklebust commit 6b96724e507fecc3e6440e86426fe4f44359ed66 Author: Ricardo Labiaga Date: Tue Oct 12 16:30:05 2010 -0700 Revalidate caches on lock Instead of blindly zapping the caches, attempt to revalidate them if the server has indicated that it uses high resolution timestamps. NFSv4 should be able to always revalidate the cache since the protocol requires the update of the change attribute on modification of the data. In reality, there are servers (the Linux NFS server for example) that do not obey this requirement and use ctime as the basis for change attribute. Long term, the server needs to be fixed. At this time, and to be on the safe side, continue zapping caches if the server indicates that it does not have a high resolution timestamp. Signed-off-by: Ricardo Labiaga Signed-off-by: Trond Myklebust commit 118df3d17f11733b294ea2cd988d56ee376ef9fd Author: Trond Myklebust Date: Sun Oct 24 17:17:31 2010 -0400 SUNRPC: After calling xprt_release(), we must restart from call_reserve Rob Leslie reports seeing the following Oops after his Kerberos session expired. BUG: unable to handle kernel NULL pointer dereference at 00000058 IP: [] rpcauth_refreshcred+0x11/0x12c [sunrpc] *pde = 00000000 Oops: 0000 [#1] last sysfs file: /sys/devices/platform/pc87360.26144/temp3_input Modules linked in: autofs4 authenc esp4 xfrm4_mode_transport ipt_LOG ipt_REJECT xt_limit xt_state ipt_REDIRECT xt_owner xt_HL xt_hl xt_tcpudp xt_mark cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark geodewdt deflate ctr twofish_generic twofish_i586 twofish_common camellia serpent blowfish cast5 cbc xcbc rmd160 sha512_generic sha1_generic hmac crypto_null af_key rpcsec_gss_krb5 nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc ip_gre sit tunnel4 dummy ext3 jbd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables pc8736x_gpio nsc_gpio pc87360 hwmon_vid loop aes_i586 aes_generic sha256_generic dm_crypt cs5535_gpio serio_raw cs5535_mfgpt hifn_795x des_generic geode_rng rng_core led_class ext4 mbcache jbd2 crc16 dm_mirror dm_region_hash dm_log dm_snapshot dm_mod sd_mod crc_t10dif ide_pci_generic cs5536 amd74xx ide_core pata_cs5536 ata_generic libata usb_storage via_rhine mii scsi_mod btrfs zlib_deflate crc32c libcrc32c [last unloaded: scsi_wait_scan] Pid: 12875, comm: sudo Not tainted 2.6.36-net5501 #1 / EIP: 0060:[] EFLAGS: 00010292 CPU: 0 EIP is at rpcauth_refreshcred+0x11/0x12c [sunrpc] EAX: 00000000 EBX: defb13a0 ECX: 00000006 EDX: e18683b8 ESI: defb13a0 EDI: 00000000 EBP: 00000000 ESP: de571d58 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process sudo (pid: 12875, ti=de570000 task=decd1430 task.ti=de570000) Stack: e186e008 00000000 defb13a0 0000000d deda6000 e1868f22 e196f12b defb13a0 <0> defb13d8 00000000 00000000 e186e0aa 00000000 defb13a0 de571dac 00000000 <0> e186956c de571e34 debea5c0 de571dc8 e186967a 00000000 debea5c0 de571e34 Call Trace: [] ? rpc_wake_up_next+0x114/0x11b [sunrpc] [] ? call_decode+0x24a/0x5af [sunrpc] [] ? nfs4_xdr_dec_access+0x0/0xa2 [nfs] [] ? __rpc_execute+0x62/0x17b [sunrpc] [] ? rpc_run_task+0x91/0x97 [sunrpc] [] ? rpc_call_sync+0x40/0x5b [sunrpc] [] ? nfs4_proc_access+0x10a/0x176 [nfs] [] ? nfs_do_access+0x2b1/0x2c0 [nfs] [] ? rpcauth_lookupcred+0x62/0x84 [sunrpc] [] ? nfs_permission+0xad/0x13b [nfs] [] ? exec_permission+0x15/0x4b [] ? link_path_walk+0x4f/0x456 [] ? path_walk+0x4c/0xa8 [] ? do_path_lookup+0x1f/0x68 [] ? user_path_at+0x37/0x5f [] ? handle_mm_fault+0x229/0x55b [] ? sys_faccessat+0x93/0x146 [] ? sys_access+0xf/0x13 [] ? syscall_call+0x7/0xb Code: 0f 94 c2 84 d2 74 09 8b 44 24 0c e8 6a e9 8b de 83 c4 14 89 d8 5b 5e 5f 5d c3 55 57 56 53 83 ec 1c fc 89 c6 8b 40 10 89 44 24 04 <8b> 58 58 85 db 0f 85 d4 00 00 00 0f b7 46 70 8b 56 20 89 c5 83 EIP: [] rpcauth_refreshcred+0x11/0x12c [sunrpc] SS:ESP 0068:de571d58 CR2: 0000000000000058 This appears to be caused by the function rpc_verify_header() first calling xprt_release(), then doing a call_refresh. If we release the transport slot, we should _always_ jump back to call_reserve before calling anything else. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 229aebb873e29726b91e076161649cf45154b0bf Merge: 8de547e 50a23e6 Author: Linus Torvalds Date: Sun Oct 24 13:41:39 2010 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits) Update broken web addresses in arch directory. Update broken web addresses in the kernel. Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget Revert "Fix typo: configuation => configuration" partially ida: document IDA_BITMAP_LONGS calculation ext2: fix a typo on comment in ext2/inode.c drivers/scsi: Remove unnecessary casts of private_data drivers/s390: Remove unnecessary casts of private_data net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data drivers/infiniband: Remove unnecessary casts of private_data drivers/gpu/drm: Remove unnecessary casts of private_data kernel/pm_qos_params.c: Remove unnecessary casts of private_data fs/ecryptfs: Remove unnecessary casts of private_data fs/seq_file.c: Remove unnecessary casts of private_data arm: uengine.c: remove C99 comments arm: scoop.c: remove C99 comments Fix typo configue => configure in comments Fix typo: configuation => configuration Fix typo interrest[ing|ed] => interest[ing|ed] Fix various typos of valid in comments ... Fix up trivial conflicts in: drivers/char/ipmi/ipmi_si_intf.c drivers/usb/gadget/rndis.c net/irda/irnet/irnet_ppp.c commit 8de547e1824437f3c6af180d3ed2162fa4b3f389 Merge: 76c39e4 e6649cc Author: Linus Torvalds Date: Sun Oct 24 13:06:57 2010 -0700 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/edac * 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/edac: (25 commits) i7300_edac: Properly initialize per-csrow memory size V4L/DVB: i7300_edac: better initialize page counts MAINTAINERS: Add maintainer for i7300-edac driver i7300-edac: CodingStyle cleanup i7300_edac: Improve comments i7300_edac: Cleanup: reorganize the file contents i7300_edac: Properly detect channel on CE errors i7300_edac: enrich FBD error info for corrected errors i7300_edac: enrich FBD error info for fatal errors i7300_edac: pre-allocate a buffer used to prepare err messages i7300_edac: Fix MTR x4/x8 detection logic i7300_edac: Make the debug messages coherent with the others i7300_edac: Cleanup: remove get_error_info logic i7300_edac: Add a code to cleanup error registers i7300_edac: Add support for reporting FBD errors i7300_edac: Properly detect the type of error correction i7300_edac: Detect if the device is on single mode i7300_edac: Adds detection for enhanced scrub mode on x8 i7300_edac: Clear the error bit after reading i7300_edac: Add error detection code for global errors ... commit f253b86b4ad1b3220544e75880510fd455ebd23f Author: Jens Axboe Date: Sun Oct 24 22:06:02 2010 +0200 Revert "block: fix accounting bug on cross partition merges" This reverts commit 7681bfeeccff5efa9eb29bf09249a3c400b15327. Conflicts: include/linux/genhd.h It has numerous issues with the cleanup path and non-elevator devices. Revert it for now so we can come up with a clean version without rushing things. Signed-off-by: Jens Axboe commit 76c39e4fef73e42777c27d6b87a04f89ebd0ef66 Merge: 1765a1f 6d4121f Author: Linus Torvalds Date: Sun Oct 24 12:47:55 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: (27 commits) SLUB: Fix memory hotplug with !NUMA slub: Move functions to reduce #ifdefs slub: Enable sysfs support for !CONFIG_SLUB_DEBUG SLUB: Optimize slab_free() debug check slub: Move NUMA-related functions under CONFIG_NUMA slub: Add lock release annotation slub: Fix signedness warnings slub: extract common code to remove objects from partial list without locking SLUB: Pass active and inactive redzone flags instead of boolean to debug functions slub: reduce differences between SMP and NUMA Revert "Slub: UP bandaid" percpu: clear memory allocated with the km allocator percpu: use percpu allocator on UP too percpu: reduce PCPU_MIN_UNIT_SIZE to 32k vmalloc: pcpu_get/free_vm_areas() aren't needed on UP SLUB: Fix merged slab cache names Slub: UP bandaid slub: fix SLUB_RESILIENCY_TEST for dynamic kmalloc caches slub: Fix up missing kmalloc_cache -> kmem_cache_node case for memoryhotplug slub: Add dummy functions for the !SLUB_DEBUG case ... commit 1765a1fe5d6f82c0eceb1ad10594cfc83759b6d0 Merge: bdaf12b 2a31339 Author: Linus Torvalds Date: Sun Oct 24 12:47:25 2010 -0700 Merge branch 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (321 commits) KVM: Drop CONFIG_DMAR dependency around kvm_iommu_map_pages KVM: Fix signature of kvm_iommu_map_pages stub KVM: MCE: Send SRAR SIGBUS directly KVM: MCE: Add MCG_SER_P into KVM_MCE_CAP_SUPPORTED KVM: fix typo in copyright notice KVM: Disable interrupts around get_kernel_ns() KVM: MMU: Avoid sign extension in mmu_alloc_direct_roots() pae root address KVM: MMU: move access code parsing to FNAME(walk_addr) function KVM: MMU: audit: check whether have unsync sps after root sync KVM: MMU: audit: introduce audit_printk to cleanup audit code KVM: MMU: audit: unregister audit tracepoints before module unloaded KVM: MMU: audit: fix vcpu's spte walking KVM: MMU: set access bit for direct mapping KVM: MMU: cleanup for error mask set while walk guest page table KVM: MMU: update 'root_hpa' out of loop in PAE shadow path KVM: x86 emulator: Eliminate compilation warning in x86_decode_insn() KVM: x86: Fix constant type in kvm_get_time_scale KVM: VMX: Add AX to list of registers clobbered by guest switch KVM guest: Move a printk that's using the clock before it's ready KVM: x86: TSC catchup mode ... commit bdaf12b41235b0c59949914de022341e77907461 Merge: 7c024e9 bf5d95c Author: Linus Torvalds Date: Sun Oct 24 12:46:24 2010 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-viapro: Don't log nacks i2c/pca954x: Remove __devinit and __devexit from probe and remove functions MAINTAINERS: Add maintainer for PCA9541 I2C bus master selector driver i2c/mux: Driver for PCA9541 I2C Master Selector i2c: Optimize function i2c_detect() i2c: Discard warning message on device instantiation from user-space i2c-amd8111: Add proper error handling i2c: Change to new flag variable i2c: Remove unneeded inclusions of i2c: Let i2c_parent_is_i2c_adapter return the parent adapter i2c: Simplify i2c_parent_is_i2c_adapter i2c-pca-platform: Change device name of request_irq i2c: Fix Kconfig dependencies commit 7c024e9534f9edd8d052380a1b40d376c8feb11b Merge: 188e213 d8692ac Author: Linus Torvalds Date: Sun Oct 24 12:44:59 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (47 commits) HID: fix mismerge in hid-lg HID: hidraw: fix window in hidraw_release HID: hid-sony: override usbhid_output_raw_report for Sixaxis HID: add absolute axis resolution calculation HID: force feedback support for Logitech RumblePad gamepad HID: support STmicroelectronics and Sitronix with hid-stantuml driver HID: magicmouse: Adjust major / minor axes to scale HID: Fix for problems with eGalax/DWAV multi-touch-screen HID: waltop: add support for Waltop Slim Tablet 12.1 inch HID: add NOGET quirk for AXIS 295 Video Surveillance Joystick HID: usbhid: remove unused hiddev_driver HID: magicmouse: Use hid-input parsing rather than bypassing it HID: trivial formatting fix HID: Add support for Logitech Speed Force Wireless gaming wheel HID: don't Send Feature Reports on Interrupt Endpoint HID: 3m: Adjust major / minor axes to scale HID: 3m: Correct touchscreen emulation HID: 3m: Convert to MT slots HID: 3m: Output proper orientation range HID: 3m: Adjust to sequential MT HID protocol ... commit 188e213dbc5758bbfb62f7ce0367c5c8de057f02 Merge: 35da7a3 6d388b4 Author: Linus Torvalds Date: Sun Oct 24 12:44:34 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: Makefile - replace the use of -objs with -y crypto: hifn_795x - use cancel_delayed_work_sync() crypto: talitos - sparse check endian fixes crypto: talitos - fix checkpatch warning crypto: talitos - fix warning: 'alg' may be used uninitialized in this function crypto: cryptd - Adding the AEAD interface type support to cryptd crypto: n2_crypto - Niagara2 driver needs to depend upon CRYPTO_DES crypto: Kconfig - update broken web addresses crypto: omap-sham - Adjust DMA parameters crypto: fips - FIPS requires algorithm self-tests crypto: omap-aes - OMAP2/3 AES hw accelerator driver crypto: updates to enable omap aes padata: add missing __percpu markup in include/linux/padata.h MAINTAINERS: Add maintainer entries for padata/pcrypt commit 6f7a35bd23bdbbb40c07ee1120ef047190e77d9b Author: Trond Myklebust Date: Sun Oct 24 12:11:42 2010 -0400 NFSv4: Fix up the 'dircount' hint in encode_readdir Also ensure we only ask for either fileid or mounted_on_fileid in the readdirplus case too... Signed-off-by: Trond Myklebust commit 9af8c222ca5eae88f000664f693316480bf58fbc Author: Trond Myklebust Date: Sun Oct 24 11:52:55 2010 -0400 NFSv4: Clean up nfs4_decode_dirent Signed-off-by: Trond Myklebust commit 4f082222fad3c8471abe0c8e8f18c72f335a34c7 Author: Trond Myklebust Date: Sun Oct 24 13:14:02 2010 -0400 NFSv4: nfs4_decode_dirent must clear entry->fattr->valid Otherwise, we may end up reading uninitialised data from the resulting struct nfs_fattr. Signed-off-by: Trond Myklebust commit 6d4121f6c20a0e86231d52f535f1c82423b3326f Merge: 92a5bbc 35da7a3 Author: Pekka Enberg Date: Sun Oct 24 19:57:05 2010 +0300 Merge branch 'master' into for-linus Conflicts: include/linux/percpu.h mm/percpu.c commit bf5d95c82692ead9ba7876af73dac2edcc8a6191 Author: Jean Delvare Date: Sun Oct 24 18:16:59 2010 +0200 i2c-viapro: Don't log nacks Transactions not acked can happen every now and then, in particular during device detection, and various transaction types can be used for this purpose. So stop logging this event, except when debugging is enabled. This is what other similar drivers (e.g. i2c-i801 or i2c-piix4) do. Signed-off-by: Jean Delvare commit db79f2a1d259a9026241dd0f192c20d6264d5afa Author: Guenter Roeck Date: Sun Oct 24 18:16:59 2010 +0200 i2c/pca954x: Remove __devinit and __devexit from probe and remove functions The underlying I2C adapter may or may not be present when this driver gets initialized, and may disappear later, so there is no safe time at which the probe and remove functions can be discarded. Signed-off-by: Guenter Roeck Signed-off-by: Jean Delvare commit 5ce914a8965031a4de503235eb9e0d33ff294fa8 Author: Guenter Roeck Date: Sun Oct 24 18:16:59 2010 +0200 MAINTAINERS: Add maintainer for PCA9541 I2C bus master selector driver Signed-off-by: Guenter Roeck Signed-off-by: Jean Delvare commit ae63b13bbeca7f8915c555663f8789a531611e4b Author: Guenter Roeck Date: Sun Oct 24 18:16:58 2010 +0200 i2c/mux: Driver for PCA9541 I2C Master Selector This patch adds support for PCA9541, an I2C Bus Master Selector. The driver is modeled as single channel I2C Multiplexer to be able to utilize the I2C multiplexer framework. Signed-off-by: Guenter Roeck Reviewed-by: Tom Grennan Acked-by: Jean Delvare commit 51b54ba9bb16b9fc28ec88006778d330af00bf8b Author: Jean Delvare Date: Sun Oct 24 18:16:58 2010 +0200 i2c: Optimize function i2c_detect() Check the class flags before allocating the temporary i2c_client structure, to avoid allocating it when we don't need it. Also optimize the inner loop a bit. Signed-off-by: Jean Delvare Cc: Jacob Pan commit d57558d0f3b41bb260aaa327150d49f1810461f5 Author: Jean Delvare Date: Sun Oct 24 18:16:58 2010 +0200 i2c: Discard warning message on device instantiation from user-space The "new_device" sysfs interface has been there for quite some time now, nobody complained about it so it must be good enough. Time to remove the warning and call it stable. Signed-off-by: Jean Delvare Acked-by: Michael Lawnick commit 9cb2c2726e9ae212ccaeecd3eaadcd8d49ac7400 Author: Julia Lawall Date: Sun Oct 24 18:16:58 2010 +0200 i2c-amd8111: Add proper error handling The functions the functions amd_ec_wait_write and amd_ec_wait_read have an unsigned return type, but return a negative constant to indicate an error condition. A sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @exists@ identifier f; constant C; @@ unsigned f(...) { <+... * return -C; ...+> } // Fixing amd_ec_wait_write and amd_ec_wait_read leads to the need to adjust the return type of the functions amd_ec_write and amd_ec_read, which are the only functions that call amd_ec_wait_write and amd_ec_wait_read. amd_ec_write and amd_ec_read, in turn, are only called from within the function amd8111_access, which already returns a signed typed value. Each of the calls to amd_ec_write and amd_ec_read are updated using the following semantic patch: // @@ @@ + status = amd_ec_write - amd_ec_write (...); + if (status) return status; @@ @@ + status = amd_ec_read - amd_ec_read (...); + if (status) return status; // The patch also adds the declaration of the status variable. Signed-off-by: Julia Lawall Signed-off-by: Jean Delvare commit ef9d9b8fb696850a95cd59ba2cd67991b6f722b3 Author: matt mooney Date: Sun Oct 24 18:16:58 2010 +0200 i2c: Change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Signed-off-by: Jean Delvare commit a8d7be818fbe0f8a4e7dc251712958ca369f9d45 Author: Jean Delvare Date: Sun Oct 24 18:16:58 2010 +0200 i2c: Remove unneeded inclusions of These drivers don't use anything which is defined in . This header file was never meant to be included directly anyway, and will be deleted soon. Signed-off-by: Jean Delvare Acked-by: Ben Dooks Acked-by: Dave Airlie Cc: Hans Verkuil commit 97cc4d49cfcda1c2dad89c00b62a25b628ce2115 Author: Jean Delvare Date: Sun Oct 24 18:16:57 2010 +0200 i2c: Let i2c_parent_is_i2c_adapter return the parent adapter This makes the calling site's code clearer IMHO. Signed-off-by: Jean Delvare Acked-by: Michael Lawnick commit d582963a027fd63f8dfc97a0bf3654d4380e34ce Author: Jean Delvare Date: Sun Oct 24 18:16:57 2010 +0200 i2c: Simplify i2c_parent_is_i2c_adapter Only i2c devices can have their type set to i2c_adapter_type, so testing the bus type is redundant. Signed-off-by: Jean Delvare Cc: Michael Lawnick commit 323584436db0cb05286425d4dfd9516fce88487f Author: Nobuhiro Iwamatsu Date: Sun Oct 24 18:16:57 2010 +0200 i2c-pca-platform: Change device name of request_irq i2c->adap.name shouldn't be used in request_irq. Instead the driver name "i2c-pca-platform" should be used. Signed-off-by: Nobuhiro Iwamatsu Acked-by: Wolfram Sang Cc: stable@kernel.org Signed-off-by: Jean Delvare commit 0a57274ea026c2b7670683947b6cc08b195148cf Author: Jean Delvare Date: Sun Oct 24 18:16:57 2010 +0200 i2c: Fix Kconfig dependencies drivers/i2c/algos/Kconfig makes all the algorithms dependent on !I2C_HELPER_AUTO, which triggers a Kconfig warning about broken dependencies when some driver selects one of the algorithms. Ideally we would make only the prompts dependent on !I2C_HELPER_AUTO, however Kconfig doesn't currently support that. So we have to redefine the symbols separately for the I2C_HELPER_AUTO=y case. Signed-off-by: Jean Delvare Acked-by: Michal Marek commit 97c44b2dbd0060e2e6bd56236eb638ab02ec7f30 Author: Mandar Joshi Date: Sun Oct 24 04:07:00 2010 +0000 ALSA: usb - Creative USB X-Fi volume knob support Adds an entry for Creative USB X-Fi to the rc_config array in mixer_quirks.c to allow use of volume knob on the device. The action of the volume knob is received by lirc when its using the alsa_usb driver. Signed-off-by: Mandar Joshi Signed-off-by: Takashi Iwai commit 2a31339aa014c0d0b97c57d3ebc997732f8f47fc Author: Jan Kiszka Date: Mon Oct 18 15:38:40 2010 +0200 KVM: Drop CONFIG_DMAR dependency around kvm_iommu_map_pages We also have to call kvm_iommu_map_pages for CONFIG_AMD_IOMMU. So drop the dependency on Intel IOMMU, kvm_iommu_map_pages will be a nop anyway if CONFIG_IOMMU_API is not defined. KVM-Stable-Tag. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit d7a79b6c80fdbe4366484805ee07a4735fc427d8 Author: Jan Kiszka Date: Thu Oct 14 13:59:04 2010 +0200 KVM: Fix signature of kvm_iommu_map_pages stub Breaks otherwise if CONFIG_IOMMU_API is not set. KVM-Stable-Tag. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit 77db5cbd29b7cb0e0fb4fd146e7f7ac2831a025a Author: Huang Ying Date: Fri Oct 8 16:24:15 2010 +0800 KVM: MCE: Send SRAR SIGBUS directly Originally, SRAR SIGBUS is sent to QEMU-KVM via touching the poisoned page. But commit 96054569190bdec375fe824e48ca1f4e3b53dd36 prevents the signal from being sent. So now the signal is sent via force_sig_info_fault directly. [marcelo: use send_sig_info instead] Reported-by: Dean Nelson Signed-off-by: Huang Ying Signed-off-by: Marcelo Tosatti commit 5854dbca9b235f8cdd414a0961018763d2d5bf77 Author: Huang Ying Date: Fri Oct 8 16:24:14 2010 +0800 KVM: MCE: Add MCG_SER_P into KVM_MCE_CAP_SUPPORTED Now we have MCG_SER_P (and corresponding SRAO/SRAR MCE) support in kernel and QEMU-KVM, the MCG_SER_P should be added into KVM_MCE_CAP_SUPPORTED to make all these code really works. Reported-by: Dean Nelson Signed-off-by: Huang Ying Signed-off-by: Marcelo Tosatti commit 9611c187774f0e20c258c23ced2599c44bd2fef4 Author: Nicolas Kaiser Date: Wed Oct 6 14:23:22 2010 +0200 KVM: fix typo in copyright notice Fix typo in copyright notice. Signed-off-by: Nicolas Kaiser Signed-off-by: Marcelo Tosatti commit 395c6b0a9d56fe7fdb7aeda12795d0eb02475d24 Author: Avi Kivity Date: Mon Oct 4 12:55:49 2010 +0200 KVM: Disable interrupts around get_kernel_ns() get_kernel_ns() wants preemption disabled. It doesn't make a lot of sense during the get/set ioctls (no way to make them non-racy) but the callee wants it. Signed-off-by: Avi Kivity commit 7ebaf15eefe7b019def72bd9d4420c7bc51ed69e Author: Avi Kivity Date: Sun Oct 3 18:51:39 2010 +0200 KVM: MMU: Avoid sign extension in mmu_alloc_direct_roots() pae root address Signed-off-by: Avi Kivity commit 3377078027dc54dc2a5acb2efa09587e7ac1cbd9 Author: Xiao Guangrong Date: Tue Sep 28 17:03:14 2010 +0800 KVM: MMU: move access code parsing to FNAME(walk_addr) function Move access code parsing from caller site to FNAME(walk_addr) function Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 6903074c367cfb13166c2974d6a886fdc7a00d21 Author: Xiao Guangrong Date: Mon Sep 27 18:09:29 2010 +0800 KVM: MMU: audit: check whether have unsync sps after root sync After root synced, all unsync sps are synced, this patch add a check to make sure it's no unsync sps in VCPU's page table Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 38904e128778c38809daf44a1dabc7f25fa8d83e Author: Xiao Guangrong Date: Mon Sep 27 18:07:59 2010 +0800 KVM: MMU: audit: introduce audit_printk to cleanup audit code Introduce audit_printk, and record audit point instead audit name Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit c42fffe3a3aa8c62b8028fff32d18156f5325c3b Author: Xiao Guangrong Date: Mon Sep 27 18:07:07 2010 +0800 KVM: MMU: audit: unregister audit tracepoints before module unloaded fix: Call Trace: [] ? kvm_mmu_pte_write+0x229/0x911 [kvm] [] ? gfn_to_memslot+0x39/0xa0 [kvm] [] ? mark_page_dirty+0x16/0x2e [kvm] [] ? kvm_write_guest_page+0x67/0x7f [kvm] [] ? local_clock+0x2a/0x3b [] emulator_write_phys+0x46/0x54 [kvm] ...... Code: Bad RIP value. RIP [] 0xffffffffa0172056 RSP CR2: ffffffffa0172056 Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 98224bf1d1783a25ccede29ab08309424ec8de25 Author: Xiao Guangrong Date: Mon Sep 27 18:06:16 2010 +0800 KVM: MMU: audit: fix vcpu's spte walking After nested nested paging, it may using long mode to shadow 32/PAE paging guest, so this patch fix it Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 33f91edb9211f5c0392071f9eb01958ec69f2193 Author: Xiao Guangrong Date: Mon Sep 27 18:05:00 2010 +0800 KVM: MMU: set access bit for direct mapping Set access bit while setup up direct page table if it's nonpaing or npt enabled, it's good for CPU's speculate access Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 20bd40dc6492da293993559555df07d467fd202e Author: Xiao Guangrong Date: Mon Sep 27 18:03:27 2010 +0800 KVM: MMU: cleanup for error mask set while walk guest page table Small cleanup for set page fault error code Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 6292757fb0e758748fdb441861f8c50d397de9f0 Author: Xiao Guangrong Date: Mon Sep 27 18:02:12 2010 +0800 KVM: MMU: update 'root_hpa' out of loop in PAE shadow path The value of 'vcpu->arch.mmu.pae_root' is not modified, so we can update 'root_hpa' out of the loop. Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 7129eecac10681f69cb00c0323ee915feceb57eb Author: Sheng Yang Date: Tue Sep 28 16:33:32 2010 +0800 KVM: x86 emulator: Eliminate compilation warning in x86_decode_insn() Eliminate: arch/x86/kvm/emulate.c:801: warning: ‘sv’ may be used uninitialized in this function on gcc 4.1.2 Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit 50933623e50d8730cc1a65853c153b3b4c93b629 Author: Jan Kiszka Date: Sun Sep 26 13:00:53 2010 +0200 KVM: x86: Fix constant type in kvm_get_time_scale Older gcc versions complain about the improper type (for x86-32), 4.5 seems to fix this silently. However, we should better use the right type initially. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 07d6f555d536aad1d74bb8b41dae9385007ecc26 Author: Jan Kiszka Date: Tue Sep 28 16:37:42 2010 +0200 KVM: VMX: Add AX to list of registers clobbered by guest switch By chance this caused no harm so far. We overwrite AX during switch to/from guest context, so we must declare this. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 19b6a85b78a5d4b466c537bdbf0eaecae5e2c4e2 Author: Arjan Koers <0h61vkll2ly8@xutrox.com> Date: Mon Aug 2 23:35:28 2010 +0200 KVM guest: Move a printk that's using the clock before it's ready Fix a hang during SMP kernel boot on KVM that showed up after commit 489fb490dbf8dab0249ad82b56688ae3842a79e8 (2.6.35) and 59aab522154a2f17b25335b63c1cf68a51fb6ae0 (2.6.34.1). The problem only occurs when CONFIG_PRINTK_TIME is set. KVM-Stable-Tag. Signed-off-by: Arjan Koers <0h61vkll2ly8@xutrox.com> Signed-off-by: Avi Kivity commit c285545f813d7b0ce989fd34e42ad1fe785dc65d Author: Zachary Amsden Date: Sat Sep 18 14:38:15 2010 -1000 KVM: x86: TSC catchup mode Negate the effects of AN TYM spell while kvm thread is preempted by tracking conversion factor to the highest TSC rate and catching the TSC up when it has fallen behind the kernel view of time. Note that once triggered, we don't turn off catchup mode. A slightly more clever version of this is possible, which only does catchup when TSC rate drops, and which specifically targets only CPUs with broken TSC, but since these all are considered unstable_tsc(), this patch covers all necessary cases. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 34c238a1d1832d7b1f655641f52782e86396b30a Author: Zachary Amsden Date: Sat Sep 18 14:38:14 2010 -1000 KVM: x86: Rename timer function This just changes some names to better reflect the usage they will be given. Separated out to keep confusion to a minimum. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 5f4e3f882731c65b5d64a2ff743fda96eaebb9ee Author: Zachary Amsden Date: Sat Sep 18 14:38:13 2010 -1000 KVM: x86: Make math work for other scales The math in kvm_get_time_scale relies on the fact that NSEC_PER_SEC < 2^32. To use the same function to compute arbitrary time scales, we must extend the first reduction step to shrink the base rate to a 32-bit value, and possibly reduce the scaled rate into a 32-bit as well. Note we must take care to avoid an arithmetic overflow when scaling up the tps32 value (this could not happen with the fixed scaled value of NSEC_PER_SEC, but can happen with scaled rates above 2^31. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 624d84cfe63b5afdd087bf5b2075a8a8cac5c83f Author: Avi Kivity Date: Tue Sep 21 19:59:44 2010 +0200 KVM: cpu_relax() during spin waiting for reboot It doesn't really matter, but if we spin, we should spin in a more relaxed manner. This way, if something goes wrong at least it won't contribute to global warming. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 49e9d557f9b6e9639390b63b645f2def8dde5f1b Author: Avi Kivity Date: Sun Sep 19 14:34:08 2010 +0200 KVM: VMX: Respect interrupt window in big real mode If an interrupt is pending, we need to stop emulation so we can inject it. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit a92601bb707f6f49fd5563ef3d09928e70cc222e Author: Mohammed Gamal Date: Sun Sep 19 14:34:07 2010 +0200 KVM: VMX: Emulated real mode interrupt injection Replace the inject-as-software-interrupt hack we currently have with emulated injection. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 63995653ade16deacaea5b49ceaf6376314593ac Author: Mohammed Gamal Date: Sun Sep 19 14:34:06 2010 +0200 KVM: Add kvm_inject_realmode_interrupt() wrapper This adds a wrapper function kvm_inject_realmode_interrupt() around the emulator function emulate_int_real() to allow real mode interrupt injection. [avi: initialize operand and address sizes before emulating interrupts] [avi: initialize rip for real mode interrupt injection] [avi: clear interrupt pending flag after emulating interrupt injection] Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 4ab8e02404fcbc16beefac66de24dbb2706fe2f3 Author: Mohammed Gamal Date: Sun Sep 19 14:34:05 2010 +0200 KVM: x86 emulator: Expose emulate_int_real() Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit cb16a7b3872e9a806f16b1f09b59103fafc7b796 Author: Hillf Danton Date: Sat Sep 18 08:41:02 2010 +0800 KVM: MMU: fix counting of rmap entries in rmap_add() It seems that rmap entries are under counted. Signed-off-by: Hillf Danton Signed-off-by: Marcelo Tosatti commit a182d8737f0bdfb684b3255c8e266e71999e2225 Author: Xiao Guangrong Date: Mon Sep 20 22:17:48 2010 +0800 KVM: document 'kvm.mmu_audit' parameter Document this parameter into Documentation/kernel-parameters.txt Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 8475f94abfa40d6975923ff022280cf7250fc5fb Author: Xiao Guangrong Date: Mon Sep 20 22:16:45 2010 +0800 KVM: fix the description of kvm-amd.nested in documentation The default state of 'kvm-amd.nested' is enabled now, so fix the documentation Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit a0a07cd2c5fc8703db8a07287cdde3d29a286082 Author: Gleb Natapov Date: Mon Sep 20 10:15:32 2010 +0200 KVM: SVM: do not generate "external interrupt exit" if other exit is pending Nested SVM checks for external interrupt after injecting nested exception. In case there is external interrupt pending the code generates "external interrupt exit" and overwrites previous exit info. If previously injected exception already generated exit it will be lost. Signed-off-by: Gleb Natapov Acked-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit f4f510508741680e423524c222f615276ca6222c Author: Avi Kivity Date: Sun Sep 19 18:44:07 2010 +0200 KVM: Convert PIC lock from raw spinlock to ordinary spinlock The PIC code used to be called from preempt_disable() context, which wasn't very good for PREEMPT_RT. That is no longer the case, so move back from raw_spinlock_t to spinlock_t. Signed-off-by: Avi Kivity Acked-by: Thomas Gleixner Signed-off-by: Marcelo Tosatti commit 28e4639adf0c9f26f6bb56149b7ab547bf33bb95 Author: Zachary Amsden Date: Sat Sep 18 14:38:12 2010 -1000 KVM: x86: Fix kvmclock bug If preempted after kvmclock values are updated, but before hardware virtualization is entered, the last tsc time as read by the guest is never set. It underflows the next time kvmclock is updated if there has not yet been a successful entry / exit into hardware virt. Fix this by simply setting last_tsc to the newly read tsc value so that any computed nsec advance of kvmclock is nulled. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 0959ffacf39b1ae7f56072b0c64429ee528100ca Author: Joerg Roedel Date: Tue Sep 14 17:46:12 2010 +0200 KVM: MMU: Don't track nested fault info in error-code This patch moves the detection whether a page-fault was nested or not out of the error code and moves it into a separate variable in the fault struct. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 625831a3f40d330c611fe37cf501d80d611921f9 Author: Avi Kivity Date: Thu Jul 22 13:09:54 2010 +0300 KVM: VMX: Move fixup_rmode_irq() to avoid forward declaration No code changes. Signed-off-by: Avi Kivity commit b463a6f744a263fccd7da14db1afdc880371a280 Author: Avi Kivity Date: Tue Jul 20 15:06:17 2010 +0300 KVM: Non-atomic interrupt injection Change the interrupt injection code to work from preemptible, interrupts enabled context. This works by adding a ->cancel_injection() operation that undoes an injection in case we were not able to actually enter the guest (this condition could never happen with atomic injection). Signed-off-by: Avi Kivity commit 83422e17c19d61399cab7dbf9bf40ff9af2a7dd2 Author: Avi Kivity Date: Tue Jul 20 14:43:23 2010 +0300 KVM: VMX: Parameterize vmx_complete_interrupts() for both exit and entry Currently vmx_complete_interrupts() can decode event information from vmx exit fields into the generic kvm event queues. Make it able to decode the information from the entry fields as well by parametrizing it. Signed-off-by: Avi Kivity commit 537b37e2674b7e4390a490e03cae53ca9ca99e30 Author: Avi Kivity Date: Thu Jul 22 12:54:21 2010 +0300 KVM: VMX: Move real-mode interrupt injection fixup to vmx_complete_interrupts() This allows reuse of vmx_complete_interrupts() for cancelling injections. Signed-off-by: Avi Kivity commit 51aa01d13d4a64422cf8095205fc4a02322aca2c Author: Avi Kivity Date: Tue Jul 20 14:31:20 2010 +0300 KVM: VMX: Split up vmx_complete_interrupts() vmx_complete_interrupts() does too much, split it up: - vmx_vcpu_run() gets the "cache important vmcs fields" part - a new vmx_complete_atomic_exit() gets the parts that must be done atomically - a new vmx_recover_nmi_blocking() does what its name says - vmx_complete_interrupts() retains the event injection recovery code This helps in reducing the work done in atomic context. Signed-off-by: Avi Kivity commit 3842d135ff246b6543f1df77f5600e12094a6845 Author: Avi Kivity Date: Tue Jul 27 12:30:24 2010 +0300 KVM: Check for pending events before attempting injection Instead of blindly attempting to inject an event before each guest entry, check for a possible event first in vcpu->requests. Sites that can trigger event injection are modified to set KVM_REQ_EVENT: - interrupt, nmi window opening - ppr updates - i8259 output changes - local apic irr changes - rflags updates - gif flag set - event set on exit This improves non-injecting entry performance, and sets the stage for non-atomic injection. Signed-off-by: Avi Kivity commit b0bc3ee2b54fcea0df42cc9aa05103b1ccd89db0 Author: Avi Kivity Date: Mon Sep 13 16:45:28 2010 +0200 KVM: MMU: Fix regression with ept memory types merged into non-ept page tables Commit "KVM: MMU: Make tdp_enabled a mmu-context parameter" made real-mode set ->direct_map, and changed the code that merges in the memory type depend on direct_map instead of tdp_enabled. However, in this case what really matters is tdp, not direct_map, since tdp changes the pte format regardless of whether the mapping is direct or not. As a result, real-mode shadow mappings got corrupted with ept memory types. The result was a huge slowdown, likely due to the cache being disabled. Change it back as the simplest fix for the regression (real fix is to move all that to vmx code, and not use tdp_enabled as a synonym for ept). Signed-off-by: Avi Kivity commit c39cbd2a0012334714409eec1e9cf4d542e359e9 Author: Avi Kivity Date: Sun Sep 12 16:39:11 2010 +0200 KVM: Document that KVM_GET_SUPPORTED_CPUID may return emulated values Signed-off-by: Avi Kivity commit 4c62a2dc92518c5adf434df8e5c2283c6762672a Author: Joerg Roedel Date: Fri Sep 10 17:31:06 2010 +0200 KVM: X86: Report SVM bit to userspace only when supported This patch fixes a bug in KVM where it _always_ reports the support of the SVM feature to userspace. But KVM only supports SVM on AMD hardware and only when it is enabled in the kernel module. This patch fixes the wrong reporting. Cc: stable@kernel.org Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d4aeaad8bb8f8084a414819934b73ab49c26c92 Author: Joerg Roedel Date: Fri Sep 10 17:31:05 2010 +0200 KVM: SVM: Report Nested Paging support to userspace This patch implements the reporting of the nested paging feature support to userspace. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 55c5e464fcc28ee763d40561abf2b259131dd703 Author: Joerg Roedel Date: Fri Sep 10 17:31:04 2010 +0200 KVM: SVM: Expect two more candiates for exit_int_info This patch adds INTR and NMI intercepts to the list of expected intercepts with an exit_int_info set. While this can't happen on bare metal it is architectural legal and may happen with KVMs SVM emulation. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 4b16184c1ccafa4b0c188c622ea532fb90e6f5b0 Author: Joerg Roedel Date: Fri Sep 10 17:31:03 2010 +0200 KVM: SVM: Initialize Nested Nested MMU context on VMRUN This patch adds code to initialize the Nested Nested Paging MMU context when the L1 guest executes a VMRUN instruction and has nested paging enabled in its VMCB. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 5bd2edc341d11af175e759a546e4335ba3e0584f Author: Joerg Roedel Date: Fri Sep 10 17:31:02 2010 +0200 KVM: SVM: Implement MMU helper functions for Nested Nested Paging This patch adds the helper functions which will be used in the mmu context for handling nested nested page faults. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 2d48a985c7bbcd72b4e92e301ea96bf1252ffc61 Author: Joerg Roedel Date: Fri Sep 10 17:31:01 2010 +0200 KVM: MMU: Track NX state in struct kvm_mmu With Nested Paging emulation the NX state between the two MMU contexts may differ. To make sure that always the right fault error code is recorded this patch moves the NX state into struct kvm_mmu so that the code can distinguish between L1 and L2 NX state. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 81407ca553c0c852b8cd3f38f3ec362d307f829b Author: Joerg Roedel Date: Fri Sep 10 17:31:00 2010 +0200 KVM: MMU: Allow long mode shadows for legacy page tables Currently the KVM softmmu implementation can not shadow a 32 bit legacy or PAE page table with a long mode page table. This is a required feature for nested paging emulation because the nested page table must alway be in host format. So this patch implements the missing pieces to allow long mode page tables for page table types. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 651dd37a9ce6fdacdcd75da86619c62111efcbc2 Author: Joerg Roedel Date: Fri Sep 10 17:30:59 2010 +0200 KVM: MMU: Refactor mmu_alloc_roots function This patch factors out the direct-mapping paths of the mmu_alloc_roots function into a seperate function. This makes it a lot easier to avoid all the unnecessary checks done in the shadow path which may break when running direct. In fact, this patch already fixes a problem when running PAE guests on a PAE shadow page table. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d41d1895eb856b5d1c82f3be106b7a3e75e4216b Author: Joerg Roedel Date: Fri Sep 10 17:30:58 2010 +0200 KVM: MMU: Introduce kvm_pdptr_read_mmu This function is implemented to load the pdptr pointers of the currently running guest (l1 or l2 guest). Therefore it takes care about the current paging mode and can read pdptrs out of l2 guest physical memory. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ff03a073e715d49b5cfeeec862649b1df2481ae0 Author: Joerg Roedel Date: Fri Sep 10 17:30:57 2010 +0200 KVM: MMU: Add kvm_mmu parameter to load_pdptrs function This function need to be able to load the pdptrs from any mmu context currently in use. So change this function to take an kvm_mmu parameter to fit these needs. As a side effect this patch also moves the cached pdptrs from vcpu_arch into the kvm_mmu struct. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d47f00a62b2e14b4a811b87bdb9ea1809693a377 Author: Joerg Roedel Date: Fri Sep 10 17:30:56 2010 +0200 KVM: X86: Propagate fetch faults KVM currently ignores fetch faults in the instruction emulator. With nested-npt we could have such faults. This patch adds the code to handle these. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d4f8cf664e4c1fd579df6b6e6378335c9f79d790 Author: Joerg Roedel Date: Fri Sep 10 17:30:55 2010 +0200 KVM: MMU: Propagate the right fault back to the guest after gva_to_gpa This patch implements logic to make sure that either a page-fault/page-fault-vmexit or a nested-page-fault-vmexit is propagated back to the guest. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 02f59dc9f1f51d2148d87d48f84adb455a4fd697 Author: Joerg Roedel Date: Fri Sep 10 17:30:54 2010 +0200 KVM: MMU: Introduce init_kvm_nested_mmu() This patch introduces the init_kvm_nested_mmu() function which is used to re-initialize the nested mmu when the l2 guest changes its paging mode. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d06b8bfd44ec421c386241f7c5af66c8200cbf4 Author: Joerg Roedel Date: Fri Sep 10 17:30:53 2010 +0200 KVM: MMU: Introduce kvm_read_nested_guest_page() This patch introduces the kvm_read_guest_page_x86 function which reads from the physical memory of the guest. If the guest is running in guest-mode itself with nested paging enabled it will read from the guest's guest physical memory instead. The patch also changes changes the code to use this function where it is necessary. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 2329d46d213d0721dafae18db29f54b196f11468 Author: Joerg Roedel Date: Fri Sep 10 17:30:52 2010 +0200 KVM: MMU: Make walk_addr_generic capable for two-level walking This patch uses kvm_read_guest_page_tdp to make the walk_addr_generic functions suitable for two-level page table walking. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ec92fe44e7ff94d04d8305e49efcffd8773e1cf6 Author: Joerg Roedel Date: Fri Sep 10 17:30:51 2010 +0200 KVM: X86: Add kvm_read_guest_page_mmu function This patch adds a function which can read from the guests physical memory or from the guest's guest physical memory. This will be used in the two-dimensional page table walker. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6539e738f65a8f1fc7806295d5d701fba4008343 Author: Joerg Roedel Date: Fri Sep 10 17:30:50 2010 +0200 KVM: MMU: Implement nested gva_to_gpa functions This patch adds the functions to do a nested l2_gva to l1_gpa page table walk. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 14dfe855f978181cd611ec018e5ceba860a98545 Author: Joerg Roedel Date: Fri Sep 10 17:30:49 2010 +0200 KVM: X86: Introduce pointer to mmu context used for gva_to_gpa This patch introduces the walk_mmu pointer which points to the mmu-context currently used for gva_to_gpa translations. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit c30a358d33e0e111f06e54a4a4125371e6b6693c Author: Joerg Roedel Date: Fri Sep 10 17:30:48 2010 +0200 KVM: MMU: Add infrastructure for two-level page walker This patch introduces a mmu-callback to translate gpa addresses in the walk_addr code. This is later used to translate l2_gpa addresses into l1_gpa addresses. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1e301feb079e8ee6091bb75283e960fc33059a68 Author: Joerg Roedel Date: Fri Sep 10 17:30:47 2010 +0200 KVM: MMU: Introduce generic walk_addr function This is the first patch in the series towards a generic walk_addr implementation which could walk two-dimensional page tables in the end. In this first step the walk_addr function is renamed into walk_addr_generic which takes a mmu context as an additional parameter. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 8df25a328a6ca3bd0f048278f4d5ae0a1f6fadc1 Author: Joerg Roedel Date: Fri Sep 10 17:30:46 2010 +0200 KVM: MMU: Track page fault data in struct vcpu This patch introduces a struct with two new fields in vcpu_arch for x86: * fault.address * fault.error_code This will be used to correctly propagate page faults back into the guest when we could have either an ordinary page fault or a nested page fault. In the case of a nested page fault the fault-address is different from the original address that should be walked. So we need to keep track about the real fault-address. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3241f22da85d26505b39f525a88f52ebd1235975 Author: Joerg Roedel Date: Fri Sep 10 17:30:45 2010 +0200 KVM: MMU: Let is_rsvd_bits_set take mmu context instead of vcpu This patch changes is_rsvd_bits_set() function prototype to take only a kvm_mmu context instead of a full vcpu. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 52fde8df7dd13d90f5f8dc43157418bff968d90a Author: Joerg Roedel Date: Fri Sep 10 17:30:44 2010 +0200 KVM: MMU: Introduce kvm_init_shadow_mmu helper function Some logic of the init_kvm_softmmu function is required to build the Nested Nested Paging context. So factor the required logic into a seperate function and export it. Also make the whole init path suitable for more than one mmu context. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cb659db8a7d1ed558898f533a957dfc342f9499d Author: Joerg Roedel Date: Fri Sep 10 17:30:43 2010 +0200 KVM: MMU: Introduce inject_page_fault function pointer This patch introduces an inject_page_fault function pointer into struct kvm_mmu which will be used to inject a page fault. This will be used later when Nested Nested Paging is implemented. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 5777ed340d89cdc6c76a5c552337a3861b40a806 Author: Joerg Roedel Date: Fri Sep 10 17:30:42 2010 +0200 KVM: MMU: Introduce get_cr3 function pointer This function pointer in the MMU context is required to implement Nested Nested Paging. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1c97f0a04c74196880f22a563134c8f6d0b9d752 Author: Joerg Roedel Date: Fri Sep 10 17:30:41 2010 +0200 KVM: X86: Introduce a tdp_set_cr3 function This patch introduces a special set_tdp_cr3 function pointer in kvm_x86_ops which is only used for tpd enabled mmu contexts. This allows to remove some hacks from svm code. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit f43addd46168110d572dcf69100cb215a4e9fd08 Author: Joerg Roedel Date: Fri Sep 10 17:30:40 2010 +0200 KVM: MMU: Make set_cr3 a function pointer in kvm_mmu This is necessary to implement Nested Nested Paging. As a side effect this allows some cleanups in the SVM nested paging code. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit c5a78f2b649ae75ae788e7622ca5a586af2cb35a Author: Joerg Roedel Date: Fri Sep 10 17:30:39 2010 +0200 KVM: MMU: Make tdp_enabled a mmu-context parameter This patch changes the tdp_enabled flag from its global meaning to the mmu-context and renames it to direct_map there. This is necessary for Nested SVM with emulation of Nested Paging where we need an extra MMU context to shadow the Nested Nested Page Table. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 957446afce22df9a42b9482fcd55985f4037fe66 Author: Joerg Roedel Date: Fri Sep 10 17:30:38 2010 +0200 KVM: MMU: Check for root_level instead of long mode The walk_addr function checks for !is_long_mode in its 64 bit version. But what is meant here is a check for pae paging. Change the condition to really check for pae paging so that it also works with nested nested paging. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 7b91409822ed37f2a58974e49498bdbe92ddd93c Author: Jes Sorensen Date: Thu Sep 9 12:06:46 2010 +0200 KVM: x86: Emulate MSR_EBC_FREQUENCY_ID Some operating systems store data about the host processor at the time of installation, and when booted on a more uptodate cpu tries to read MSR_EBC_FREQUENCY_ID. This has been found with XP. Signed-off-by: Jes Sorensen Reviewed-by: Juan Quintela Signed-off-by: Marcelo Tosatti commit b9a52c4b78ec254ee00cce47d75efd89b09f13dd Author: Jes Sorensen Date: Thu Sep 9 12:06:45 2010 +0200 x86: Define MSR_EBC_FREQUENCY_ID Signed-off-by: Jes Sorensen Signed-off-by: Marcelo Tosatti commit b75f4eb34122b60ee4f07ec89973d1589002c68a Author: Roedel, Joerg Date: Fri Sep 3 14:21:40 2010 +0200 KVM: SVM: Clean up rip handling in vmrun emulation This patch changes the rip handling in the vmrun emulation path from using next_rip to the generic kvm register access functions. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit cda0008299a06f0d7218c6037c3c02d7a865e954 Author: Joerg Roedel Date: Thu Sep 2 17:29:46 2010 +0200 KVM: SVM: Restore correct registers after sel_cr0 intercept emulation This patch implements restoring of the correct rip, rsp, and rax after the svm emulation in KVM injected a selective_cr0 write intercept into the guest hypervisor. The problem was that the vmexit is emulated in the instruction emulation which later commits the registers right after the write-cr0 instruction. So the l1 guest will continue to run with the l2 rip, rsp and rax resulting in unpredictable behavior. This patch is not the final word, it is just an easy patch to fix the issue. The real fix will be done when the instruction emulator is made aware of nested virtualization. Until this is done this patch fixes the issue and provides an easy way to fix this in -stable too. Cc: stable@kernel.org Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit f87f928882d080eaec8b0d76aecff003d664697d Author: Joerg Roedel Date: Thu Sep 2 17:29:45 2010 +0200 KVM: MMU: Fix 32 bit legacy paging with NPT This patch fixes 32 bit legacy paging with NPT enabled. The mmu_check_root call on the top-level of the loop causes root_gfn to take values (in the tdp_enabled path) which are outside of guest memory. So the mmu_check_root call fails at some point in the loop interation causing the guest to tiple-fault. This patch changes the mmu_check_root calls to the places where they are really necessary. As a side-effect it introduces a check for the root of a pae page table too. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 26e673c3003bc8f24bdbbdcb8bc91a78556f579a Author: Alexander Graf Date: Fri Sep 3 10:22:19 2010 +0200 KVM: PPC: Move of include to __KERNEL__ section We have to protect the include for linux/of.h by __KERNEL__ so it doesn't accidently get referenced outside. This patch fixes this and makes the tree compile again. Reported-by: Stephen Rothwell Signed-off-by: Alexander Graf commit d1e87c7ee65a20b10faf7e59dbe2cc934c32473b Author: Alexander Graf Date: Tue Aug 31 04:25:39 2010 +0200 KVM: PPC: Add documentation for magic page enhancements This documents how to detect additional features inside the magic page when a guest maps it. Signed-off-by: Alexander Graf commit 344941beb9926418663e171a347d1a31d727fe45 Author: Alexander Graf Date: Tue Aug 31 03:45:39 2010 +0200 KVM: PPC: Fix compile error in e500_tlb.c The e500_tlb.c file didn't compile for me due to the following error: arch/powerpc/kvm/e500_tlb.c: In function ‘kvmppc_e500_shadow_map’: arch/powerpc/kvm/e500_tlb.c:300: error: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘gfn_t’ So let's explicitly cast the argument to make printk happy. Signed-off-by: Alexander Graf commit 21e537ba149be99c4d31a04949ca6e0770379662 Author: Kyle Moffett Date: Mon Aug 30 11:38:39 2010 -0400 KVM: PPC: e500_tlb: Fix a minor copy-paste tracing bug The kvmppc_e500_stlbe_invalidate() function was trying to pass too many parameters to trace_kvm_stlb_inval(). This appears to be a bad copy-paste from a call to trace_kvm_stlb_write(). Signed-off-by: Kyle Moffett Signed-off-by: Alexander Graf commit 6f7a2bd41fa8d52cbf5f32fdf8ba659d4ce4ae59 Author: Alexander Graf Date: Tue Aug 31 02:03:32 2010 +0200 KVM: PPC: Document KVM_INTERRUPT ioctl This adds some documentation for the KVM_INTERRUPT special cases that PowerPC now implements. Signed-off-by: Alexander Graf commit c5335f17651de5075313524ccc3881527268966f Author: Alexander Graf Date: Mon Aug 30 14:03:24 2010 +0200 KVM: PPC: Implement level interrupts for BookE BookE also wants to support level based interrupts, so let's implement all the necessary logic there. We need to trick a bit here because the irqprios are 1:1 assigned to architecture defined values. But since there is some space left there, we can just pick a random one and move it later on - it's internal anyways. Signed-off-by: Alexander Graf commit 7b4203e8cb5c5d9bc49da62b7a6fa4ba876a1b3f Author: Alexander Graf Date: Mon Aug 30 13:50:45 2010 +0200 KVM: PPC: Expose level based interrupt cap Now that we have all the level interrupt magic in place, let's expose the capability to user space, so it can make use of it! Signed-off-by: Alexander Graf commit 17bd158006a33615270f9dba15c62f49bd447435 Author: Alexander Graf Date: Mon Aug 30 10:44:15 2010 +0200 KVM: PPC: Implement Level interrupts on Book3S The current interrupt logic is just completely broken. We get a notification from user space, telling us that an interrupt is there. But then user space expects us that we just acknowledge an interrupt once we deliver it to the guest. This is not how real hardware works though. On real hardware, the interrupt controller pulls the external interrupt line until it gets notified that the interrupt was received. So in reality we have two events: pulling and letting go of the interrupt line. To maintain backwards compatibility, I added a new request for the pulling part. The letting go part was implemented earlier already. With this in place, we can now finally start guests that do not randomly stall and stop to work at random times. This patch implements above logic for Book3S. Signed-off-by: Alexander Graf commit 591bd8e7b4c8b9246d7a1c81ffbd28e35dc5de4e Author: Alexander Graf Date: Tue Aug 17 22:08:39 2010 +0200 KVM: PPC: Enable napping only for Book3s_64 Before I incorrectly enabled napping also for BookE, which would result in needless dcache flushes. Since we only need to force enable napping on Book3s_64 because it doesn't go into MSR_POW otherwise, we can just #ifdef that code to this particular platform. Reported-by: Scott Wood Signed-off-by: Alexander Graf commit ebc65874e9e8f3b8bbbc69aa49acd7489cd41c52 Author: Hollis Blanchard Date: Sat Aug 7 10:33:58 2010 -0700 KVM: PPC: allow ppc440gp to pass the compatibility check Match only the first part of cur_cpu_spec->platform. 440GP (the first 440 processor) is identified by the string "ppc440gp", while all later 440 processors use simply "ppc440". Signed-off-by: Hollis Blanchard Signed-off-by: Alexander Graf commit 0b3bafc8e5867039e265869749abbb7ea6dd2c8b Author: Hollis Blanchard Date: Sat Aug 7 10:33:57 2010 -0700 KVM: PPC: fix compilation of "dump tlbs" debug function Missing local variable. Signed-off-by: Hollis Blanchard Signed-off-by: Alexander Graf commit 082decf29a9fe5bd5dcbfb26223e44edd9deabed Author: Hollis Blanchard Date: Sat Aug 7 10:33:56 2010 -0700 KVM: PPC: initialize IVORs in addition to IVPR Developers can now tell at a glace the exact type of the premature interrupt, instead of just knowing that there was some premature interrupt. Signed-off-by: Hollis Blanchard Signed-off-by: Alexander Graf commit 296c19d0b4072dd9594daeec532563e56bddd119 Author: Alexander Graf Date: Sun Aug 15 08:39:19 2010 +0200 KVM: PPC: Don't put MSR_POW in MSR On Book3S a mtmsr with the MSR_POW bit set indicates that the OS is in idle and only needs to be waked up on the next interrupt. Now, unfortunately we let that bit slip into the stored MSR value which is not what the real CPU does, so that we ended up executing code like this: r = mfmsr(); /* r containts MSR_POW */ mtmsr(r | MSR_EE); This obviously breaks, as we're going into idle mode in code sections that don't expect to be idling. This patch masks MSR_POW out of the stored MSR value on wakeup, making guests happy again. Signed-off-by: Alexander Graf commit 8b6db3bc965c204db6868d4005808b4fdc9c46d7 Author: Alexander Graf Date: Sun Aug 15 08:04:24 2010 +0200 KVM: PPC: Implement correct SID mapping on Book3s_32 Up until now we were doing segment mappings wrong on Book3s_32. For Book3s_64 we were using a trick where we know that a single mmu_context gives us 16 bits of context ids. The mm system on Book3s_32 instead uses a clever algorithm to distribute VSIDs across the available range, so a context id really only gives us 16 available VSIDs. To keep at least a few guest processes in the SID shadow, let's map a number of contexts that we can use as VSID pool. This makes the code be actually correct and shouldn't hurt performance too much. Signed-off-by: Alexander Graf commit ad0873763a83e7b31ba87a85ec2027dd6a9d7b55 Author: Alexander Graf Date: Tue Aug 17 11:41:44 2010 +0200 KVM: PPC: Force enable nap on KVM There are some heuristics in the PPC power management code that try to find out if the particular hardware we're running on supports proper power management or just hangs the machine when going into nap mode. Since we know that KVM is safe with nap, let's force enable it in the PV code once we're certain that we are on a KVM VM. Signed-off-by: Alexander Graf commit df08bd10266ce6132278f6b4ddc4bb0a12330b56 Author: Alexander Graf Date: Thu Aug 5 15:44:41 2010 +0200 KVM: PPC: Make PV mtmsrd L=1 work with r30 and r31 We had an arbitrary limitation in mtmsrd L=1 that kept us from using r30 and r31 as input registers. Let's get rid of that and get more potential speedups! Signed-off-by: Alexander Graf commit 9ee18b1e08e6a5648aeaaf998eabc72b5304cc17 Author: Alexander Graf Date: Thu Aug 5 12:24:40 2010 +0200 KVM: PPC: Update int_pending also on dequeue When having a decrementor interrupt pending, the dequeuing happens manually through an mtdec instruction. This instruction simply calls dequeue on that interrupt, so the int_pending hint doesn't get updated. This patch enables updating the int_pending hint also on dequeue, thus correctly enabling guests to stay in guest contexts more often. Signed-off-by: Alexander Graf commit 512ba59ed9c580b5e5575beda0041bb19a641127 Author: Alexander Graf Date: Thu Aug 5 11:26:04 2010 +0200 KVM: PPC: Make PV mtmsr work with r30 and r31 So far we've been restricting ourselves to r0-r29 as registers an mtmsr instruction could use. This was bad, as there are some code paths in Linux actually using r30. So let's instead handle all registers gracefully and get rid of that stupid limitation Signed-off-by: Alexander Graf commit cbe487fac7fc016dbabbcbe83f11384e1803a56d Author: Alexander Graf Date: Tue Aug 3 10:39:35 2010 +0200 KVM: PPC: Add mtsrin PV code This is the guest side of the mtsr acceleration. Using this a guest can now call mtsrin with almost no overhead as long as it ensures that it only uses it with (MSR_IR|MSR_DR) == 0. Linux does that, so we're good. Signed-off-by: Alexander Graf commit df1bfa25d81f9451715ccbbb67551e0f792ceec8 Author: Alexander Graf Date: Tue Aug 3 02:29:27 2010 +0200 KVM: PPC: Put segment registers in shared page Now that the actual mtsr doesn't do anything anymore, we can move the sr contents over to the shared page, so a guest can directly read and write its sr contents from guest context. Signed-off-by: Alexander Graf commit 8e8651783ff2458f31098be7c2abacf2fcab054a Author: Alexander Graf Date: Tue Aug 3 01:06:11 2010 +0200 KVM: PPC: Interpret SR registers on demand Right now we're examining the contents of Book3s_32's segment registers when the register is written and put the interpreted contents into a struct. There are two reasons this is bad. For starters, the struct has worse real-time performance, as it occupies more ram. But the more important part is that with segment registers being interpreted from their raw values, we can put them in the shared page, allowing guests to mess with them directly. This patch makes the internal representation of SRs be u32s. Signed-off-by: Alexander Graf commit c1c88e2fa16f979ba3e99018a53962abe852b30f Author: Alexander Graf Date: Mon Aug 2 23:23:04 2010 +0200 KVM: PPC: Move BAT handling code into spr handler The current approach duplicates the spr->bat finding logic and makes it harder to reuse the actually used variables. So let's move everything down to the spr handler. Signed-off-by: Alexander Graf commit 7508e16c9f2a20f7721d7bc47c33a7b34c873a2c Author: Alexander Graf Date: Tue Aug 3 11:32:56 2010 +0200 KVM: PPC: Add feature bitmap for magic page We will soon add SR PV support to the shared page, so we need some infrastructure that allows the guest to query for features KVM exports. This patch adds a second return value to the magic mapping that indicated to the guest which features are available. Signed-off-by: Alexander Graf commit cb24c50826e0722bffb0674f088954cd4980818b Author: Alexander Graf Date: Mon Aug 2 22:05:00 2010 +0200 KVM: PPC: Remove unused define The define VSID_ALL is unused. Let's remove it. Signed-off-by: Alexander Graf commit b9877ce2994cc812f00dbb2adb88c1749b6dac86 Author: Alexander Graf Date: Mon Aug 2 21:48:53 2010 +0200 KVM: PPC: Revert "KVM: PPC: Use kernel hash function" It turns out the in-kernel hash function is sub-optimal for our subtle hash inputs where every bit is significant. So let's revert to the original hash functions. This reverts commit 05340ab4f9a6626f7a2e8f9fe5397c61d494f445. Signed-off-by: Alexander Graf commit 928d78be54014e65498e289fdc3f82acc4b804a9 Author: Alexander Graf Date: Mon Aug 2 21:25:33 2010 +0200 KVM: PPC: Move slb debugging to tracepoints This patch moves debugging printks for shadow SLB debugging over to tracepoints. Signed-off-by: Alexander Graf commit e7c1d14e3bf40b87e6a3f68964b36dbb2c875c0f Author: Alexander Graf Date: Mon Aug 2 21:24:48 2010 +0200 KVM: PPC: Make invalidation code more reliable There is a race condition in the pte invalidation code path where we can't be sure if a pte was invalidated already. So let's move the spin lock around to get rid of the race. Signed-off-by: Alexander Graf commit 2e602847d9c2d6b487bda62bbbe550db40ca912f Author: Alexander Graf Date: Mon Aug 2 20:11:39 2010 +0200 KVM: PPC: Don't flush PTEs on NX/RO hit When hitting a no-execute or read-only data/inst storage interrupt we were flushing the respective PTE so we're sure it gets properly overwritten next. According to the spec, this is unnecessary though. The guest issues a tlbie anyways, so we're safe to just keep the PTE around and have it manually removed from the guest, saving us a flush. Signed-off-by: Alexander Graf commit 4cb6b7ea0cd085e6613153ad69608cad6421abcc Author: Alexander Graf Date: Mon Aug 2 16:08:22 2010 +0200 KVM: PPC: Preload magic page when in kernel mode When the guest jumps into kernel mode and has the magic page mapped, theres a very high chance that it will also use it. So let's detect that scenario and map the segment accordingly. Signed-off-by: Alexander Graf commit c60b4cf70127941e2f944a7971a7f6b3ecb367ac Author: Alexander Graf Date: Mon Aug 2 13:40:30 2010 +0200 KVM: PPC: Add tracepoints for generic spte flushes The different ways of flusing shadow ptes have their own debug prints which use stupid old printk. Let's move them to tracepoints, making them easier available, faster and possible to activate on demand Signed-off-by: Alexander Graf commit c22c31963b4b0c23250e8f520a76427b3986b73b Author: Alexander Graf Date: Mon Aug 2 13:38:18 2010 +0200 KVM: PPC: Fix sid map search after flush After a flush the sid map contained lots of entries with 0 for their gvsid and hvsid value. Unfortunately, 0 can be a real value the guest searches for when looking up a vsid so it would incorrectly find the host's 0 hvsid mapping which doesn't belong to our sid space. So let's also check for the valid bit that indicated that the sid we're looking at actually contains useful data. Signed-off-by: Alexander Graf commit 8696ee431233171b3c1cc82bae0193efc4fef2ac Author: Alexander Graf Date: Mon Aug 2 12:55:19 2010 +0200 KVM: PPC: Move pte invalidate debug code to tracepoint This patch moves the SPTE flush debug printk over to tracepoints. Signed-off-by: Alexander Graf commit 4c4eea7769d0099ea09f9bdb7aed1cc61d57c9d6 Author: Alexander Graf Date: Mon Aug 2 12:51:07 2010 +0200 KVM: PPC: Add tracepoint for generic mmu map This patch moves the generic mmu map debugging over to tracepoints. Signed-off-by: Alexander Graf commit 82fdee7bce546c3ce38dcf0db6096eea73dbe7bd Author: Alexander Graf Date: Mon Aug 2 11:38:54 2010 +0200 KVM: PPC: Move book3s_64 mmu map debug print to trace point This patch moves Book3s MMU debugging over to tracepoints. Signed-off-by: Alexander Graf commit bed1ed9860d3744cc6488831fa5672d5c7aff4be Author: Alexander Graf Date: Mon Aug 2 11:06:26 2010 +0200 KVM: PPC: Move EXIT_DEBUG partially to tracepoints We have a debug printk on every exit that is usually #ifdef'ed out. Using tracepoints makes a lot more sense here though, as they can be dynamically enabled. This patch converts the most commonly used debug printks of EXIT_DEBUG to tracepoints. Signed-off-by: Alexander Graf commit 55438cc751c32cfafac52938403a86069e25b1bf Author: Takuya Yoshikawa Date: Thu Sep 2 17:55:00 2010 +0900 KVM: ia64: define kvm_lapic_enabled() to fix a compile error The following patch commit 57ce1659316f4ca298919649f9b1b55862ac3826 KVM: x86: In DM_LOWEST, only deliver interrupts to vcpus with enabled LAPIC's ignored the fact that kvm_irq_delivery_to_apic() was also used by ia64. We define kvm_lapic_enabled() to fix a compile error caused by this. This will have the same effect as reverting the problematic patch for ia64. Signed-off-by: Takuya Yoshikawa Signed-off-by: Avi Kivity commit 30644b902c5eef5328d37a2e15f1921aaca2588b Author: Xiao Guangrong Date: Mon Aug 30 18:26:33 2010 +0800 KVM: MMU: lower the aduit frequency The audit is very high overhead, so we need lower the frequency to assure the guest is running. Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit eb2591865a234c6fb1162085d9b277236fa890b6 Author: Xiao Guangrong Date: Mon Aug 30 18:25:51 2010 +0800 KVM: MMU: improve spte audit Both audit_mappings() and audit_sptes_have_rmaps() need to walk vcpu's page table, so we can do these checking in a spte walking Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 49edf87806f52a005152beaed9f4731862efc8fe Author: Xiao Guangrong Date: Mon Aug 30 18:25:03 2010 +0800 KVM: MMU: improve active sp audit Both audit_rmap() and audit_write_protection() need to walk all active sp, so we can do these checking in a sp walking Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 2f4f337248cd5660040b7e09b7287a7a0a861f3f Author: Xiao Guangrong Date: Mon Aug 30 18:24:10 2010 +0800 KVM: MMU: move audit to a separate file Move the audit code from arch/x86/kvm/mmu.c to arch/x86/kvm/mmu_audit.c Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e Author: Xiao Guangrong Date: Mon Aug 30 18:22:53 2010 +0800 KVM: MMU: support disable/enable mmu audit dynamicly Add a r/w module parameter named 'mmu_audit', it can control audit enable/disable: enable: echo 1 > /sys/module/kvm/parameters/mmu_audit disable: echo 0 > /sys/module/kvm/parameters/mmu_audit This patch not change the logic Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 84e0cefa8ddd5d5018d3b582e1e90585ed551757 Author: Jes Sorensen Date: Wed Sep 1 11:42:04 2010 +0200 KVM: Fix guest kernel crash on MSR_K7_CLK_CTL MSR_K7_CLK_CTL is a no longer documented MSR, which is only relevant on said old AMD CPU models. This change returns the expected value, which the Linux kernel is expecting to avoid writing back the MSR, plus it ignores all writes to the MSR. Signed-off-by: Jes Sorensen Signed-off-by: Avi Kivity commit 9ed049c3b6230b68985da31f8243d4bec95e0b3a Author: Avi Kivity Date: Mon Aug 30 12:18:24 2010 +0300 KVM: i8259: Make ICW1 conform to spec ICW is not a full reset, instead it resets a limited number of registers in the PIC. Change ICW1 emulation to only reset those registers. Signed-off-by: Avi Kivity commit 7d9ddaedd8a9d0442fda5b5a90f22a33becbd235 Author: Avi Kivity Date: Mon Aug 30 17:12:28 2010 +0300 KVM: x86 emulator: clean up control flow in x86_emulate_insn() x86_emulate_insn() is full of things like if (rc != X86EMUL_CONTINUE) goto done; break; consolidate all of those at the end of the switch statement. Signed-off-by: Avi Kivity commit a4d4a7c1880db98a521bc27c15348185fa30c256 Author: Avi Kivity Date: Tue Aug 3 15:05:46 2010 +0300 KVM: x86 emulator: fix group 11 decoding for reg != 0 These are all undefined. Signed-off-by: Avi Kivity commit b9eac5f4d146dc6cb88c8e6d891f8abe60493338 Author: Avi Kivity Date: Tue Aug 3 14:46:56 2010 +0300 KVM: x86 emulator: use single stage decoding for mov instructions Signed-off-by: Avi Kivity commit e90aa41e6ca76cd7be021d4d5560e64954cd4585 Author: Avi Kivity Date: Wed Sep 1 10:23:35 2010 +0300 KVM: Don't save/restore MSR_IA32_PERF_STATUS It is read/only; restoring it only results in annoying messages. Signed-off-by: Avi Kivity commit eaa48512ba9df32aab8be5fceec10f3f80369379 Author: Marcelo Tosatti Date: Tue Aug 31 19:13:14 2010 -0300 KVM: SVM: init_vmcb should reset vcpu->efer Otherwise EFER_LMA bit is retained across a SIPI reset. Fixes guest cpu onlining. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 678041ad9dc82eedc598f709e8a3d620139d4105 Author: Marcelo Tosatti Date: Tue Aug 31 19:13:13 2010 -0300 KVM: SVM: reset mmu context in init_vmcb Since commit aad827034e419fa no mmu reinitialization is performed via init_vmcb. Zero vcpu->arch.cr0 and pass the reset value as a parameter to kvm_set_cr0. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit c41a15dd4632499b9c1a00871e160276999767d9 Author: Avi Kivity Date: Mon Aug 30 10:46:56 2010 +0300 KVM: Fix pio trace direction out = write, in = read, not the other way round. Signed-off-by: Avi Kivity commit 8e0e8afa82018a3c751ea474eb47dfc65f00f4c3 Author: Xiao Guangrong Date: Sat Aug 28 19:25:09 2010 +0800 KVM: MMU: remove count_rmaps() Nothing is checked in count_rmaps(), so remove it Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 365fb3fdf6769d3553999d8eb6cc2a8c56c747c1 Author: Xiao Guangrong Date: Sat Aug 28 19:24:13 2010 +0800 KVM: MMU: rewrite audit_mappings_page() function There is a bugs in this function, we call gfn_to_pfn() and kvm_mmu_gva_to_gpa_read() in atomic context(kvm_mmu_audit() is called under the spinlock(mmu_lock)'s protection). This patch fix it by: - introduce gfn_to_pfn_atomic instead of gfn_to_pfn - get the mapping gfn from kvm_mmu_page_get_gfn() And it adds 'notrap' ptes check in unsync/direct sps Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit bc32ce2152406431acf4daf4a81dc1664bb7b91b Author: Xiao Guangrong Date: Sat Aug 28 19:22:46 2010 +0800 KVM: MMU: fix wrong not write protected sp report The audit code reports some sp not write protected in current code, it's just the bug in audit_write_protection(), since: - the invalid sp not need write protected - using uninitialize local variable('gfn') - call kvm_mmu_audit() out of mmu_lock's protection Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 0beb8d660425aab339ff68e6f4d4528739e8fc4f Author: Xiao Guangrong Date: Sat Aug 28 19:20:47 2010 +0800 KVM: MMU: check rmap for every spte The read-only spte also has reverse mapping, so fix the code to check them, also modify the function name to fit its doing Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 9ad17b10011702cb56c5e32e41ecd5fe281c3574 Author: Xiao Guangrong Date: Sat Aug 28 19:19:42 2010 +0800 KVM: MMU: fix compile warning in audit code fix: arch/x86/kvm/mmu.c: In function ‘kvm_mmu_unprotect_page’: arch/x86/kvm/mmu.c:1741: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’ arch/x86/kvm/mmu.c:1745: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’ arch/x86/kvm/mmu.c: In function ‘mmu_unshadow’: arch/x86/kvm/mmu.c:1761: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’ arch/x86/kvm/mmu.c: In function ‘set_spte’: arch/x86/kvm/mmu.c:2005: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘gfn_t’ arch/x86/kvm/mmu.c: In function ‘mmu_set_spte’: arch/x86/kvm/mmu.c:2033: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 7 has type ‘gfn_t’ Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 23e7a7944f3779155e2f6bbc831b544eb925f387 Author: Jason Wang Date: Fri Aug 27 17:15:06 2010 +0800 KVM: pit: Do not check pending pit timer in vcpu thread Pit interrupt injection was done by workqueue, so no need to check pending pit timer in vcpu thread which could lead unnecessary unblocking of vcpu. Signed-off-by: Jason Wang Signed-off-by: Avi Kivity commit 989044ee0fdc6c22a11ea1d22e2a3d17463cb564 Author: Alexander Graf Date: Mon Aug 30 12:01:56 2010 +0200 KVM: PPC: Fix CONFIG_KVM_GUEST && !CONFIG_KVM case When CONFIG_KVM_GUEST is selected, but CONFIG_KVM is not, we were missing some defines in asm-offsets.c and included too many headers at other places. This patch makes above configuration work. Reported-by: Stephen Rothwell Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 6230f7fc0453c5bc5daa8e053773021e1c4a2f16 Author: Avi Kivity Date: Thu Aug 26 18:34:55 2010 +0300 KVM: x86 emulator: simplify ALU opcode block decode further The ALU opcode block is very regular; introduce D6ALU() to define decode flags for 6 instructions at a time. Suggested by Paolo Bonzini. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 217fc9cfca21a0bc2f4246183ebd8ee9863b019d Author: Avi Kivity Date: Thu Aug 26 13:38:03 2010 +0300 KVM: Fix build error due to 64-bit division in nsec_to_cycles() Use do_div() instead. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 34d1f4905eb66478a890ea808ec58bc842e6e589 Author: Avi Kivity Date: Thu Aug 26 11:59:01 2010 +0300 KVM: x86 emulator: trap and propagate #DE from DIV and IDIV Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit f6b3597bded9ed261b42fdcb5e741489cb5ccbfe Author: Avi Kivity Date: Thu Aug 26 11:59:00 2010 +0300 KVM: x86 emulator: add macros for executing instructions that may trap Like DIV and IDIV. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 739ae406068211b235b488f247aab349e486c382 Author: Avi Kivity Date: Thu Aug 26 11:56:13 2010 +0300 KVM: x86 emulator: simplify instruction decode flags for opcodes 0F 00-FF Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d269e3961a65bbf6a76a8dc37b70cb578216e2c0 Author: Avi Kivity Date: Thu Aug 26 11:56:12 2010 +0300 KVM: x86 emulator: simplify instruction decode flags for opcodes E0-FF Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d2c6c7adb181eac5b18dbefdf24c0e6745470939 Author: Avi Kivity Date: Thu Aug 26 11:56:11 2010 +0300 KVM: x86 emulator: simplify instruction decode flags for opcodes C0-DF Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 50748613d16f55cbf7da14bc6e92b7cb1cd4fa7d Author: Avi Kivity Date: Thu Aug 26 11:56:10 2010 +0300 KVM: x86 emulator: simplify instruction decode flags for opcodes A0-AF Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 76e8e68d4435bb894a1a03be853a55a4a2b45247 Author: Avi Kivity Date: Thu Aug 26 11:56:09 2010 +0300 KVM: x86 emulator: simplify instruction decode flags for opcodes 80-8F Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 48fe67b5f7f71bb954dc97b18096cef12f6618b4 Author: Avi Kivity Date: Thu Aug 26 11:56:08 2010 +0300 KVM: x86 emulator: simplify string instruction decode flags Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 5315fbb223086c078c979d16734844ccff12f087 Author: Avi Kivity Date: Thu Aug 26 11:56:07 2010 +0300 KVM: x86 emulator: simplify ALU block (opcodes 00-3F) decode flags Use the new byte/word dual opcode decode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 8d8f4e9f66ab36e4fcc75eca1e828af8466309f1 Author: Avi Kivity Date: Thu Aug 26 11:56:06 2010 +0300 KVM: x86 emulator: support byte/word opcode pairs Many x86 instructions come in byte and word variants distinguished with bit 0 of the opcode. Add macros to aid in defining them. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 081bca0e6b87d0c7b9ade7ffee1f44aca336a8fa Author: Avi Kivity Date: Thu Aug 26 11:06:15 2010 +0300 KVM: x86 emulator: refuse SrcMemFAddr (e.g. LDS) with register operand SrcMemFAddr is not defined with the modrm operand designating a register instead of a memory address. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d2ddd1c48364e4161052d6089f06b2cf3c50496b Author: Gleb Natapov Date: Wed Aug 25 12:47:43 2010 +0300 KVM: x86 emulator: get rid of "restart" in emulation context. x86_emulate_insn() will return 1 if instruction can be restarted without re-entering a guest. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 3e2f65d57a0c1897fcc3287eeb41f117f4d021e5 Author: Gleb Natapov Date: Wed Aug 25 12:47:42 2010 +0300 KVM: x86 emulator: move string instruction completion check into separate function Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 6e2fb2cadd9a523ff5494d4c4d53c0d3e0024691 Author: Gleb Natapov Date: Wed Aug 25 12:47:41 2010 +0300 KVM: x86 emulator: Rename variable that shadows another local variable. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit cc4feed57fcd4934b89aaac51d64dbff921e2f2b Author: Wei Yongjun Date: Wed Aug 25 14:10:53 2010 +0800 KVM: x86 emulator: add CALL FAR instruction emulation (opcode 9a) Signed-off-by: Wei Yongjun Signed-off-by: Marcelo Tosatti commit a3c321c6e27e6134f1e8eece5f9954e8121fdc12 Author: Alexander Graf Date: Tue Aug 24 15:48:52 2010 +0200 KVM: S390: Export kvm_virtio.h As suggested by Christian, we should expose headers to user space with information that might be valuable there. The s390 virtio interface is one of those cases. It defines an ABI between hypervisor and guest, so it should be exposed to user space. Reported-by: Christian Borntraeger Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti commit cefa33e2f8f7852abb42f22ec25a6084a931c5ac Author: Alexander Graf Date: Tue Aug 24 15:48:51 2010 +0200 KVM: S390: Add virtio hotplug add support The one big missing feature in s390-virtio was hotplugging. This is no more. This patch implements hotplug add support, so you can on the fly add new devices in the guest. Keep in mind that this needs a patch for qemu to actually leverage the functionality. Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti commit fc678d67fee1acccf21322318dd833b892a572e4 Author: Alexander Graf Date: Tue Aug 24 15:48:50 2010 +0200 KVM: S390: take a full byte as ext_param indicator Currenty the ext_param field only distinguishes between "config change" and "vring interrupt". We can do a lot more with it though, so let's enable a full byte of possible values and constants to #defines while at it. Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti commit 189be38db3dde12699a8b9dc22d33e8c95efe110 Author: Xiao Guangrong Date: Sun Aug 22 19:13:33 2010 +0800 KVM: MMU: combine guest pte read between fetch and pte prefetch Combine guest pte read between guest pte check in the fetch path and pte prefetch Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 957ed9effd80b04482cbdce8c95bdf803a656b94 Author: Xiao Guangrong Date: Sun Aug 22 19:12:48 2010 +0800 KVM: MMU: prefetch ptes when intercepted guest #PF Support prefetch ptes when intercept guest #PF, avoid to #PF by later access If we meet any failure in the prefetch path, we will exit it and not try other ptes to avoid become heavy path Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 48987781eb1d1e8ded41f55cd5806615fda92c6e Author: Xiao Guangrong Date: Sun Aug 22 19:11:43 2010 +0800 KVM: MMU: introduce gfn_to_page_many_atomic() function Introduce this function to get consecutive gfn's pages, it can reduce gup's overload, used by later patch Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 887c08ac191efb103e33e589aacbc2ce1a3f131e Author: Xiao Guangrong Date: Sun Aug 22 19:10:28 2010 +0800 KVM: MMU: introduce hva_to_pfn_atomic function Introduce hva_to_pfn_atomic(), it's the fast path and can used in atomic context, the later patch will use it Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 45888a0c6edc305495b6bd72a30e66bc40b324c6 Author: Xiao Guangrong Date: Sun Aug 22 19:08:57 2010 +0800 export __get_user_pages_fast() function This function is used by KVM to pin process's page in the atomic context. Define the 'weak' function to avoid other architecture not support it Acked-by: Nick Piggin Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit f392eb2546170e539668a5ab8df6c1254d15a201 Author: Zachary Amsden Date: Thu Aug 19 22:07:33 2010 -1000 KVM: x86: Add timekeeping documentation Basic informational document about x86 timekeeping and how KVM is affected. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 1d5f066e0b63271b67eac6d3752f8aa96adcbddb Author: Zachary Amsden Date: Thu Aug 19 22:07:30 2010 -1000 KVM: x86: Fix a possible backwards warp of kvmclock Kernel time, which advances in discrete steps may progress much slower than TSC. As a result, when kvmclock is adjusted to a new base, the apparent time to the guest, which runs at a much higher, nsec scaled rate based on the current TSC, may have already been observed to have a larger value (kernel_ns + scaled tsc) than the value to which we are setting it (kernel_ns + 0). We must instead compute the clock as potentially observed by the guest for kernel_ns to make sure it does not go backwards. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 347bb4448c2155eb2310923ccaa4be5677649003 Author: Zachary Amsden Date: Thu Aug 19 22:07:29 2010 -1000 x86: pvclock: Move scale_delta into common header The scale_delta function for shift / multiply with 31-bit precision moves to a common header so it can be used by both kernel and kvm module. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit ca84d1a24c376e0841f35db08dab7b829c8c0b1e Author: Zachary Amsden Date: Thu Aug 19 22:07:28 2010 -1000 KVM: x86: Add clock sync request to hardware enable If there are active VCPUs which are marked as belonging to a particular hardware CPU, request a clock sync for them when enabling hardware; the TSC could be desynchronized on a newly arriving CPU, and we need to recompute guests system time relative to boot after a suspend event. This covers both cases. Note that it is acceptable to take the spinlock, as either no other tasks will be running and no locks held (BSP after resume), or other tasks will be guaranteed to drop the lock relatively quickly (AP on CPU_STARTING). Noting we now get clock synchronization requests for VCPUs which are starting up (or restarting), it is tempting to attempt to remove the arch/x86/kvm/x86.c CPU hot-notifiers at this time, however it is not correct to do so; they are required for systems with non-constant TSC as the frequency may not be known immediately after the processor has started until the cpufreq driver has had a chance to run and query the chipset. Updated: implement better locking semantics for hardware_enable Removed the hack of dropping and retaking the lock by adding the semantic that we always hold kvm_lock when hardware_enable is called. The one place that doesn't need to worry about it is resume, as resuming a frozen CPU, the spinlock won't be taken. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 46543ba45fc4b64ca32655efdc8d9c599b4164e2 Author: Zachary Amsden Date: Thu Aug 19 22:07:26 2010 -1000 KVM: x86: Robust TSC compensation Make the match of TSC find TSC writes that are close to each other instead of perfectly identical; this allows the compensator to also work in migration / suspend scenarios. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 759379dd68c2885d1fafa433083d4487e710a685 Author: Zachary Amsden Date: Thu Aug 19 22:07:25 2010 -1000 KVM: x86: Add helper functions for time computation Add a helper function to compute the kernel time and convert nanoseconds back to CPU specific cycles. Note that these must not be called in preemptible context, as that would mean the kernel could enter software suspend state, which would cause non-atomic operation. Also, convert the KVM_SET_CLOCK / KVM_GET_CLOCK ioctls to use the kernel time helper, these should be bootbased as well. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 48434c20e18d59001469699fcaaf9cf30b815a20 Author: Zachary Amsden Date: Thu Aug 19 22:07:24 2010 -1000 KVM: x86: Fix deep C-state TSC desynchronization When CPUs with unstable TSCs enter deep C-state, TSC may stop running. This causes us to require resynchronization. Since we can't tell when this may potentially happen, we assume the worst by forcing re-compensation for it at every point the VCPU task is descheduled. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit e48672fa25e879f7ae21785c7efd187738139593 Author: Zachary Amsden Date: Thu Aug 19 22:07:23 2010 -1000 KVM: x86: Unify TSC logic Move the TSC control logic from the vendor backends into x86.c by adding adjust_tsc_offset to x86 ops. Now all TSC decisions can be done in one place. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 6755bae8e69093b2994b6f29cd3eaecdf610374e Author: Zachary Amsden Date: Thu Aug 19 22:07:22 2010 -1000 KVM: x86: Warn about unstable TSC If creating an SMP guest with unstable host TSC, issue a warning Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 8cfdc0008542b57caadbfe013da163131a8293f4 Author: Zachary Amsden Date: Thu Aug 19 22:07:21 2010 -1000 KVM: x86: Make cpu_tsc_khz updates use local CPU This simplifies much of the init code; we can now simply always call tsc_khz_changed, optionally passing it a new value, or letting it figure out the existing value (while interrupts are disabled, and thus, by inference from the rule, not raceful against CPU hotplug or frequency updates, which will issue IPIs to the local CPU to perform this very same task). Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit f38e098ff3a315bb74abbb4a35cba11bbea8e2fa Author: Zachary Amsden Date: Thu Aug 19 22:07:20 2010 -1000 KVM: x86: TSC reset compensation Attempt to synchronize TSCs which are reset to the same value. In the case of a reliable hardware TSC, we can just re-use the same offset, but on non-reliable hardware, we can get closer by adjusting the offset to match the elapsed time. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 99e3e30aee1a326a98bf3a5f47b8622219c685f3 Author: Zachary Amsden Date: Thu Aug 19 22:07:17 2010 -1000 KVM: x86: Move TSC offset writes to common code Also, ensure that the storing of the offset and the reading of the TSC are never preempted by taking a spinlock. While the lock is overkill now, it is useful later in this patch series. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit f4e1b3c8bd2a044cd0ccf80595bfd088a49fe60b Author: Zachary Amsden Date: Thu Aug 19 22:07:16 2010 -1000 KVM: x86: Convert TSC writes to TSC offset writes Change svm / vmx to be the same internally and write TSC offset instead of bare TSC in helper functions. Isolated as a single patch to contain code movement. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit ae38436b78a8abff767e2ac10e2cd663a7eef476 Author: Zachary Amsden Date: Thu Aug 19 22:07:15 2010 -1000 KVM: x86: Drop vm_init_tsc This is used only by the VMX code, and is not done properly; if the TSC is indeed backwards, it is out of sync, and will need proper handling in the logic at each and every CPU change. For now, drop this test during init as misguided. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 45bf21a8ce7a2884f067a702a5c7683684846ce1 Author: Wei Yongjun Date: Mon Aug 23 16:13:15 2010 +0800 KVM: MMU: fix missing percpu counter destroy commit ad05c88266b4cce1c820928ce8a0fb7690912ba1 (KVM: create aggregate kvm_total_used_mmu_pages value) introduce percpu counter kvm_total_used_mmu_pages but never destroy it, this may cause oops when rmmod & modprobe. Signed-off-by: Wei Yongjun Acked-by: Tim Pepper Signed-off-by: Marcelo Tosatti commit 80b63faf028fba79e630d3643b0e615bddf4067b Author: Xiaotian Feng Date: Tue Aug 24 10:31:07 2010 +0800 KVM: MMU: fix regression from rework mmu_shrink() code Latest kvm mmu_shrink code rework makes kernel changes kvm->arch.n_used_mmu_pages/ kvm->arch.n_max_mmu_pages at kvm_mmu_free_page/kvm_mmu_alloc_page, which is called by kvm_mmu_commit_zap_page. So the kvm->arch.n_used_mmu_pages or kvm_mmu_available_pages(vcpu->kvm) is unchanged after kvm_mmu_prepare_zap_page(), This caused kvm_mmu_change_mmu_pages/__kvm_mmu_free_some_pages loops forever. Moving kvm_mmu_commit_zap_page would make the while loop performs as normal. Reported-by: Avi Kivity Signed-off-by: Xiaotian Feng Tested-by: Avi Kivity Cc: Marcelo Tosatti Cc: Dave Hansen Cc: Tim Pepper Signed-off-by: Marcelo Tosatti commit e4abac67b756680c63af369f053d11991616aeb4 Author: Wei Yongjun Date: Thu Aug 19 14:25:48 2010 +0800 KVM: x86 emulator: add JrCXZ instruction emulation Add JrCXZ instruction emulation (opcode 0xe3) Used by FreeBSD boot loader. Signed-off-by: Wei Yongjun Signed-off-by: Marcelo Tosatti commit 09b5f4d3c4aa2d4928c0a3723a8de26a76b6339e Author: Wei Yongjun Date: Mon Aug 23 14:56:54 2010 +0800 KVM: x86 emulator: add LDS/LES/LFS/LGS/LSS instruction emulation Add LDS/LES/LFS/LGS/LSS instruction emulation. (opcode 0xc4, 0xc5, 0x0f 0xb2, 0x0f 0xb4~0xb5) Signed-off-by: Wei Yongjun Signed-off-by: Marcelo Tosatti commit 45221ab6684a82a5b60208b76d6f8bfb1bbcb969 Author: Dave Hansen Date: Thu Aug 19 18:11:37 2010 -0700 KVM: create aggregate kvm_total_used_mmu_pages value Of slab shrinkers, the VM code says: * Note that 'shrink' will be passed nr_to_scan == 0 when the VM is * querying the cache size, so a fastpath for that case is appropriate. and it *means* it. Look at how it calls the shrinkers: nr_before = (*shrinker->shrink)(0, gfp_mask); shrink_ret = (*shrinker->shrink)(this_scan, gfp_mask); So, if you do anything stupid in your shrinker, the VM will doubly punish you. The mmu_shrink() function takes the global kvm_lock, then acquires every VM's kvm->mmu_lock in sequence. If we have 100 VMs, then we're going to take 101 locks. We do it twice, so each call takes 202 locks. If we're under memory pressure, we can have each cpu trying to do this. It can get really hairy, and we've seen lock spinning in mmu_shrink() be the dominant entry in profiles. This is guaranteed to optimize at least half of those lock aquisitions away. It removes the need to take any of the locks when simply trying to count objects. A 'percpu_counter' can be a large object, but we only have one of these for the entire system. There are not any better alternatives at the moment, especially ones that handle CPU hotplug. Signed-off-by: Dave Hansen Signed-off-by: Tim Pepper Signed-off-by: Avi Kivity commit 49d5ca26636cb8feb05aff92fc4dba3e494ec683 Author: Dave Hansen Date: Thu Aug 19 18:11:28 2010 -0700 KVM: replace x86 kvm n_free_mmu_pages with n_used_mmu_pages Doing this makes the code much more readable. That's borne out by the fact that this patch removes code. "used" also happens to be the number that we need to return back to the slab code when our shrinker gets called. Keeping this value as opposed to free makes the next patch simpler. So, 'struct kvm' is kzalloc()'d. 'struct kvm_arch' is a structure member (and not a pointer) of 'struct kvm'. That means they start out zeroed. I _think_ they get initialized properly by kvm_mmu_change_mmu_pages(). But, that only happens via kvm ioctls. Another benefit of storing 'used' intead of 'free' is that the values are consistent from the moment the structure is allocated: no negative "used" value. Signed-off-by: Dave Hansen Signed-off-by: Tim Pepper Signed-off-by: Avi Kivity commit 39de71ec5397f374aed95e99509372d605e1407c Author: Dave Hansen Date: Thu Aug 19 18:11:14 2010 -0700 KVM: rename x86 kvm->arch.n_alloc_mmu_pages arch.n_alloc_mmu_pages is a poor choice of name. This value truly means, "the number of pages which _may_ be allocated". But, reading the name, "n_alloc_mmu_pages" implies "the number of allocated mmu pages", which is dead wrong. It's really the high watermark, so let's give it a name to match: nr_max_mmu_pages. This change will make the next few patches much more obvious and easy to read. Signed-off-by: Dave Hansen Signed-off-by: Tim Pepper Signed-off-by: Avi Kivity commit e0df7b9f6cee43c01d6f4a8491bccfd410cb86e1 Author: Dave Hansen Date: Thu Aug 19 18:11:05 2010 -0700 KVM: abstract kvm x86 mmu->n_free_mmu_pages "free" is a poor name for this value. In this context, it means, "the number of mmu pages which this kvm instance should be able to allocate." But "free" implies much more that the objects are there and ready for use. "available" is a much better description, especially when you see how it is calculated. In this patch, we abstract its use into a function. We'll soon replace the function's contents by calculating the value in a different way. All of the reads of n_free_mmu_pages are taken care of in this patch. The modification sites will be handled in a patch later in the series. Signed-off-by: Dave Hansen Signed-off-by: Tim Pepper Signed-off-by: Avi Kivity commit 61429142802b068609ffd8ef48d891e05eeea0b9 Author: Avi Kivity Date: Thu Aug 19 15:13:00 2010 +0300 KVM: x86 emulator: implement CWD (opcode 99) Signed-off-by: Avi Kivity commit d46164dbd936bc11c7d2abed62f05b31c7a79ae7 Author: Avi Kivity Date: Wed Aug 18 19:29:33 2010 +0300 KVM: x86 emulator: implement IMUL REG, R/M, IMM (opcode 69) Signed-off-by: Avi Kivity commit 7db41eb76244ae623de842e818e459755968a33b Author: Avi Kivity Date: Wed Aug 18 19:25:28 2010 +0300 KVM: x86 emulator: add Src2Imm decoding Needed for 3-operand IMUL. Signed-off-by: Avi Kivity commit 39f21ee546cf7d563d813c5fb4473431c1d8fce7 Author: Avi Kivity Date: Wed Aug 18 19:20:21 2010 +0300 KVM: x86 emulator: consolidate immediate decode into a function Signed-off-by: Avi Kivity commit 48bb5d3c401679e41e7a7f06ca31b3e54a6168f7 Author: Avi Kivity Date: Wed Aug 18 18:54:34 2010 +0300 KVM: x86 emulator: implement RDTSC (opcode 0F 31) Signed-off-by: Avi Kivity commit 7077aec0bcd2f827aeb84ccc56c6f4367c376436 Author: Avi Kivity Date: Wed Aug 18 18:53:43 2010 +0300 KVM: x86 emulator: remove SrcImplicit Useless. Signed-off-by: Avi Kivity commit 5c82aa29988c0160d91f75cceebd0a07d8f2406b Author: Avi Kivity Date: Wed Aug 18 18:31:43 2010 +0300 KVM: x86 emulator: implement IMUL REG, R/M (opcode 0F AF) Signed-off-by: Avi Kivity commit f3a1b9f49647133e8c6eb6a68399ed8dbd61554a Author: Avi Kivity Date: Wed Aug 18 18:25:25 2010 +0300 KVM: x86 emulator: implement IMUL REG, R/M, imm8 (opcode 6B) Signed-off-by: Avi Kivity commit 40ece7c7297da90e54e147d3bfbb4531f9fbc570 Author: Avi Kivity Date: Wed Aug 18 15:12:09 2010 +0300 KVM: x86 emulator: implement RET imm16 (opcode C2) Signed-off-by: Avi Kivity commit b250e605895d02cede78922d034f7825af72a8b5 Author: Avi Kivity Date: Wed Aug 18 15:11:24 2010 +0300 KVM: x86 emulator: add SrcImmU16 operand type Used for RET NEAR instructions. Signed-off-by: Avi Kivity commit 0ef753b8c323f5b8d75d7dc57ceef6b35982afdb Author: Avi Kivity Date: Wed Aug 18 14:51:45 2010 +0300 KVM: x86 emulator: implement CALL FAR (FF /3) Signed-off-by: Avi Kivity commit 7af04fc05cc185869271927eb470de3d25064b4a Author: Avi Kivity Date: Wed Aug 18 14:16:35 2010 +0300 KVM: x86 emulator: implement DAS (opcode 2F) Signed-off-by: Avi Kivity commit fb2c264105c64511dbd1a7488b482960895aace4 Author: Avi Kivity Date: Mon Aug 16 17:50:56 2010 +0300 KVM: x86 emulator: Use a register for ____emulate_2op() destination Most x86 two operand instructions allow the destination to be a memory operand, but IMUL (for example) requires that the destination be a register. Change ____emulate_2op() to take a register for both source and destination so we can invoke IMUL. Signed-off-by: Avi Kivity commit b3b3d25a12986fb08666823db3e9a74649a71925 Author: Avi Kivity Date: Mon Aug 16 17:49:52 2010 +0300 KVM: x86 emulator: pass destination type to ____emulate_2op() We'll need it later so we can use a register for the destination. Signed-off-by: Avi Kivity commit f2f31845341d22e4f20438b05e83d58e71b723b5 Author: Wei Yongjun Date: Wed Aug 18 16:38:21 2010 +0800 KVM: x86 emulator: add LOOP/LOOPcc instruction emulation Add LOOP/LOOPcc instruction emulation (opcode 0xe0~0xe2). Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit e8b6fa70e3545f0afd63434dbd0c5220d47205f6 Author: Wei Yongjun Date: Wed Aug 18 16:43:13 2010 +0800 KVM: x86 emulator: add CBW/CWDE/CDQE instruction emulation Add CBW/CWDE/CDQE instruction emulation.(opcode 0x98) Used by FreeBSD's boot loader. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 0fa6ccbd281221bc7d46aff82d846e1f4c1985df Author: Avi Kivity Date: Tue Aug 17 11:22:17 2010 +0300 KVM: x86 emulator: fix REPZ/REPNZ termination condition EFLAGS.ZF needs to be checked after each iteration, not before. Signed-off-by: Avi Kivity commit f6b33fc5046642b669c3197bf08639172e4cffad Author: Avi Kivity Date: Tue Aug 17 11:20:37 2010 +0300 KVM: x86 emulator: implement SCAS (opcodes AE, AF) Signed-off-by: Avi Kivity commit 5c56e1cf7a758c4772e2470b4346a8219ec7f44e Author: Avi Kivity Date: Tue Aug 17 11:17:51 2010 +0300 KVM: x86 emulator: fix INTn emulation not pushing EFLAGS and CS emulate_push() only schedules a push; it doesn't actually push anything. Call writeback() to flush out the write. Signed-off-by: Avi Kivity commit a13a63faa6237001ed80d4f4051fc028dace10d9 Author: Wei Yongjun Date: Fri Aug 6 11:46:12 2010 +0800 KVM: x86 emulator: remove dup code of in/out instruction Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 41167be544603e077b866a2922737556dc2294e8 Author: Wei Yongjun Date: Fri Aug 6 11:45:12 2010 +0800 KVM: x86 emulator: change OUT instruction to use dst instead of src Change OUT instruction to use dst instead of src, so we can reuse those code for all out instructions. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 943858e27544cd10e6095093a40be911a31892b1 Author: Wei Yongjun Date: Fri Aug 6 11:36:51 2010 +0800 KVM: x86 emulator: introduce DstImmUByte for dst operand decode Introduce DstImmUByte for dst operand decode, which will be used for out instruction. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit c483c02ad35256206d6c45d7170fef1e33a43e9c Author: Wei Yongjun Date: Fri Aug 6 15:36:36 2010 +0800 KVM: x86 emulator: remove useless label from x86_emulate_insn() Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit ee45b58efebc826ea2ade310f6e311702d4a5ab9 Author: Wei Yongjun Date: Fri Aug 6 17:10:07 2010 +0800 KVM: x86 emulator: add setcc instruction emulation Add setcc instruction emulation (opcode 0x0f 0x90~0x9f) Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 9cf4c4fcb59704f0c50f6aa7933399db5d2edf1a Author: Jiri Kosina Date: Mon Aug 16 17:51:20 2010 +0200 KVM: x86: explain 'no-kvmclock' kernel parameter no-kvmclock kernel parameter is missing its explanation in Documentation/kernel-parameters.txt. Add it. Signed-off-by: Jiri Kosina Signed-off-by: Avi Kivity commit 92f738a52b53dc13b5dd5753634bdb8c59ac9815 Author: Wei Yongjun Date: Tue Aug 17 09:19:34 2010 +0800 KVM: x86 emulator: add XADD instruction emulation Add XADD instruction emulation (opcode 0x0f 0xc0~0xc1) Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 31be40b3985f09c0c89b9e28a8206df32adba842 Author: Wei Yongjun Date: Tue Aug 17 09:17:30 2010 +0800 KVM: x86 emulator: put register operand write back to a function Introduce function write_register_operand() to write back the register operand. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 646bab55a278ceb1cf43b1f80d3dd468be62a421 Author: Wei Yongjun Date: Tue Aug 17 10:08:52 2010 +0800 KVM: PPC: fix leakage of error page in kvmppc_patch_dcbz() Add kvm_release_page_clean() after is_error_page() to avoid leakage of error page. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 8ec4722dd2aab9b69befb919549ea0a5bfc9e670 Author: Mohammed Gamal Date: Mon Aug 16 00:47:01 2010 +0300 KVM: Separate emulation context initialization in a separate function The code for initializing the emulation context is duplicated at two locations (emulate_instruction() and kvm_task_switch()). Separate it in a separate function and call it from there. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit d9574a25afc3cd7ccd6a0bc05252bb84189e4021 Author: Wei Yongjun Date: Tue Aug 10 13:48:22 2010 +0800 KVM: x86 emulator: add bsf/bsr instruction emulation Add bsf/bsr instruction emulation (opcode 0x0f 0xbc~0xbd) Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 8c5eee30a942cb3154f14f12407755ed7da74bbc Author: Mohammed Gamal Date: Sun Aug 8 21:11:38 2010 +0300 KVM: x86 emulator: Fix emulate_grp3 return values This patch lets emulate_grp3() return X86EMUL_* return codes instead of hardcoded ones. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 3f9f53b0d599aabb03db35208fb31768568ca83f Author: Mohammed Gamal Date: Sun Aug 8 21:11:37 2010 +0300 KVM: x86 emulator: Add unary mul, imul, div, and idiv instructions This adds unary mul, imul, div, and idiv instructions (group 3 r/m 4-7). Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit ba7ff2b76dcf05c4681c2648019b8301ada6f3df Author: Wei Yongjun Date: Mon Aug 9 11:39:14 2010 +0800 KVM: x86 emulator: mask group 8 instruction as BitOp Mask group 8 instruction as BitOp, so we can share the code for adjust the source operand. Signed-off-by: Wei Yongjun Reviewed-by: Paolo Bonzini Signed-off-by: Avi Kivity commit 3885f18fe3034a10b3e3923885d70d31ba522844 Author: Wei Yongjun Date: Mon Aug 9 11:37:37 2010 +0800 KVM: x86 emulator: do not adjust the address for immediate source adjust the dst address for a register source but not adjust the address for an immediate source. Signed-off-by: Wei Yongjun Reviewed-by: Paolo Bonzini Signed-off-by: Avi Kivity commit 35c843c4857e2a818d1d951d87c40ee2cf5c1be8 Author: Wei Yongjun Date: Mon Aug 9 11:34:56 2010 +0800 KVM: x86 emulator: fix negative bit offset BitOp instruction emulation If bit offset operands is a negative number, BitOp instruction will return wrong value. This patch fix it. Signed-off-by: Wei Yongjun Reviewed-by: Paolo Bonzini Signed-off-by: Avi Kivity commit 8744aa9aad56be756a58126b429f176898631c3f Author: Mohammed Gamal Date: Thu Aug 5 15:42:49 2010 +0300 KVM: x86 emulator: Add stc instruction (opcode 0xf9) Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit c034da8b927dc682fe7944895d67f99f07e3740f Author: Wei Yongjun Date: Wed Aug 4 15:38:59 2010 +0800 KVM: x86 emulator: using SrcOne for instruction d0/d1 decoding Using SrcOne for instruction d0/d1 decoding. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 36089fed70337f4d96a5c3aa7fadc4095b707f73 Author: Wei Yongjun Date: Wed Aug 4 15:38:18 2010 +0800 KVM: x86 emulator: disable writeback when decode dest operand This patch change to disable writeback when decode dest operand if the dest type is ImplicitOps or not specified. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 06cb704611caf40e531a3835809283f14f5307d5 Author: Wei Yongjun Date: Wed Aug 4 15:36:53 2010 +0800 KVM: x86 emulator: use SrcAcc to simplify stos decoding Use SrcAcc to simplify stos decoding. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 6e154e56b4d7a6a28c54f0984e13d3f8defc4755 Author: Mohammed Gamal Date: Wed Aug 4 14:38:06 2010 +0300 KVM: x86 emulator: Add into, int, and int3 instructions (opcodes 0xcc-0xce) This adds support for int instructions to the emulator. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 160ce1f1a8fe64b3e2686ae73fbf051ccfe7c7ef Author: Mohammed Gamal Date: Wed Aug 4 05:44:24 2010 +0300 KVM: x86 emulator: Allow accessing IDT via emulator ops The patch adds a new member get_idt() to x86_emulate_ops. It also adds a function to get the idt in order to be used by the emulator. This is needed for real mode interrupt injection and the emulation of int instructions. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit d3ad6243293d92c82530a50c77d71bb0a0a42fdc Author: Wei Yongjun Date: Thu Aug 5 16:34:39 2010 +0800 KVM: x86 emulator: simplify two-byte opcode check Two-byte opcode always start with 0x0F and the decode flags of opcode 0xF0 is always 0, so remove dup check. Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit a58ddea556f8877ccf7caa046b6d6b32982f5b1d Author: Alexander Graf Date: Thu Jul 29 15:04:22 2010 +0200 KVM: PPC: Move KVM trampolines before __end_interrupts When using a relocatable kernel we need to make sure that the trampline code and the interrupt handlers are both copied to low memory. The only way to do this reliably is to put them in the copied section. This patch should make relocated kernels work with KVM. KVM-Stable-Tag Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 2b05d71fefc3b83e686bead355c6d35e440c4261 Author: Alexander Graf Date: Thu Jul 29 15:04:21 2010 +0200 KVM: PPC: Make long relocations be ulong On Book3S KVM we directly expose some asm pointers to C code as variables. These need to be relocated and thus break on relocatable kernels. To make sure we can at least build, let's mark them as long instead of u32 where 64bit relocations don't work. This fixes the following build error: WARNING: 2 bad relocations^M > c000000000008590 R_PPC64_ADDR32 .text+0x4000000000008460^M > c000000000008594 R_PPC64_ADDR32 .text+0x4000000000008598^M Please keep in mind that actually using KVM on a relocated kernel might still break. This only fixes the compile problem. Reported-by: Subrata Modak Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 0e677903878ef90e09a45507255c0b1e36166064 Author: Alexander Graf Date: Thu Jul 29 15:04:20 2010 +0200 KVM: PPC: Use MSR_DR for external load_up Book3S_32 requires MSR_DR to be disabled during load_up_xxx while on Book3S_64 it's supposed to be enabled. I misread the code and disabled it in both cases, potentially breaking the PS3 which has a really small RMA. This patch makes KVM work on the PS3 again. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 2d27fc5eac0205588cb59ae138062e5e96695276 Author: Alexander Graf Date: Thu Jul 29 15:04:19 2010 +0200 KVM: PPC: Add book3s_32 tlbie flush acceleration On Book3s_32 the tlbie instruction flushed effective addresses by the mask 0x0ffff000. This is pretty hard to reflect with a hash that hashes ~0xfff, so to speed up that target we should also keep a special hash around for it. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 49451389ecc2b4336c305678c210b25fadd18994 Author: Gleb Natapov Date: Thu Jul 29 15:04:18 2010 +0200 KVM: PPC: correctly check gfn_to_pfn() return value On failure gfn_to_pfn returns bad_page so use correct function to check for that. Signed-off-by: Gleb Natapov Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 2e0908afaf03675d22e40ce45a66b8d2070214ac Author: Alexander Graf Date: Thu Jul 29 15:04:17 2010 +0200 KVM: PPC: RCU'ify the Book3s MMU So far we've been running all code without locking of any sort. This wasn't really an issue because I didn't see any parallel access to the shadow MMU code coming. But then I started to implement dirty bitmapping to MOL which has the video code in its own thread, so suddenly we had the dirty bitmap code run in parallel to the shadow mmu code. And with that came trouble. So I went ahead and made the MMU modifying functions as parallelizable as I could think of. I hope I didn't screw up too much RCU logic :-). If you know your way around RCU and locking and what needs to be done when, please take a look at this patch. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 5302104235f0e9f05781b92a4ab25d20e4537f56 Author: Alexander Graf Date: Thu Jul 29 15:04:16 2010 +0200 KVM: PPC: Book3S_32 MMU debug compile fixes Due to previous changes, the Book3S_32 guest MMU code didn't compile properly when enabling debugging. This patch repairs the broken code paths, making it possible to define DEBUG_MMU and friends again. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 15711e9c927bfc08e66791cbf0ca7887c0880768 Author: Alexander Graf Date: Thu Jul 29 14:48:08 2010 +0200 KVM: PPC: Add get_pvinfo interface to query hypercall instructions We need to tell the guest the opcodes that make up a hypercall through interfaces that are controlled by userspace. So we need to add a call for userspace to allow it to query those opcodes so it can pass them on. This is required because the hypercall opcodes can change based on the hypervisor conditions. If we're running in hardware accelerated hypervisor mode, a hypercall looks different from when we're running without hardware acceleration. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d7d3c2ea99c4845611997cf728af88c4c232e908 Author: Alexander Graf Date: Thu Jul 29 14:48:07 2010 +0200 KVM: PPC: Add Documentation about PV interface We just introduced a new PV interface that screams for documentation. So here it is - a shiny new and awesome text file describing the internal works of the PPC KVM paravirtual interface. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 644bfa013fd589b0df2470a66bcd104318ef24cd Author: Alexander Graf Date: Thu Jul 29 14:48:06 2010 +0200 KVM: PPC: PV wrteei On BookE the preferred way to write the EE bit is the wrteei instruction. It already encodes the EE bit in the instruction. So in order to get BookE some speedups as well, let's also PV'nize thati instruction. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 7810927760a0d16d7a41be4dab895fbbf9445bc0 Author: Alexander Graf Date: Thu Jul 29 14:48:05 2010 +0200 KVM: PPC: PV mtmsrd L=0 and mtmsr There is also a form of mtmsr where all bits need to be addressed. While the PPC64 Linux kernel behaves resonably well here, on PPC32 we do not have an L=1 form. It does mtmsr even for simple things like only changing EE. So we need to hook into that one as well and check for a mask of bits that we deem safe to change from within guest context. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 819a63dc792b0888edd3eda306a9e1e049dcbb1c Author: Alexander Graf Date: Thu Jul 29 14:48:04 2010 +0200 KVM: PPC: PV mtmsrd L=1 The PowerPC ISA has a special instruction for mtmsr that only changes the EE and RI bits, namely the L=1 form. Since that one is reasonably often occuring and simple to implement, let's go with this first. Writing EE=0 is always just a store. Doing EE=1 also requires us to check for pending interrupts and if necessary exit back to the hypervisor. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 92234722ed631f472f1c4d79d35d8e5cf6910002 Author: Alexander Graf Date: Thu Jul 29 14:48:03 2010 +0200 KVM: PPC: PV assembler helpers When we hook an instruction we need to make sure we don't clobber any of the registers at that point. So we write them out to scratch space in the magic page. To make sure we don't fall into a race with another piece of hooked code, we need to disable interrupts. To make the later patches and code in general easier readable, let's introduce a set of defines that save and restore r30, r31 and cr. Let's also define some helpers to read the lower 32 bits of a 64 bit field on 32 bit systems. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 71ee8e34fe26252b11668a95708783ec9c58cbda Author: Alexander Graf Date: Thu Jul 29 14:48:02 2010 +0200 KVM: PPC: Introduce branch patching helper We will need to patch several instruction streams over to a different code path, so we need a way to patch a single instruction with a branch somewhere else. This patch adds a helper to facilitate this patching. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 2d4f567103ff5a931e773f2e356b4eb303115deb Author: Alexander Graf Date: Thu Jul 29 14:48:01 2010 +0200 KVM: PPC: Introduce kvm_tmp framework We will soon require more sophisticated methods to replace single instructions with multiple instructions. We do that by branching to a memory region where we write replacement code for the instruction to. This region needs to be within 32 MB of the patched instruction though, because that's the furthest we can jump with immediate branches. So we keep 1MB of free space around in bss. After we're done initing we can just tell the mm system that the unused pages are free, but until then we have enough space to fit all our code in. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d1290b15e7f139e24150cc6e6d8e904214359e8a Author: Alexander Graf Date: Thu Jul 29 14:48:00 2010 +0200 KVM: PPC: PV tlbsync to nop With our current MMU scheme we don't need to know about the tlbsync instruction. So we can just nop it out. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d1293c927568f5b5b8dd3fa263a98683cf8556dc Author: Alexander Graf Date: Thu Jul 29 14:47:59 2010 +0200 KVM: PPC: PV instructions to loads and stores Some instructions can simply be replaced by load and store instructions to or from the magic page. This patch replaces often called instructions that fall into the above category. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 73a18109829e7696226a9fd4062d339e7c6ee130 Author: Alexander Graf Date: Thu Jul 29 14:47:58 2010 +0200 KVM: PPC: KVM PV guest stubs We will soon start and replace instructions from the text section with other, paravirtualized versions. To ease the readability of those patches I split out the generic looping and magic page mapping code out. This patch still only contains stubs. But at least it loops through the text section :). Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d17051cb8d223dffd6bb847b0565ef1654f8e0e1 Author: Alexander Graf Date: Thu Jul 29 14:47:57 2010 +0200 KVM: PPC: Generic KVM PV guest support We have all the hypervisor pieces in place now, but the guest parts are still missing. This patch implements basic awareness of KVM when running Linux as guest. It doesn't do anything with it yet though. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit ba492962363a02c45836be205f339be48093e1be Author: Alexander Graf Date: Thu Jul 29 14:47:56 2010 +0200 KVM: Move kvm_guest_init out of generic code Currently x86 is the only architecture that uses kvm_guest_init(). With PowerPC we're getting a second user, but the signature is different there and we don't need to export it, as it uses the normal kernel init framework. So let's move the x86 specific definition of that function over to the x86 specfic header file. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 5fc87407b55f5799418f4dc5931232c2bc06d077 Author: Alexander Graf Date: Thu Jul 29 14:47:55 2010 +0200 KVM: PPC: Expose magic page support to guest Now that we have the shared page in place and the MMU code knows about the magic page, we can expose that capability to the guest! Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit e8508940a88691ad3d1c46608cd968eb4be9cbc5 Author: Alexander Graf Date: Thu Jul 29 14:47:54 2010 +0200 KVM: PPC: Magic Page Book3s support We need to override EA as well as PA lookups for the magic page. When the guest tells us to project it, the magic page overrides any guest mappings. In order to reflect that, we need to hook into all the MMU layers of KVM to force map the magic page if necessary. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit beb03f14da9ceff76ff08cbb8af064b52dc21f7e Author: Alexander Graf Date: Thu Jul 29 14:47:53 2010 +0200 KVM: PPC: First magic page steps We will be introducing a method to project the shared page in guest context. As soon as we're talking about this coupling, the shared page is colled magic page. This patch introduces simple defines, so the follow-up patches are easier to read. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 28e83b4fa7f8bd114940fa933ac8cbe80969eba2 Author: Alexander Graf Date: Thu Jul 29 14:47:52 2010 +0200 KVM: PPC: Make PAM a define On PowerPC it's very normal to not support all of the physical RAM in real mode. To check if we're matching on the shared page or not, we need to know the limits so we can restrain ourselves to that range. So let's make it a define instead of open-coding it. And while at it, let's also increase it. Signed-off-by: Alexander Graf v2 -> v3: - RMO -> PAM (non-magic page) Signed-off-by: Avi Kivity commit 90bba358873dc96a6746f0df453a0a8ca3d6b86e Author: Alexander Graf Date: Thu Jul 29 14:47:51 2010 +0200 KVM: PPC: Tell guest about pending interrupts When the guest turns on interrupts again, it needs to know if we have an interrupt pending for it. Because if so, it should rather get out of guest context and get the interrupt. So we introduce a new field in the shared page that we use to tell the guest that there's a pending interrupt lying around. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit fad93fe1d452960eb838109222cc949eb77f2859 Author: Alexander Graf Date: Thu Jul 29 14:47:50 2010 +0200 KVM: PPC: Add PV guest scratch registers While running in hooked code we need to store register contents out because we must not clobber any registers. So let's add some fields to the shared page we can just happily write to. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 5c6cedf488a1144ac4f683f3ea1a642533d1dcd2 Author: Alexander Graf Date: Thu Jul 29 14:47:49 2010 +0200 KVM: PPC: Add PV guest critical sections When running in hooked code we need a way to disable interrupts without clobbering any interrupts or exiting out to the hypervisor. To achieve this, we have an additional critical field in the shared page. If that field is equal to the r1 register of the guest, it tells the hypervisor that we're in such a critical section and thus may not receive any interrupts. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 2a342ed57756ad5d8af5456959433884367e5ab2 Author: Alexander Graf Date: Thu Jul 29 14:47:48 2010 +0200 KVM: PPC: Implement hypervisor interface To communicate with KVM directly we need to plumb some sort of interface between the guest and KVM. Usually those interfaces use hypercalls. This hypercall implementation is described in the last patch of the series in a special documentation file. Please read that for further information. This patch implements stubs to handle KVM PPC hypercalls on the host and guest side alike. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit a73a9599e03eef1324d5aeecaebc1b339d2e1664 Author: Alexander Graf Date: Thu Jul 29 14:47:47 2010 +0200 KVM: PPC: Convert SPRG[0-4] to shared page When in kernel mode there are 4 additional registers available that are simple data storage. Instead of exiting to the hypervisor to read and write those, we can just share them with the guest using the page. This patch converts all users of the current field to the shared page. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit de7906c36ca1e22a3e3600e95c6a4e2c1e4e2e9c Author: Alexander Graf Date: Thu Jul 29 14:47:46 2010 +0200 KVM: PPC: Convert SRR0 and SRR1 to shared page The SRR0 and SRR1 registers contain cached values of the PC and MSR respectively. They get written to by the hypervisor when an interrupt occurs or directly by the kernel. They are also used to tell the rfi(d) instruction where to jump to. Because it only gets touched on defined events that, it's very simple to share with the guest. Hypervisor and guest both have full r/w access. This patch converts all users of the current field to the shared page. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 5e030186dfc4e4e47c84d2557b17e4aa06c76f96 Author: Alexander Graf Date: Thu Jul 29 14:47:45 2010 +0200 KVM: PPC: Convert DAR to shared page. The DAR register contains the address a data page fault occured at. This register behaves pretty much like a simple data storage register that gets written to on data faults. There is no hypervisor interaction required on read or write. This patch converts all users of the current field to the shared page. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d562de48de68b60b3d2522e7d8273d7112034ee6 Author: Alexander Graf Date: Thu Jul 29 14:47:44 2010 +0200 KVM: PPC: Convert DSISR to shared page The DSISR register contains information about a data page fault. It is fully read/write from inside the guest context and we don't need to worry about interacting based on writes of this register. This patch converts all users of the current field to the shared page. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 666e7252a15b7fc4a116e65deaf6da5e4ce660e3 Author: Alexander Graf Date: Thu Jul 29 14:47:43 2010 +0200 KVM: PPC: Convert MSR to shared page One of the most obvious registers to share with the guest directly is the MSR. The MSR contains the "interrupts enabled" flag which the guest has to toggle in critical sections. So in order to bring the overhead of interrupt en- and disabling down, let's put msr into the shared page. Keep in mind that even though you can fully read its contents, writing to it doesn't always update all state. There are a few safe fields that don't require hypervisor interaction. See the documentation for a list of MSR bits that are safe to be set from inside the guest. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 96bc451a153297bf1f99ef2d633d512ea349ae7a Author: Alexander Graf Date: Thu Jul 29 14:47:42 2010 +0200 KVM: PPC: Introduce shared page For transparent variable sharing between the hypervisor and guest, I introduce a shared page. This shared page will contain all the registers the guest can read and write safely without exiting guest context. This patch only implements the stubs required for the basic structure of the shared page. The actual register moving follows. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 34698d8c61bd3fc86b2e99c3d1ad9ef140b3eb0d Author: Mohammed Gamal Date: Wed Aug 4 14:41:04 2010 +0300 KVM: x86 emulator: Fix nop emulation If a nop instruction is encountered, we jump directly to the done label. This skip updating rip. Break from the switch case instead Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 2dbd0dd711e6c0ca6a2be9e6d93bbeb339386638 Author: Avi Kivity Date: Sun Aug 1 15:40:19 2010 +0300 KVM: x86 emulator: Decode memory operands directly into a 'struct operand' Since modrm operand can be either register or memory, decoding it into a 'struct operand', which can represent both, is simpler. Signed-off-by: Avi Kivity commit 1f6f05800e2fdd815ac63e3264071d26d429f491 Author: Avi Kivity Date: Sun Aug 1 15:19:22 2010 +0300 KVM: x86 emulator: change invlpg emulation to use src.mem.addr Instead of using modrm_ea, which will soon be gone. Signed-off-by: Avi Kivity commit 342fc63095e2d676f209b202d41a3f670dd9bf08 Author: Avi Kivity Date: Sun Aug 1 15:13:22 2010 +0300 KVM: x86 emulator: switch LEA to use SrcMem decoding The NoAccess flag will prevent memory from being accessed. Signed-off-by: Avi Kivity commit 5a506b125f1c97c846654ebacc913a136284e42b Author: Avi Kivity Date: Sun Aug 1 15:10:29 2010 +0300 KVM: x86 emulator: add NoAccess flag for memory instructions that skip access Use for INVLPG, which accesses the tlb, not memory. Signed-off-by: Avi Kivity commit b27f38563d956135a5e80aca749b399ac5f3158a Author: Avi Kivity Date: Sun Aug 1 14:25:22 2010 +0300 KVM: x86 emulator: use struct operand for mov reg,dr and mov dr,reg for reg op This is an ordinary modrm source or destination; use the standard structure representing it. Signed-off-by: Avi Kivity commit 1a0c7d44e4553ffb4902ec15549a9b855cd05a59 Author: Avi Kivity Date: Sun Aug 1 14:25:22 2010 +0300 KVM: x86 emulator: use struct operand for mov reg,cr and mov cr,reg for reg op This is an ordinary modrm source or destination; use the standard structure representing it. Signed-off-by: Avi Kivity commit cecc9e39161898eb767a6b797e27a1660b3eb27e Author: Avi Kivity Date: Sun Aug 1 14:48:44 2010 +0300 KVM: x86 emulator: mark mov cr and mov dr as 64-bit instructions in long mode Signed-off-by: Avi Kivity commit 7f9b4b75be866de938a3094413a60554f7e66e4d Author: Avi Kivity Date: Sun Aug 1 14:46:54 2010 +0300 KVM: x86 emulator: introduce Op3264 for mov cr and mov dr instructions The operands for these instructions are 32 bits or 64 bits, depending on long mode, and ignoring REX prefixes, or the operand size prefix. Signed-off-by: Avi Kivity commit 1e87e3efe764285133866a14ddc71cf211f022c2 Author: Avi Kivity Date: Sun Aug 1 14:42:51 2010 +0300 KVM: x86 emulator: simplify REX.W check (x && (x & y)) == (x & y) Signed-off-by: Avi Kivity commit d4709c78eeff2b272e0b9727748b72371b0e71ab Author: Avi Kivity Date: Sun Aug 1 13:53:19 2010 +0300 KVM: x86 emulator: drop use_modrm_ea Unused (and has never been). Signed-off-by: Avi Kivity commit 91ff3cb43cb3dd8810d726dfa1f3736dc9aea1df Author: Avi Kivity Date: Sun Aug 1 12:53:09 2010 +0300 KVM: x86 emulator: put register operand fetch into a function The code is repeated three times, put it into fetch_register_operand() Signed-off-by: Avi Kivity commit 3d9e77dff81c8be21ec0e7950ae06d1bddff8066 Author: Avi Kivity Date: Sun Aug 1 12:41:59 2010 +0300 KVM: x86 emulator: use SrcAcc to simplify xchg decoding Signed-off-by: Avi Kivity commit 4515453964e78ce556a98c56aeb675ed8d48b8de Author: Avi Kivity Date: Sun Aug 1 12:39:53 2010 +0300 KVM: x86 emulator: simplify xchg decode tables Use X8() to avoid repetition. Signed-off-by: Avi Kivity commit 1a6440aef6d63252e6c80aff651147b5f8c737e9 Author: Avi Kivity Date: Sun Aug 1 12:35:10 2010 +0300 KVM: x86 emulator: use correct type for memory address in operands Currently we use a void pointer for memory addresses. That's wrong since these are guest virtual addresses which are not directly dereferencable by the host. Use the correct type, unsigned long. Signed-off-by: Avi Kivity commit 09ee57cdae3156aa3b74f378a0c57ef657c90f38 Author: Avi Kivity Date: Sun Aug 1 12:07:29 2010 +0300 KVM: x86 emulator: push segment override out of decode_modrm() Let it compute modrm_seg instead, and have the caller apply it. Signed-off-by: Avi Kivity commit dbe7758482a870f30a86bdeefebf4fc260afef11 Author: Joerg Roedel Date: Mon Aug 2 16:46:45 2010 +0200 KVM: SVM: Check for asid != 0 on nested vmrun This patch lets a nested vmrun fail if the L1 hypervisor left the asid zero. This fixes the asid_zero unit test. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 52c65a30a5c6f31cd66dba57c22d18cafa5e327f Author: Joerg Roedel Date: Mon Aug 2 16:46:44 2010 +0200 KVM: SVM: Check for nested vmrun intercept before emulating vmrun This patch lets the nested vmrun fail if the L1 hypervisor has not intercepted vmrun. This fixes the "vmrun intercept check" unit test. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 4132779b1718f066ec2d06a71c8958039865cd49 Author: Xiao Guangrong Date: Mon Aug 2 16:15:08 2010 +0800 KVM: MMU: mark page dirty only when page is really written Mark page dirty only when this page is really written, it's more exacter, and also can fix dirty page marking in speculation path Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 8672b7217a234c41d425a63b171af809e1169842 Author: Xiao Guangrong Date: Mon Aug 2 16:14:04 2010 +0800 KVM: MMU: move bits lost judgement into a separate function Introduce spte_has_volatile_bits() function to judge whether spte bits will miss, it's more readable and can help us to cleanup code later Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 251464c464cf7df7d6d548f1065f49a3ecd08118 Author: Xiao Guangrong Date: Mon Aug 2 16:12:08 2010 +0800 KVM: MMU: using kvm_set_pfn_accessed() instead of mark_page_accessed() It's a small cleanup that using using kvm_set_pfn_accessed() instead of mark_page_accessed() Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 4fc40f076f4fa289dd546990b597351c9cdad985 Author: Gleb Natapov Date: Mon Aug 2 12:47:51 2010 +0300 KVM: x86 emulator: check io permissions only once for string pio Do not recheck io permission on every iteration. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 9928ff608b1b6ba10fafde85f57970a83a181331 Author: Avi Kivity Date: Sun Aug 1 18:35:24 2010 +0300 KVM: x86 emulator: fix LMSW able to clear cr0.pe LMSW is documented not to be able to clear cr0.pe; make it so. Signed-off-by: Avi Kivity commit e85d28f8e8cef09b8e424448ccedb7244cfbf147 Author: Gleb Natapov Date: Thu Jul 29 15:11:52 2010 +0300 KVM: x86 emulator: don't update vcpu state if instruction is restarted No need to update vcpu state since instruction is in the middle of the emulation. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 63540382ccb83d2857964858c1ac7eb7d37de497 Author: Avi Kivity Date: Thu Jul 29 15:11:55 2010 +0300 KVM: x86 emulator: convert some push instructions to direct decode Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d0e533255d3811382c97b594ff7ab19b9b036814 Author: Avi Kivity Date: Thu Jul 29 15:11:54 2010 +0300 KVM: x86 emulator: allow repeat macro arguments to contain commas Needed for repeating instructions with execution functions. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 73fba5f4fe3e08bd7acb18a65b53643445c8f028 Author: Avi Kivity Date: Thu Jul 29 15:11:53 2010 +0300 KVM: x86 emulator: move decode tables downwards So they can reference execution functions. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit dde7e6d12a9ef9f727d05ce824f4fe75ca2a5b3a Author: Avi Kivity Date: Thu Jul 29 15:11:52 2010 +0300 KVM: x86 emulator: move x86_decode_insn() downwards No code changes. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit ef65c88912cafe56de2737c440aefc764fd8f202 Author: Avi Kivity Date: Thu Jul 29 15:11:51 2010 +0300 KVM: x86 emulator: allow storing emulator execution function in decode tables Instead of looking up the opcode twice (once for decode flags, once for the big execution switch) look up both flags and function in the decode tables. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 9aabc88fc8687ba3a520e2ec459821d05f72474e Author: Avi Kivity Date: Thu Jul 29 15:11:50 2010 +0300 KVM: x86 emulator: store x86_emulate_ops in emulation context It doesn't ever change, so we don't need to pass it around everywhere. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit ab85b12b1a7fd125588f9447653a71ec8e1b5024 Author: Avi Kivity Date: Thu Jul 29 15:11:49 2010 +0300 KVM: x86 emulator: move ByteOp and Dst back to bits 0:3 Now that the group index no longer exists, the space is free. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 3885d530b0eb26c82b6f085c181442b0aa6f8fed Author: Avi Kivity Date: Thu Jul 29 15:11:48 2010 +0300 KVM: x86 emulator: drop support for old-style groups Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 9f5d3220e3047536f702ed67309f6a581c0bed8b Author: Avi Kivity Date: Thu Jul 29 15:11:47 2010 +0300 KVM: x86 emulator: convert group 9 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 2cb20bc8af313b400e5c2c94886e0d87e2ec4e4d Author: Avi Kivity Date: Thu Jul 29 15:11:46 2010 +0300 KVM: x86 emulator: convert group 8 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 2f3a9bc9ebd42e00929f370e1a56e40028a8d651 Author: Avi Kivity Date: Thu Jul 29 15:11:45 2010 +0300 KVM: x86 emulator: convert group 7 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit b67f9f0741e288c97f73cdc9e39e2c4943004332 Author: Avi Kivity Date: Thu Jul 29 15:11:44 2010 +0300 KVM: x86 emulator: convert group 5 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 591c9d20a37db54c7234742bff925cb2e6fdca4b Author: Avi Kivity Date: Thu Jul 29 15:11:43 2010 +0300 KVM: x86 emulator: convert group 4 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit ee70ea30ee81dda2cf5fbc2e143ce3cb303187ce Author: Avi Kivity Date: Thu Jul 29 15:11:42 2010 +0300 KVM: x86 emulator: convert group 3 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 99880c5cd54b28a26fd6ed949f545cc0075e4393 Author: Avi Kivity Date: Thu Jul 29 15:11:41 2010 +0300 KVM: x86 emulator: convert group 1A to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 5b92b5faff8ec66c75f3716ae7c4bf1e2b99d7e6 Author: Avi Kivity Date: Thu Jul 29 15:11:40 2010 +0300 KVM: x86 emulator: convert group 1 to new style Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 120df8902dbe91cc1b3b7886481e350fae7334fe Author: Avi Kivity Date: Thu Jul 29 15:11:39 2010 +0300 KVM: x86 emulator: allow specifying group directly in opcode Instead of having a group number, store the group table pointer directly in the opcode. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 793d5a8d6baad9062b0a03e034944b31e50dfe5c Author: Avi Kivity Date: Thu Jul 29 15:11:38 2010 +0300 KVM: x86 emulator: reserve group code 0 We'll be using that to distinguish between new-style and old-style groups. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 42a1c5209570ead6d89abecd99ab12947a41d20a Author: Avi Kivity Date: Thu Jul 29 15:11:37 2010 +0300 KVM: x86 emulator: move group tables to top No code changes. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit fd853310a1ebaef257956208165873494bb805dc Author: Avi Kivity Date: Thu Jul 29 15:11:36 2010 +0300 KVM: x86 emulator: Add wrappers for easily defining opcodes Once 'struct opcode' grows, its initializer will become more complicated. Wrap the simple initializers in a D() macro, and replace the empty initializers with an even simpler N macro. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d65b1dee408243daa45110ee494d204508d31657 Author: Avi Kivity Date: Thu Jul 29 15:11:35 2010 +0300 KVM: x86 emulator: introduce 'struct opcode' This will hold all the information known about the opcode. Currently, this is just the decode flags. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit ea9ef04e19c7c441b1ce9fe28ff6d9522c848baa Author: Avi Kivity Date: Thu Jul 29 15:11:34 2010 +0300 KVM: x86 emulator: drop parentheses in repreat macros The parenthese make is impossible to use the macros with initializers that require braces. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 62bd430e6d41ac84ff2fb719f5783c3692718f47 Author: Mohammed Gamal Date: Wed Jul 28 12:38:40 2010 +0300 KVM: x86 emulator: Add IRET instruction Ths patch adds IRET instruction (opcode 0xcf). Currently, only IRET in real mode is emulated. Protected mode support is to be added later if needed. Signed-off-by: Mohammed Gamal Reviewed-by: Avi Kivity Reviewed-by: Paolo Bonzini Signed-off-by: Marcelo Tosatti commit 7a190667bb316653cbb782fff95cfdfcf51ded45 Author: Joerg Roedel Date: Tue Jul 27 18:14:21 2010 +0200 KVM: SVM: Emulate next_rip svm feature This patch implements the emulations of the svm next_rip feature in the nested svm implementation in kvm. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 3f6a9d1693deaeef28d98109bc92c98dd94a8523 Author: Joerg Roedel Date: Tue Jul 27 18:14:20 2010 +0200 KVM: SVM: Sync efer back into nested vmcb This patch fixes a bug in a nested hypervisor that heavily switches between real-mode and long-mode. The problem is fixed by syncing back efer into the guest vmcb on emulated vmexit. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 19ada5c4b6170bbc7ac4f2f38dba0068fdc7755a Author: Xiao Guangrong Date: Tue Jul 27 11:21:18 2010 +0800 KVM: MMU: remove valueless output message After commit 53383eaad08d, the '*spte' has updated before call rmap_remove()(in most case it's 'shadow_trap_nonpresent_pte'), so remove this information from error message Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit d359192feaf02861327339a9dda6b2b2d765c2bc Author: Avi Kivity Date: Mon Jul 26 18:32:39 2010 +0300 KVM: VMX: Use host_gdt variable wherever we need the host gdt Now that we have the host gdt conveniently stored in a variable, make use of it instead of querying the cpu. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit e071edd5ba8dd7a493eef229d495cf6232b09534 Author: Avi Kivity Date: Mon Jul 26 14:37:51 2010 +0300 KVM: x86 emulator: unify the two Group 3 variants Use just one group table for byte (F6) and word (F7) opcodes. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit dfe11481d8f1b6a7354c34cb252ff1a8af233cfe Author: Avi Kivity Date: Mon Jul 26 14:37:50 2010 +0300 KVM: x86 emulator: Allow LOCK prefix for NEG and NOT Opcodes F6/2, F6/3, F7/2, F7/3. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 4968ec4e26007770d8759fbface4d4712a27b5d4 Author: Avi Kivity Date: Mon Jul 26 14:37:49 2010 +0300 KVM: x86 emulator: simplify Group 1 decoding Move operand decoding to the opcode table, keep lock decoding in the group table. This allows us to get consolidate the four variants of Group 1 into one group. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 52811d7de565b2db988257591fbf2a6be31c1459 Author: Avi Kivity Date: Mon Jul 26 14:37:48 2010 +0300 KVM: x86 emulator: mix decode bits from opcode and group decode tables Allow bits that are common to all members of a group to be specified in the opcode table instead of the group table. This allows some simplification of the decode tables. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 047a4818094217a1323d8f31f9318ea2e142f745 Author: Avi Kivity Date: Mon Jul 26 14:37:47 2010 +0300 KVM: x86 emulator: add Undefined decode flag Add a decode flag to indicate the instruction is invalid. Will come in useful later, when we mix decode bits from the opcode and group table. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 2ce495365f6cdd5792c4db0ddb8ac8544950b671 Author: Avi Kivity Date: Mon Jul 26 14:37:46 2010 +0300 KVM: x86 emulator: Make group storage bits separate from operand bits Currently group bits are stored in bits 0:7, where operand bits are stored. Make group bits be 0:3, and move the existing bits 0:3 to 16:19, so we can mix group and operand bits. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 880a1883785d37287e13e4faf3fe92b294404de0 Author: Avi Kivity Date: Mon Jul 26 14:37:45 2010 +0300 KVM: x86 emulator: consolidate Jcc rel32 decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit be8eacddbd8ee60506a6f940b3efb93cb61d7861 Author: Avi Kivity Date: Mon Jul 26 14:37:44 2010 +0300 KVM: x86 emulator: consolidate CMOVcc decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit b6e6153885d6463896d9b465e59b361eac60efa0 Author: Avi Kivity Date: Mon Jul 26 14:37:43 2010 +0300 KVM: x86 emulator: consolidate MOV reg, imm decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit b3ab3405fe3d40ae9c5350ee014c7c086fcf3d97 Author: Avi Kivity Date: Mon Jul 26 14:37:42 2010 +0300 KVM: x86 emulator: consolidate Jcc rel8 decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 3849186c381e2e6291828579c382662520b44696 Author: Avi Kivity Date: Mon Jul 26 14:37:41 2010 +0300 KVM: x86 emulator: consolidate push/pop reg decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 749358a6b4691bfd2abfa9e4be2142af4697de3a Author: Avi Kivity Date: Mon Jul 26 14:37:40 2010 +0300 KVM: x86 emulator: consolidate inc/dec reg decoding Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 83babbca4617ab086621fe65a71a2168420f1d88 Author: Avi Kivity Date: Mon Jul 26 14:37:39 2010 +0300 KVM: x86 emulator: add macros for repetitive instructions Some instructions are repetitive in the opcode space, add macros for consolidating them. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 91269b8f94eedce1767b2f208d656e5a5683326a Author: Avi Kivity Date: Sun Jul 25 14:51:16 2010 +0300 KVM: x86 emulator: fix handling for unemulated instructions If an instruction is present in the decode tables but not in the execution switch, it will be emulated as a NOP. An example is IRET (0xcf). Fix by adding default: labels to the execution switches. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit d8692ac012104ebffb343c0bcb4a2b8642c821a6 Author: Jiri Kosina Date: Sat Oct 23 22:59:33 2010 +0200 HID: fix mismerge in hid-lg Fix wrong merge in hid-lg -- report fixup functions now get pointer to rdesc. Signed-off-by: Jiri Kosina commit f1275410a108ac38b59149d10bce3f35edd70876 Merge: 8b66a16 00e7f96 Author: Jiri Kosina Date: Sat Oct 23 22:54:53 2010 +0200 Merge branch 'waltop' into for-linus commit 8b66a16f25f819bb1f132f075c5c01a288776cf8 Merge: bbd128b 41fa923 Author: Jiri Kosina Date: Sat Oct 23 22:49:32 2010 +0200 Merge branch 'uc-logic' into for-linus Conflicts: drivers/hid/hid-ids.h drivers/hid/hid-lg.c drivers/hid/usbhid/hid-quirks.c commit bbd128b5acae85b2ef346e95cc5a729ac5252f19 Merge: c3d9d74 48216fb f516611 2c6118e 921990b 0277873 d2b570a Author: Jiri Kosina Date: Sat Oct 23 22:47:38 2010 +0200 Merge branches '3m', 'egalax', 'logitech', 'magicmouse', 'ntrig' and 'roccat' into for-linus commit c3d9d74336c10c133ed062a1d778d457c6a46422 Merge: 35da7a3 569b10a cb17468 Author: Jiri Kosina Date: Sat Oct 23 22:44:36 2010 +0200 Merge branches 'upstream' and 'upstream-fixes' into for-linus commit 3201f3dd7370f2d29dfb689ae16f8f5d4066cc33 Author: Trond Myklebust Date: Sat Oct 23 15:43:10 2010 -0400 NFSv4: Fix a regression in decode_getfattr We don't want to have the mounted_on_fileid overwrite the true fileid. We only return the former if the server didn't supply the true fileid. Signed-off-by: Trond Myklebust commit 7ad07353003d6ff69fe0b987813bb77b4d5ac23d Author: Trond Myklebust Date: Sat Oct 23 15:34:20 2010 -0400 NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer decode_attr_filehandle still needs to skip the XDR-encoded filehandle if someone passes a null pointer argument. Signed-off-by: Trond Myklebust commit 4a201d6e3f4253f918555cc7c27c418f8ac1bb65 Author: Trond Myklebust Date: Sat Oct 23 14:53:23 2010 -0400 NFS: Ensure we check all allocation return values in new readdir code Also some clean ups. Signed-off-by: Trond Myklebust commit 82f2e5472e2304e531c2fa85e457f4a71070044e Author: Bryan Schumaker Date: Thu Oct 21 16:33:18 2010 -0400 NFS: Readdir plus in v4 By requsting more attributes during a readdir, we can mimic the readdir plus operation that was in NFSv3. To test, I ran the command `ls -lU --color=none` on directories with various numbers of files. Without readdir plus, I see this: n files | 100 | 1,000 | 10,000 | 100,000 | 1,000,000 --------+-----------+-----------+-----------+-----------+---------- real | 0m00.153s | 0m00.589s | 0m05.601s | 0m56.691s | 9m59.128s user | 0m00.007s | 0m00.007s | 0m00.077s | 0m00.703s | 0m06.800s sys | 0m00.010s | 0m00.070s | 0m00.633s | 0m06.423s | 1m10.005s access | 3 | 1 | 1 | 4 | 31 getattr | 2 | 1 | 1 | 1 | 1 lookup | 104 | 1,003 | 10,003 | 100,003 | 1,000,003 readdir | 2 | 16 | 158 | 1,575 | 15,749 total | 111 | 1,021 | 10,163 | 101,583 | 1,015,784 With readdir plus enabled, I see this: n files | 100 | 1,000 | 10,000 | 100,000 | 1,000,000 --------+-----------+-----------+-----------+-----------+---------- real | 0m00.115s | 0m00.206s | 0m01.079s | 0m12.521s | 2m07.528s user | 0m00.003s | 0m00.003s | 0m00.040s | 0m00.290s | 0m03.296s sys | 0m00.007s | 0m00.020s | 0m00.120s | 0m01.357s | 0m17.556s access | 3 | 1 | 1 | 1 | 7 getattr | 2 | 1 | 1 | 1 | 1 lookup | 4 | 3 | 3 | 3 | 3 readdir | 6 | 62 | 630 | 6,300 | 62,993 total | 15 | 67 | 635 | 6,305 | 63,004 Readdir plus disabled has about a 16x increase in the number of rpc calls and is 4 - 5 times slower on large directories. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit ae42c70a60fe330d9c2af7c4b92ce78484308e37 Author: Bryan Schumaker Date: Thu Oct 21 16:33:17 2010 -0400 NFS: introduce generic decode_getattr function Getattr should be able to decode errors and the readdir file handle. decode_getfattr_attrs does the actual attribute decoding, while decode_getfattr_generic will check the opcode before decoding. This will let other functions call decode_getfattr_attrs to decode their attributes. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit 9942438089d5c0e3adecdcb7bc360b8fe0ce7e62 Author: Bryan Schumaker Date: Thu Oct 21 16:33:16 2010 -0400 NFS: check xdr_decode for errors Check if the decoded entry has the eof bit set when returning from xdr_decode with an error. If it does, we should set the eof bits in the array before returning. This should keep us from looping when we expect more data but the server doesn't give us anything new. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit 3c8a1aeed8fd7f89bd0400fad72cbc1ac3460217 Author: Bryan Schumaker Date: Thu Oct 21 16:33:16 2010 -0400 NFS: nfs_readdir_filler catch all errors Check for all errors, not a specific one. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit 56e4ebf877b6043c289bda32a5a7385b80c17dee Author: Bryan Schumaker Date: Wed Oct 20 15:44:37 2010 -0400 NFS: readdir with vmapped pages We can use vmapped pages to read more information from the network at once. This will reduce the number of calls needed to complete a readdir. Signed-off-by: Bryan Schumaker [trondmy: Added #include for linux/vmalloc.h> in fs/nfs/dir.c] Signed-off-by: Trond Myklebust commit afa8ccc978c24d8ab22e3b3b8cbd1054c84c070b Author: Bryan Schumaker Date: Wed Oct 20 15:44:31 2010 -0400 NFS: remove page size checking code Remove the page size checking code for a readdir decode. This is now done by decode_dirent with xdr_streams. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit babddc72a9468884ce1a23db3c3d54b0afa299f0 Author: Bryan Schumaker Date: Wed Oct 20 15:44:29 2010 -0400 NFS: decode_dirent should use an xdr_stream Convert nfs*xdr.c to use an xdr stream in decode_dirent. This will prevent a kernel oops that has been occuring when reading a vmapped page. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit ba8e452a4fe64a51b74d43761e14d99f0666cc45 Author: Trond Myklebust Date: Tue Oct 19 19:58:49 2010 -0400 SUNRPC: Add a helper function xdr_inline_peek We sometimes need to be able to read ahead in an xdr_stream without incrementing the current pointer position. Signed-off-by: Trond Myklebust commit 0715dc632a271fc0fedf3ef4779fe28ac1e53ef4 Author: Bryan Schumaker Date: Fri Sep 24 18:50:01 2010 -0400 NFS: remove readdir plus limit We will now use readdir plus even on directories that are very large. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit d39ab9de3b80da5835049b1c3b49da4e84e01c07 Author: Bryan Schumaker Date: Fri Sep 24 18:50:01 2010 -0400 NFS: re-add readdir plus This patch adds readdir plus support to the cache array. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit baf57a09e9d87b14be5e2788828169394a2525ab Author: Trond Myklebust Date: Fri Sep 24 18:49:43 2010 -0400 NFS: Optimise the readdir searches If we're going through the loop in nfs_readdir() more than once, we usually do not want to restart searching from the beginning of the pages cache. We only want to do that if the previous search failed... Signed-off-by: Trond Myklebust commit d1bacf9eb2fd0e7ef870acf84b9e3b157dcfa7dc Author: Bryan Schumaker Date: Fri Sep 24 14:48:42 2010 -0400 NFS: add readdir cache array This patch adds the readdir cache array and functions to retreive the array stored on a cache page, clear the array by freeing allocated memory, add an entry to the array, and search the array for a given cookie. It then modifies readdir to make use of the new cache array. With the new cache array method, we no longer need some of this code. Finally, nfs_llseek_dir() will set file->f_pos to a value greater than 0 and desc->dir_cookie to zero. When we see this, readdir needs to find the file at position file->f_pos from the start of the directory. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit 8c7597f6ce212bbc8ca05090e21820ffe9792b3d Author: Randy Dunlap Date: Fri Oct 22 16:18:52 2010 -0700 nfs: include ratelimit.h, fix nfs4state build error nfs4state.c uses interfaces from ratelimit.h. It needs to include that header file to fix build errors: fs/nfs/nfs4state.c:1195: warning: type defaults to 'int' in declaration of 'DEFINE_RATELIMIT_STATE' fs/nfs/nfs4state.c:1195: warning: parameter names (without types) in function declaration fs/nfs/nfs4state.c:1195: error: invalid storage class for function 'DEFINE_RATELIMIT_STATE' fs/nfs/nfs4state.c:1195: error: implicit declaration of function '__ratelimit' fs/nfs/nfs4state.c:1195: error: '_rs' undeclared (first use in this function) Signed-off-by: Randy Dunlap Cc: Trond Myklebust Cc: linux-nfs@vger.kernel.org Signed-off-by: Trond Myklebust commit 168667c43bbafff11b46014a1e94477ff7619f45 Author: Trond Myklebust Date: Tue Oct 19 19:47:49 2010 -0400 NFSv4: The state manager must ignore EKEYEXPIRED. Otherwise, we cannot recover state correctly. Signed-off-by: Trond Myklebust commit 898f635c4297e91ceac675d83c4a460f26118342 Author: Trond Myklebust Date: Sat Oct 23 11:24:25 2010 -0400 NFSv4: Don't ignore the error return codes from nfs_intent_set_file If nfs_intent_set_file() returns an error, we usually want to pass that back up the stack. Also ensure that nfs_open_revalidate() returns '1' on success. Signed-off-by: Trond Myklebust commit 35da7a307c535f9c2929cae277f3df425c9f9b1e Merge: 5f05647 7ad58c0 Author: Linus Torvalds Date: Sat Oct 23 11:55:00 2010 -0700 Merge branch 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-block: block: fix use-after-free bug in blk throttle code commit 5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0 Merge: 02f3603 ec37a48 Author: Linus Torvalds Date: Sat Oct 23 11:47:02 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits) bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL. vlan: Calling vlan_hwaccel_do_receive() is always valid. tproxy: use the interface primary IP address as a default value for --on-ip tproxy: added IPv6 support to the socket match cxgb3: function namespace cleanup tproxy: added IPv6 support to the TPROXY target tproxy: added IPv6 socket lookup function to nf_tproxy_core be2net: Changes to use only priority codes allowed by f/w tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled tproxy: added tproxy sockopt interface in the IPV6 layer tproxy: added udp6_lib_lookup function tproxy: added const specifiers to udp lookup functions tproxy: split off ipv6 defragmentation to a separate module l2tp: small cleanup nf_nat: restrict ICMP translation for embedded header can: mcp251x: fix generation of error frames can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set can-raw: add msg_flags to distinguish local traffic 9p: client code cleanup rds: make local functions/variables static ... Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and drivers/net/wireless/ath/ath9k/debug.c as per David commit 7ad58c028652753814054f4e3ac58f925e7343f4 Author: Jens Axboe Date: Sat Oct 23 20:40:26 2010 +0200 block: fix use-after-free bug in blk throttle code blk_throtl_exit() frees the throttle data hanging off the queue in blk_cleanup_queue(), but blk_put_queue() will indirectly dereference this data when calling blk_sync_queue() which in turns calls throtl_shutdown_timer_wq(). Fix this by moving the freeing of the throttle data to when the queue is truly being released, and post the call to blk_sync_queue(). Reported-by: Ingo Molnar Tested-by: Ingo Molnar Signed-off-by: Jens Axboe commit 02f36038c568111ad4fc433f6fa760ff5e38fab4 Merge: 6c2754c 676cb02 07bd851 50f2d7f 892df7f 68f4d5a b365a85 6554287 Author: Linus Torvalds Date: Sat Oct 23 08:25:36 2010 -0700 Merge branches 'softirq-for-linus', 'x86-debug-for-linus', 'x86-numa-for-linus', 'x86-quirks-for-linus', 'x86-setup-for-linus', 'x86-uv-for-linus' and 'x86-vm86-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'softirq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softirqs: Make wakeup_softirqd static * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, asm: Restore parentheses around one pushl_cfi argument x86, asm: Fix ancient-GAS workaround x86, asm: Fix CFI macro invocations to deal with shortcomings in gas * 'x86-numa-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA * 'x86-quirks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: HPET force enable for CX700 / VIA Epia LT * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: Use string copy operation to optimze copy in kernel compression * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, UV: Use allocated buffer in tlb_uv.c:tunables_read() * 'x86-vm86-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, vm86: Fix preemption bug for int1 debug and int3 breakpoint handlers. commit 6c2754c28f2388a276fe21edde826f2113c8f60e Author: Linus Torvalds Date: Sat Oct 23 08:14:12 2010 -0700 Revert "tty: Add a new file /proc/tty/consoles" This reverts commit f4a3e0bceb57466c31757f25e4e0ed108d1299ec. Jiri Sladby points out that the tty structure we're using may already be gone, and Al Viro doesn't hold back in complaining about the random loading of 'filp->private_data' which doesn't have to be a pointer at all, nor does checking the magic field for TTY_MAGIC prove anything. Belated review by Al: "a) global variable depending on stdin of the last opener? Affecting output of read(2)? Really? b) iterator is broken; list should be locked in ->start(), unlocked in ->stop() and *NOT* unlocked/relocked in ->next() c) ->show() ought to do nothing in case of ->device == NULL, instead of skipping those in ->next()/->start() d) regardless of the merits of the bright idea about asterisk at that line in output *and* regardless of (a), the implementation is not only atrociously ugly, it's actually very likely to be a roothole. Verifying that Cthulhu knows what number happens to be address of a tty_struct by blindly dereferencing memory at that address... Ouch. Please revert that crap." And Christoph pipes in and NAK's the approach of walking fd tables etc too. So it's pretty unanimous. Noticed-by: Jri Slaby Requested-by: Al Viro Cc: Greg Kroah-Hartman Cc: Werner Fink Cc: Alan Cox Cc: Christoph Hellwig Signed-off-by: Linus Torvalds commit b11bdb5254ff17cb63e4ae5088b73fdcd2cc2602 Merge: 4428bc0 84eae18 Author: Takashi Iwai Date: Sat Oct 23 17:01:17 2010 +0200 Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc commit 64e5310a249ba641ab6a00c6c1d61146d51b7984 Author: Andy Owen Date: Sat Oct 23 22:12:33 2010 +1100 ALSA: ca0106: Use card specific dac id for mute controls. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 6fef153afa8b25f81417488150e04db7c6b0b229 Author: Andy Owen Date: Sat Oct 23 22:12:32 2010 +1100 ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 861391d3a037fab38020c741baffdb147e1c732a Author: Andy Owen Date: Sat Oct 23 22:12:31 2010 +1100 ALSA: ca0106: Create a nice spot for mapping channels to dacs. This is to allow a future patch to have card specific mappings between dacs, which is required since the Sound Blaster 5.1vx seems to have a different mapping to what was previously used. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 9bfd94132dd97b76af41024eb7e980a5cb41afee Author: Andy Owen Date: Sat Oct 23 22:12:30 2010 +1100 ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 51630142ed7da31618c0aca8f2767824834e18a8 Author: Andy Owen Date: Sat Oct 23 22:12:29 2010 +1100 ALSA: ca0106: Pull out dac powering routine into separate function. This is ground work for a future commit where cards (such as the Sound Blaster 5.1vx) have different mappings between dacs and channels. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 23156e8faed5df60364976bffea0711a4f38d88a Author: Andy Owen Date: Sat Oct 23 22:12:28 2010 +1100 ALSA: ca0106 - add Sound Blaster 5.1vx info. Signed-off-by: Andy Owen Signed-off-by: Takashi Iwai commit 84eae18c867fcb7ce43d5830e23377ed33e45df9 Author: Peter Ujfalusi Date: Fri Oct 22 15:11:20 2010 +0300 ASoC: tlv320dac33: Use usleep_range for delays Switch to use the more precise usleep_range instead of msleep(). Replace the udelay with usleep_range to remove the busy loop waiting. Signed-off-by: Peter Ujfalusi Acked-by: Mark Borwn Signed-off-by: Liam Girdwood commit ab34c02afeafd047a831e6fe2a4dd875ce86bee0 Merge: 7f38839 6b81e14 Author: Linus Torvalds Date: Sat Oct 23 01:26:47 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (36 commits) nilfs2: eliminate sparse warning - "context imbalance" nilfs2: eliminate sparse warnings - "symbol not declared" nilfs2: get rid of bdi from nilfs object nilfs2: change license of exported header file nilfs2: add bdev freeze/thaw support nilfs2: accept 64-bit checkpoint numbers in cp mount option nilfs2: remove own inode allocator and destructor for metadata files nilfs2: get rid of back pointer to writable sb instance nilfs2: get rid of mi_nilfs back pointer to nilfs object nilfs2: see state of root dentry for mount check of snapshots nilfs2: use iget for all metadata files nilfs2: get rid of GCDAT inode nilfs2: add routines to redirect access to buffers of DAT file nilfs2: add routines to roll back state of DAT file nilfs2: add routines to save and restore bmap state nilfs2: do not allocate nilfs_mdt_info structure to gc-inodes nilfs2: allow nilfs_clear_inode to clear metadata file inodes nilfs2: get rid of snapshot mount flag nilfs2: simplify life cycle management of nilfs object nilfs2: do not allocate multiple super block instances for a device ... commit 7f3883962870dd28b5f2322ac44a9d03640ef448 Merge: 10f2a2b b9ac41e Author: Linus Torvalds Date: Fri Oct 22 21:12:27 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (47 commits) Blackfin: bfin_spi.h: add MMR peripheral layout Blackfin: bfin_ppi.h: start a common PPI/EPPI header Blackfin: bfin_can.h: add missing VERSION/VERSION2 MMRs Blackfin: bf538: add missing SIC_RVECT define Blackfin: bf561: rewrite SICA_xxx to just SIC_xxx Blackfin: bf54x: add missing SIC_RVECT definition Blackfin: H8606: move 8250 irqflags to platform resources Blackfin: glue XIP/ROM kernel kconfigs Blackfin: update sparse flags for latest upstream changes Blackfin: coreb: update ioctl numbers Blackfin: coreb: add gpl module license Blackfin: bf518-ezkit: add ssm2603 codec resources Blackfin: bf51x/bf52x: fix 16/32bit SPORT MMR helpers Blackfin: tll6527m: new board port Blackfin: bf526-ezbrd/bf527-ezkit: add NAND partition for u-boot Blackfin: merge kernel init memory back into main memory region Blackfin: gpio: add peripheral group check Blackfin: dma: bf54x: add missing break for SPORT1 TX IRQ Blackfin: add new cacheflush syscall Blackfin: bf548-ezkit: increase u-boot partition size ... commit 10f2a2b0f68abf39c06cf519cbc1740fa50f900b Merge: 8814011 b40827f Author: Linus Torvalds Date: Fri Oct 22 20:37:50 2010 -0700 Merge branch 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, mm: Add an initial page table for core bootstrapping commit 8814011679d1a47d8b0158fc991727a5859471a0 Merge: 5cc1035 495363d Author: Linus Torvalds Date: Fri Oct 22 20:35:12 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kdb,debug_core: adjust master cpu switch logic against new debug_core locking debug_core: refactor locking for master/slave cpus x86,kgdb: remove unnecessary call to kgdb_correct_hw_break() debug_core: disable hw_breakpoints on all cores in kgdb_cpu_enter() kdb,kgdb: fix sparse fixups kdb: Fix oops in kdb_unregister kdb,ftdump: Remove reference to internal kdb include kdb: Allow kernel loadable modules to add kdb shell functions debug_core: stop rcu warnings on kernel resume debug_core: move all watch dog syncs to a single function x86,kgdb: fix debugger hw breakpoint test regression in 2.6.35 commit 5cc103506289de7ee0a0b526ae0381541990cad4 Merge: 73ecf3a 92ca0dc Author: Linus Torvalds Date: Fri Oct 22 20:30:48 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (141 commits) USB: mct_u232: fix broken close USB: gadget: amd5536udc.c: fix error path USB: imx21-hcd - fix off by one resource size calculation usb: gadget: fix Kconfig warning usb: r8a66597-udc: Add processing when USB was removed. mxc_udc: add workaround for ENGcm09152 for i.MX35 USB: ftdi_sio: add device ids for ScienceScope USB: musb: AM35x: Workaround for fifo read issue USB: musb: add musb support for AM35x USB: AM35x: Add musb support usb: Fix linker errors with CONFIG_PM=n USB: ohci-sh - use resource_size instead of defining its own resource_len macro USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro USB: xhci: Fix compile error when CONFIG_PM=n USB: accept some invalid ep0-maxpacket values USB: xHCI: PCI power management implementation USB: xHCI: bus power management implementation USB: xHCI: port remote wakeup implementation USB: xHCI: port power management implementation ... Manually fix up (non-data) conflict: the SCSI merge gad renamed the 'hw_sector_size' member to 'physical_block_size', and the USB tree brought a new use of it. commit 73ecf3a6e3f0206bf56a0fefe3b3eda042fb7034 Merge: b9da057 cd3ecad Author: Linus Torvalds Date: Fri Oct 22 19:59:04 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (49 commits) serial8250: ratelimit "too much work" error serial: bfin_sport_uart: speed up sport RX sample rate to be 3% faster serial: abstraction for 8250 legacy ports serial/imx: check that the buffer is non-empty before sending it out serial: mfd: add more baud rates support jsm: Remove the uart port on errors Alchemy: Add UART PM methods. 8250: allow platforms to override PM hook. altera_uart: Don't use plain integer as NULL pointer altera_uart: Fix missing prototype for registering an early console altera_uart: Fixup type usage of port flags altera_uart: Make it possible to use Altera UART and 8250 ports together altera_uart: Add support for different address strides altera_uart: Add support for getting mapbase and IRQ from resources altera_uart: Add support for polling mode (IRQ-less) serial: Factor out uart_poll_timeout() from 8250 driver serial: mark the 8250 driver as maintained serial: 8250: Don't delay after transmitter is ready. tty: MAINTAINERS: add drivers/serial/jsm/ as maintained driver vcs: invoke the vt update callback when /dev/vcs* is written to ... commit b9da0571050c09863e59f94d0b8594a290d61b88 Merge: f8cae0f 5abd935 Author: Linus Torvalds Date: Fri Oct 22 19:36:42 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits) driver core: Display error codes when class suspend fails Driver core: Add section count to memory_block struct Driver core: Add mutex for adding/removing memory blocks Driver core: Move find_memory_block routine hpilo: Despecificate driver from iLO generation driver core: Convert link_mem_sections to use find_memory_block_hinted. driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted. kobject: Introduce kset_find_obj_hinted. driver core: fix build for CONFIG_BLOCK not enabled driver-core: base: change to new flag variable sysfs: only access bin file vm_ops with the active lock sysfs: Fail bin file mmap if vma close is implemented. FW_LOADER: fix kconfig dependency warning on HOTPLUG uio: Statically allocate uio_class and use class .dev_attrs. uio: Support 2^MINOR_BITS minors uio: Cleanup irq handling. uio: Don't clear driver data uio: Fix lack of locking in init_uio_class SYSFS: Allow boot time switching between deprecated and modern sysfs layout driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices ... commit f8cae0f03f75adb54b1d48ddbc90f84a1f5de186 Author: Linus Torvalds Date: Fri Oct 22 19:30:38 2010 -0700 ocfs2: drop the BLKDEV_IFL_WAIT flag Commit dd3932eddf42 ("block: remove BLKDEV_IFL_WAIT") had removed the flag argument to blkdev_issue_flush(), but the ocfs2 merge brought in a new one. It didn't cause a merge conflict, so the merges silently worked out fine, but the result didn't actually compile. Signed-off-by: Linus Torvalds commit d2ecad9faca2221ae6f664f146f0dcae661bf39d Merge: c70b529 cdff08e Author: Linus Torvalds Date: Fri Oct 22 17:52:29 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (56 commits) [CIFS] move close processing from cifs_close to cifsFileInfo_put cifs: convert cifs_tcp_ses_lock from a rwlock to a spinlock cifs: cancel_delayed_work() + flush_scheduled_work() -> cancel_delayed_work_sync() Clean up two declarations of blob_len cifs: move cifsFileInfo_put to file.c cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock [CIFS] Fix minor checkpatch warning and update cifs version cifs: move cifs_new_fileinfo to file.c cifs: eliminate pfile pointer from cifsFileInfo cifs: cifs_write argument change and cleanup cifs: clean up cifs_reopen_file cifs: eliminate the inode argument from cifs_new_fileinfo cifs: eliminate oflags option from cifs_new_fileinfo cifs: fix flags handling in cifs_posix_open cifs: eliminate cifs_posix_open_inode_helper cifs: handle FindFirst failure gracefully NTLM authentication and signing - Calculate auth response per smb session cifs: don't use vfsmount to pin superblock for oplock breaks cifs: keep dentry reference in cifsFileInfo instead of inode reference cifs: on multiuser mount, set ownership to current_fsuid/current_fsgid (try #7) ... Fix up trivial conflict in fs/cifs/cifsfs.c due to added/removed header files commit c70b5296e775cde46cfcb2d860ba160108a5ec7a Merge: 80c226f 58ff4bd Author: Linus Torvalds Date: Fri Oct 22 17:34:15 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (84 commits) [SCSI] be2iscsi: SGE Len == 64K [SCSI] be2iscsi: Remove premature free of cid [SCSI] be2iscsi: More time for FW [SCSI] libsas: fix bug for vacant phy [SCSI] sd: Fix overflow with big physical blocks [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer [SCSI] libsas: Don't issue commands to devices that have been hot-removed [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17 [SCSI] lpfc 8.3.17: Replace function reset methodology [SCSI] lpfc 8.3.17: SCSI fixes [SCSI] lpfc 8.3.17: BSG fixes [SCSI] lpfc 8.3.17: SLI Additions and Fixes [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes [SCSI] zfcp: Remove scsi_cmnd->serial_number from debug traces [SCSI] ipr: fix array error logging [SCSI] aha152x: enable PCMCIA on 64bit [SCSI] scsi_dh_alua: Handle all states correctly [SCSI] cxgb4i: connection and ddp setting update [SCSI] cxgb3i: fixed connection over vlan ... commit 80c226fbef56576946c9655fcb2ab62e63404d12 Merge: 2c15bd0 779b7e6 Author: Linus Torvalds Date: Fri Oct 22 17:33:35 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Add missing I/O macros {in,out}{w,l}_p() for !CONFIG_ISA m68k: Remove big kernel lock in cache flush code m68k: __pa(): cast arg to long fbdev: atafb - Remove undead ifdef ATAFB_FALCON zorro: Fix device_register() error handling fbdev/m68k: Fix section mismatches in q40fb.c m68k/m68knommu: merge the MMU and non-MMU traps.h m68k/m68knommu: merge MMU and non-MMU thread_info.h m68k/m68knommu: merge MMU and non-MMU atomic.h m68k/m68knommu: clean up page.h m68k/m68knommu: merge machdep.h files into a single file m68k/m68knommu: merge MMU and non-MMU string.h m68k/m68knommu: Remove dead SMP config option m68k: move definition of THREAD_SIZE into thread_info_mm.h m68k: Use asm-generic/ioctls.h (enables termiox) m68k: Remove dead GG2 config option commit 2c15bd00a5d6b2b64e006e91e2196f0c6a764cb6 Merge: 5fe3a5a 269cddd Author: Linus Torvalds Date: Fri Oct 22 17:33:16 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: Fix dlm lock status block comment in dlm.h dlm: Don't send callback to node making lock request when "try 1cb" fails commit 5fe3a5ae5c09d53b2b3c7a971e1d87ab3a747055 Merge: 0fc0531 39dc948 Author: Linus Torvalds Date: Fri Oct 22 17:32:27 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (36 commits) xfs: semaphore cleanup xfs: Extend project quotas to support 32bit project ids xfs: remove xfs_buf wrappers xfs: remove xfs_cred.h xfs: remove xfs_globals.h xfs: remove xfs_version.h xfs: remove xfs_refcache.h xfs: fix the xfs_trans_committed xfs: remove unused t_callback field in struct xfs_trans xfs: fix bogus m_maxagi check in xfs_iget xfs: do not use xfs_mod_incore_sb_batch for per-cpu counters xfs: do not use xfs_mod_incore_sb for per-cpu counters xfs: remove XFS_MOUNT_NO_PERCPU_SB xfs: pack xfs_buf structure more tightly xfs: convert buffer cache hash to rbtree xfs: serialise inode reclaim within an AG xfs: batch inode reclaim lookup xfs: implement batched inode lookups for AG walking xfs: split out inode walk inode grabbing xfs: split inode AG walking into separate code for reclaim ... commit 0fc0531e0a2174377a86fd6953ecaa00287d8f70 Merge: 91b7450 9329ba9 Author: Linus Torvalds Date: Fri Oct 22 17:31:36 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: update comments to reflect that percpu allocations are always zero-filled percpu: Optimize __get_cpu_var() x86, percpu: Optimize this_cpu_ptr percpu: clear memory allocated with the km allocator percpu: fix build breakage on s390 and cleanup build configuration tests percpu: use percpu allocator on UP too percpu: reduce PCPU_MIN_UNIT_SIZE to 32k vmalloc: pcpu_get/free_vm_areas() aren't needed on UP Fixed up trivial conflicts in include/linux/percpu.h commit 6b81e14e645016597c81e71cd27ee5c57c3a3c36 Author: Jiro SEKIBA Date: Thu Oct 14 13:52:00 2010 +0900 nilfs2: eliminate sparse warning - "context imbalance" insert sparse annotations to fix following sparse warning. fs/nilfs2/segment.c:2681:3: warning: context imbalance in 'nilfs_segctor_kill_thread' - unexpected unlock nilfs_segctor_kill_thread is only called inside sc_state_lock lock. sparse doesn't detect the context and warn "unexpected unlock". __acquires/__releases pretend to lock/unlock the sc_state_lock for sparse. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit abc0b50b6b9a9de8ae210f059598265a5438f2c4 Author: Jiro SEKIBA Date: Fri Oct 8 22:37:27 2010 +0900 nilfs2: eliminate sparse warnings - "symbol not declared" change nilfs_dat_commit_free and nilfs_inode_cachep static to fix following warnings fs/nilfs2/super.c:72:19: warning: symbol 'nilfs_inode_cachep' was not declared. Should it be static? fs/nilfs2/dat.c:106:6: warning: symbol 'nilfs_dat_commit_free' was not declared. Should it be static? Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 026a7d63d55ba8656ed8c8a0733265cc7d47bb8c Author: Ryusuke Konishi Date: Thu Oct 7 14:19:48 2010 +0900 nilfs2: get rid of bdi from nilfs object Nilfs now can use sb->s_bdi to get backing_dev_info, so we use it instead of ns_bdi on the nilfs object and remove ns_bdi. Signed-off-by: Ryusuke Konishi commit c486f3895d6dc751f7c0f04f0fa67390ce4d168e Author: Ryusuke Konishi Date: Sun Oct 3 17:44:03 2010 +0900 nilfs2: change license of exported header file This allows other projects to carry copies of the header file related to ABI and disk format (i.e. "nilfs2_fs.h") without it or distributors having to worry about effects on the project's overall license terms. It's also desired for switching the license of nilfs library to LGPL. Jiro SEKIBA pointed out these license issues (Message-ID: <87tylo7msw.wl%jir@sekiba.com>), and he suggested switching license of the library and nilfs2_fs.h to GNU Lesser General Public License. We take in his suggestion to avoid the license issues. Signed-off-by: Ryusuke Konishi Cc: Jiro SEKIBA Cc: linux-nilfs commit 5beb6e0b2008386571fd342d0a4a14f5c8c0baf8 Author: Ryusuke Konishi Date: Mon Sep 20 18:19:06 2010 +0900 nilfs2: add bdev freeze/thaw support Nilfs hasn't supported the freeze/thaw feature because it didn't work due to the peculiar design that multiple super block instances could be allocated for a device. This limitation was removed by the patch "nilfs2: do not allocate multiple super block instances for a device". So now this adds the freeze/thaw support to nilfs. Signed-off-by: Ryusuke Konishi commit c05dbfc2609993ccc067879579e2a7726e12b3f1 Author: Ryusuke Konishi Date: Thu Sep 16 00:36:24 2010 +0900 nilfs2: accept 64-bit checkpoint numbers in cp mount option The current implementation doesn't mount snapshots with checkpoint numbers larger than INT_MAX since it uses match_int() for parsing "cp=" mount option. This uses simple_strtoull() for the conversion to resolve the issue. Signed-off-by: Ryusuke Konishi commit 2879ed66e4c6da1dfc6bb0bd04566b61824f9256 Author: Ryusuke Konishi Date: Sun Sep 5 13:35:53 2010 +0900 nilfs2: remove own inode allocator and destructor for metadata files This finally removes own inode allocator and destructor functions for metadata files. Several routines, nilfs_mdt_new(), nilfs_mdt_new_common(), nilfs_mdt_clear(), nilfs_mdt_destroy(), and nilfs_alloc_inode_common() will be gone. Signed-off-by: Ryusuke Konishi commit 090fd5b10165033d7c30afde0a7e59141d820602 Author: Ryusuke Konishi Date: Sun Sep 5 16:17:35 2010 +0900 nilfs2: get rid of back pointer to writable sb instance Nilfs object holds a back pointer to a writable super block instance in nilfs->ns_writer, and this became eliminable since sb is now made per device and all inodes have a valid pointer to it. This deletes the ns_writer pointer and a reader/writer semaphore protecting it. Signed-off-by: Ryusuke Konishi commit c6e071884aca360a14c21757d760e76ec34b4894 Author: Ryusuke Konishi Date: Sun Sep 5 00:23:50 2010 +0900 nilfs2: get rid of mi_nilfs back pointer to nilfs object This removes a back pointer to nilfs object from nilfs_mdt_info structure that is attached to metadata files. Signed-off-by: Ryusuke Konishi commit 032dbb3b503a30fce732ec4c05525d0abed1f1d6 Author: Ryusuke Konishi Date: Mon Sep 13 11:16:34 2010 +0900 nilfs2: see state of root dentry for mount check of snapshots After applied the patch that unified sb instances, root dentry of snapshots can be left in dcache even after their trees are unmounted. The orphan root dentry/inode keeps a root object, and this causes false positive of nilfs_checkpoint_is_mounted function. This resolves the issue by having nilfs_checkpoint_is_mounted test whether the root dentry is busy or not. Signed-off-by: Ryusuke Konishi commit f1e89c86fdd0f5e59f6768146c86437934202033 Author: Ryusuke Konishi Date: Sun Sep 5 12:20:59 2010 +0900 nilfs2: use iget for all metadata files This makes use of iget5_locked to allocate or get inode for metadata files to stop using own inode allocator. Signed-off-by: Ryusuke Konishi commit c1c1d7092072093ad960db2f6c08f06705c57fa4 Author: Ryusuke Konishi Date: Sun Aug 29 12:44:56 2010 +0900 nilfs2: get rid of GCDAT inode This applies prepared rollback function and redirect function of metadata file to DAT file, and eliminates GCDAT inode. Signed-off-by: Ryusuke Konishi commit b1f6a4f294088b3fcf9ae67915ca550a1ded2819 Author: Ryusuke Konishi Date: Tue Aug 31 11:40:34 2010 +0900 nilfs2: add routines to redirect access to buffers of DAT file During garbage collection (GC), DAT file, which converts virtual block number to real block number, may return disk block number that is not yet written to the device. To avoid access to unwritten blocks, the current implementation stores changes to the caches of GCDAT during GC and atomically commit the changes into the DAT file after they are written to the device. This patch, instead, adds a function that makes a copy of specified buffer and stores it in nilfs_shadow_map, and a function to get the backup copy as needed (nilfs_mdt_freeze_buffer and nilfs_mdt_get_frozen_buffer respectively). Before DAT changes block number in an entry block, it makes a copy and redirect access to the buffer so that address conversion function (i.e. nilfs_dat_translate) refers to the old address saved in the copy. This patch gives requisites for such redirection. Signed-off-by: Ryusuke Konishi commit ebdfed4dc59d177cf26013a0c9b8ee9652e9a140 Author: Ryusuke Konishi Date: Mon Sep 6 12:05:43 2010 +0900 nilfs2: add routines to roll back state of DAT file This adds optional function to metadata files which makes a copy of bmap, page caches, and b-tree node cache, and rolls back to the copy as needed. This enhancement is intended to displace gcdat inode that provides a similar function in a different way. In this patch, nilfs_shadow_map structure is added to store a copy of the foregoing states. nilfs_mdt_setup_shadow_map relates this structure to a metadata file. And, nilfs_mdt_save_to_shadow_map() and nilfs_mdt_restore_from_shadow_map() provides save and restore functions respectively. Finally, nilfs_mdt_clear_shadow_map() clears states of nilfs_shadow_map. The copy of b-tree node cache and page cache is made by duplicating only dirty pages into corresponding caches in nilfs_shadow_map. Their restoration is done by clearing dirty pages from original caches and by copying dirty pages back from nilfs_shadow_map. Signed-off-by: Ryusuke Konishi commit a8070dd365dd995f6139a2fc3aeee10159bdcc45 Author: Ryusuke Konishi Date: Mon Aug 30 23:42:18 2010 +0900 nilfs2: add routines to save and restore bmap state This adds routines to save and restore the state of bmap structure. The bmap state is stored in a given nilfs_bmap_store object. These routines will be used to roll back the state of dat inode without using gcdat inode. Signed-off-by: Ryusuke Konishi commit adbb39b5485b72dca963a2bc9b1b22bfc19d4967 Author: Ryusuke Konishi Date: Sun Sep 5 10:14:43 2010 +0900 nilfs2: do not allocate nilfs_mdt_info structure to gc-inodes GC-inode now doesn't need the nilfs_mdt_info structure and there is no reason that it is a sort of metadata files. This stops the allocation and makes them not dependent on metadata file routines. Signed-off-by: Ryusuke Konishi commit 518d1a6a1d6610a014875a2fe3252e89b6260d2f Author: Ryusuke Konishi Date: Fri Aug 20 23:40:54 2010 +0900 nilfs2: allow nilfs_clear_inode to clear metadata file inodes Allows clear inode function (nilfs_clear_inode) to handle metadata files that uses bitmap-based object alloctor. DAT and ifile correspond to this. Signed-off-by: Ryusuke Konishi commit b453c95eb8d6a3b2348e9c7bc28a7d223cb640e3 Author: Ryusuke Konishi Date: Wed Aug 25 23:52:46 2010 +0900 nilfs2: get rid of snapshot mount flag This flag is a fake used to distinguish type of super block instance. And, it got obsolete by the unification of sb. Signed-off-by: Ryusuke Konishi commit 348fe8da13621b3d14ab2d156e74551611997017 Author: Ryusuke Konishi Date: Thu Sep 9 02:07:56 2010 +0900 nilfs2: simplify life cycle management of nilfs object This stops pre-allocating nilfs object in nilfs_get_sb routine, and stops managing its life cycle by reference counting. nilfs_find_or_create_nilfs() function, nilfs->ns_mount_mutex, nilfs_objects list, and the reference counter will be removed through the simplification. Signed-off-by: Ryusuke Konishi commit f11459ad7dab9e9eb5a05b8bd3bec338ea8f485d Author: Ryusuke Konishi Date: Mon Aug 16 01:54:52 2010 +0900 nilfs2: do not allocate multiple super block instances for a device This stops allocating multiple super block instances for a device. All snapshots and a current mode mount (i.e. latest tree) will be controlled with nilfs_root objects that are kept within an sb instance. nilfs_get_sb() is rewritten so that it always has a root object for the latest tree and snapshots make additional root objects. The root dentry of the latest tree is binded to sb->s_root even if it isn't attached on a directory. Root dentries of snapshots or the latest tree are binded to mnt->mnt_root on which they are mounted. With this patch, nilfs_find_sbinfo() function, nilfs->ns_supers list, and nilfs->ns_current back pointer, are deleted. In addition, init_nilfs() and load_nilfs() are simplified since they will be called once for a device, not repeatedly called for mount points. Signed-off-by: Ryusuke Konishi commit ab4d8f7ebf33beff97e766d18db47f1ea9635769 Author: Ryusuke Konishi Date: Thu Aug 26 02:15:41 2010 +0900 nilfs2: split out nilfs_attach_snapshot This splits the code to attach snapshots into a separate routine for convenience sake. Signed-off-by: Ryusuke Konishi commit 367ea33486a68f935a01311a3be9b7e97d2e5ead Author: Ryusuke Konishi Date: Thu Aug 26 01:52:51 2010 +0900 nilfs2: split out nilfs_get_root_dentry This splits the code to allocate root dentry into a separate routine for convenience in successive changes. Signed-off-by: Ryusuke Konishi commit dc3d3b810a644dfa329efaa230cd514226f8981d Author: Ryusuke Konishi Date: Sun Aug 15 23:33:57 2010 +0900 nilfs2: deny write access to inodes in snapshots Snapshots of nilfs are read-only. After super block instances (sb) will be unified, nilfs will need to check write access by a way other than implicit test with IS_RDONLY(inode). This is because IS_RDONLY() refers to MS_RDONLY bit of inode->i_sb->s_flags and it will become inaccurate after the unification of sb. To prepare for the issue, this uses i_op->permission to deny write access to inodes in snapshots. Signed-off-by: Ryusuke Konishi commit fd52202930b7e8db48bee5a6fc6b1f438e822a23 Author: Ryusuke Konishi Date: Sat Aug 14 21:44:51 2010 +0900 nilfs2: use checkpoint tree for mount check of snapshots This rewrites nilfs_checkpoint_is_mounted() function so that it decides whether a checkpoint is mounted by whether the corresponding root object is found in checkpoint tree. Signed-off-by: Ryusuke Konishi commit b7c0634204993d7c6678c852e4bd118426599111 Author: Ryusuke Konishi Date: Sat Aug 14 14:48:32 2010 +0900 nilfs2: move inode count and block count into root object This moves sbi->s_inodes_count and sbi->s_blocks_count into nilfs_root object. Signed-off-by: Ryusuke Konishi commit e912a5b66837ee89fb025e67b5efeaa11930c2ce Author: Ryusuke Konishi Date: Sat Aug 14 13:07:15 2010 +0900 nilfs2: use root object to get ifile This rewrites functions using ifile so that they get ifile from nilfs_root object, and will remove sbi->s_ifile. Some functions that don't know the root object are extended to receive it from caller. Signed-off-by: Ryusuke Konishi commit 8e656fd518784b49453f60c5f78b78703bc85cb2 Author: Ryusuke Konishi Date: Fri Aug 27 00:23:02 2010 +0900 nilfs2: make snapshots in checkpoint tree exportable The previous export operations cannot handle multiple versions of a filesystem if they belong to the same sb instance. This adds a new type of file handle and extends export operations so that they can get the inode specified by a checkpoint number as well as an inode number and a generation number. Signed-off-by: Ryusuke Konishi commit 4d8d9293dce503eb0e083e17a02a328d397e7f00 Author: Ryusuke Konishi Date: Wed Aug 25 17:45:44 2010 +0900 nilfs2: set pointer to root object in inodes This puts a pointer to nilfs_root object in the private part of on-memory inode, and makes nilfs_iget function pick up the inode with the same root object. Non-root inodes inherit its nilfs_root object from parent inode. That of the root inode is allocated through nilfs_attach_checkpoint() function. Signed-off-by: Ryusuke Konishi commit ba65ae4729bf81c58d9fc847f67d57eec525b042 Author: Ryusuke Konishi Date: Sat Aug 14 12:59:15 2010 +0900 nilfs2: add checkpoint tree to nilfs object To hold multiple versions of a filesystem in one sb instance, a new on-memory structure is necessary to handle one or more checkpoints. This adds a red-black tree of checkpoints to nilfs object, and adds lookup and create functions for them. Each checkpoint is represented by "nilfs_root" structure, and this structure has rb_node to configure the rb-tree. The nilfs_root object is identified with a checkpoint number. For each snapshot, a nilfs_root object is allocated and the checkpoint number of snapshot is assigned to it. For a regular mount (i.e. current mode mount), NILFS_CPTREE_CURRENT_CNO constant is assigned to the corresponding nilfs_root object. Each nilfs_root object has an ifile inode and some counters. These items will displace those of nilfs_sb_info structure in successive patches. Signed-off-by: Ryusuke Konishi commit 263d90cefc7d82a01c296c59532ff59d67c63509 Author: Ryusuke Konishi Date: Fri Aug 20 19:06:11 2010 +0900 nilfs2: remove own inode hash used for GC This uses inode hash function that vfs provides instead of the own hash table for caching gc inodes. This finally removes the own inode hash from nilfs. Signed-off-by: Ryusuke Konishi commit 5e19a995f4ad8a8f20749a396bb01ebb6d4df96c Author: Ryusuke Konishi Date: Sat Aug 21 22:01:51 2010 +0900 nilfs2: separate initializer of metadata file inode This separates a part of initialization code of metadata file inode, and makes it available from the nilfs iget function that a later patch will add to. Signed-off-by: Ryusuke Konishi commit 0e14a3595bddedfb27b51a6b0a29b5173aa2511a Author: Ryusuke Konishi Date: Fri Aug 20 21:20:29 2010 +0900 nilfs2: use iget5_locked to get inode This uses iget5_locked instead of iget_locked so that gc cache can look up inodes with an inode number and an optional checkpoint number. Signed-off-by: Ryusuke Konishi commit 6c43f41000312fefa482c3bfdd97e7f81d6be0ec Author: Ryusuke Konishi Date: Fri Aug 20 20:10:38 2010 +0900 nilfs2: keep zero value in i_cno except for gc-inodes On-memory inode structures of nilfs have a member "i_cno" which stores a checkpoint number related to the inode. For gc-inodes, this field indicates version of data each gc-inode caches for GC. Log writer temporarily uses "i_cno" to transfer the latest checkpoint number. This stops the latter use and lets only gc-inodes use it. The purpose of this patch is to allow the successive change use "i_cno" for inode lookup. Signed-off-by: Ryusuke Konishi commit 7d6cd92fe2de3c286b8e95f43223f09db9302635 Author: Ryusuke Konishi Date: Sat Aug 21 00:30:39 2010 +0900 nilfs2: allow nilfs_dirty_inode to mark metadata file inodes dirty This allows sop->dirty_inode callback function (nilfs_dirty_inode) to handle metadata file inodes. Signed-off-by: Ryusuke Konishi commit b91c9a97c9333c87fe2a0c94b3b22b24df1c5fc2 Author: Ryusuke Konishi Date: Fri Aug 20 23:46:06 2010 +0900 nilfs2: allow nilfs_destroy_inode to destroy metadata file inodes The current nilfs_destroy_inode() doesn't handle metadata file inodes including gc inodes (dummy inodes used for garbage collection). This allows nilfs_destroy_inode() to destroy inodes of metadata files. Signed-off-by: Ryusuke Konishi commit 9566a7a851eb7201e3207eab53ee81efd0850fee Author: Ryusuke Konishi Date: Tue Aug 10 00:58:41 2010 +0900 nilfs2: accept future revisions Compatibility of nilfs partitions is now managed with three feature sets. This changes old compatibility check with revision number so that it can accept future revisions. Note that we can stop support of experimental versions of nilfs that doesn't know the feature sets by incrementing NILFS_CURRENT_REV. We don't have to do it soon, but it would be a possible option whenever the need arises. Signed-off-by: Ryusuke Konishi commit 91b745016c12d440386c40fb76ab69c8e08cbc06 Merge: 04cc697 daaae6b Author: Linus Torvalds Date: Fri Oct 22 17:13:10 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: remove in_workqueue_context() workqueue: Clarify that schedule_on_each_cpu is synchronous memory_hotplug: drop spurious calls to flush_scheduled_work() shpchp: update workqueue usage pciehp: update workqueue usage isdn/eicon: don't call flush_scheduled_work() from diva_os_remove_soft_isr() workqueue: add and use WQ_MEM_RECLAIM flag workqueue: fix HIGHPRI handling in keep_working() workqueue: add queue_work and activate_work trace points workqueue: prepare for more tracepoints workqueue: implement flush[_delayed]_work_sync() workqueue: factor out start_flush_work() workqueue: cleanup flush/cancel functions workqueue: implement alloc_ordered_workqueue() Fix up trivial conflict in fs/gfs2/main.c as per Tejun commit 04cc69768e7d1f40d98b79d23d203674553b4da2 Merge: a288709 e5953cb Author: Linus Torvalds Date: Fri Oct 22 17:07:56 2010 -0700 Merge branch 'for-2.6.37/misc' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.37/misc' of git://git.kernel.dk/linux-2.6-block: pipe: fix failure to return error code on ->confirm() commit a2887097f25cd38cadfc11d10769e2b349fb5eca Merge: 8abfc6e 005a1d1 Author: Linus Torvalds Date: Fri Oct 22 17:07:18 2010 -0700 Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block: (46 commits) xen-blkfront: disable barrier/flush write support Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c block: remove BLKDEV_IFL_WAIT aic7xxx_old: removed unused 'req' variable block: remove the BH_Eopnotsupp flag block: remove the BLKDEV_IFL_BARRIER flag block: remove the WRITE_BARRIER flag swap: do not send discards as barriers fat: do not send discards as barriers ext4: do not send discards as barriers jbd2: replace barriers with explicit flush / FUA usage jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier jbd: replace barriers with explicit flush / FUA usage nilfs2: replace barriers with explicit flush / FUA usage reiserfs: replace barriers with explicit flush / FUA usage gfs2: replace barriers with explicit flush / FUA usage btrfs: replace barriers with explicit flush / FUA usage xfs: replace barriers with explicit flush / FUA usage block: pass gfp_mask and flags to sb_issue_discard dm: convey that all flushes are processed as empty ... commit 8abfc6e7a45eb74e51904bbae676fae008b11366 Merge: e9dd2b6 6362bee Author: Linus Torvalds Date: Fri Oct 22 17:03:12 2010 -0700 Merge branch 'for-2.6.37/drivers' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.37/drivers' of git://git.kernel.dk/linux-2.6-block: (95 commits) cciss: fix PCI IDs for new Smart Array controllers drbd: add race-breaker to drbd_go_diskless drbd: use dynamic_dev_dbg to optionally log uuid changes dynamic_debug.h: Fix dynamic_dev_dbg() macro if CONFIG_DYNAMIC_DEBUG not set drbd: cleanup: change "<= 0" to "== 0" drbd: relax the grace period of the md_sync timer again drbd: add some more explicit drbd_md_sync drbd: drop wrong debug asserts, fix recently introduced race drbd: cleanup useless leftover warn/error printk's drbd: add explicit drbd_md_sync to drbd_resync_finished drbd: Do not log an ASSERT for P_OV_REQUEST packets while C_CONNECTED drbd: fix for possible deadlock on IO error during resync drbd: fix unlikely access after free and list corruption drbd: fix for spurious fullsync (uuids rotated too fast) drbd: allow for explicit resync-finished notifications drbd: preparation commit, using full state in receive_state() drbd: drbd_send_ack_dp must not rely on header information drbd: Fix regression in recv_bm_rle_bits (compressed bitmap) drbd: Fixed a stupid copy and paste error drbd: Allow larger values for c-fill-target. ... Fix up trivial conflict in drivers/block/ataflop.c due to BKL removal commit e9dd2b6837e26fe202708cce5ea4bb4ee3e3482e Merge: 4f3a29d b462732 Author: Linus Torvalds Date: Fri Oct 22 17:00:32 2010 -0700 Merge branch 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-block: (39 commits) cfq-iosched: Fix a gcc 4.5 warning and put some comments block: Turn bvec_k{un,}map_irq() into static inline functions block: fix accounting bug on cross partition merges block: Make the integrity mapped property a bio flag block: Fix double free in blk_integrity_unregister block: Ensure physical block size is unsigned int blkio-throttle: Fix possible multiplication overflow in iops calculations blkio-throttle: limit max iops value to UINT_MAX blkio-throttle: There is no need to convert jiffies to milli seconds blkio-throttle: Fix link failure failure on i386 blkio: Recalculate the throttled bio dispatch time upon throttle limit change blkio: Add root group to td->tg_list blkio: deletion of a cgroup was causes oops blkio: Do not export throttle files if CONFIG_BLK_DEV_THROTTLING=n block: set the bounce_pfn to the actual DMA limit rather than to max memory block: revert bad fix for memory hotplug causing bounces Fix compile error in blk-exec.c for !CONFIG_DETECT_HUNG_TASK block: set the bounce_pfn to the actual DMA limit rather than to max memory block: Prevent hang_check firing during long I/O cfq: improve fsync performance for small files ... Fix up trivial conflicts due to __rcu sparse annotation in include/linux/genhd.h commit 4f3a29dadaf999a273f1e7fe2476595d0283eef3 Merge: 06d3629 45aafd3 Author: Linus Torvalds Date: Fri Oct 22 16:34:23 2010 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: tighten the corrupted PEB criteria UBI: fix check_data_ff return code UBI: remember copy_flag while scanning UBI: preserve corrupted PEBs UBI: add truly corrupted PEBs to corrupted list UBI: introduce debugging helper function UBI: make check_pattern function non-static UBI: do not put eraseblocks to the corrupted list unnecessarily UBI: separate out corrupted list UBI: change cascade of ifs to switch statements UBI: rename a local variable UBI: handle bit-flips when no header found UBI: remove duplicate IO error codes UBI: rename IO error code UBI: fix small 80 characters limit style issue UBI: cleanup and simplify Kconfig commit 06d362931a530e0d48c1a9554a752da4ed240f0b Merge: f5d9d24 6599fcb Author: Linus Torvalds Date: Fri Oct 22 16:34:03 2010 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: do not allocate unneeded scan buffer UBIFS: do not forget to cancel timers UBIFS: remove a bit of unneeded code UBIFS: add a commentary about log recovery UBIFS: avoid kernel error if ubifs superblock read fails UBIFS: introduce new flags for RO mounts UBIFS: introduce new flag for RO due to errors UBIFS: check return code of pnode_lookup UBIFS: check return code of ubifs_lpt_lookup UBIFS: improve error reporting when reading bad node UBIFS: introduce list sorting debugging checks UBIFS: fix assertion warnings in comparison function UBIFS: mark unused key objects as invalid UBIFS: do not write rubbish into truncation scanning node UBIFS: improve assertion in node comparison functions UBIFS: do not use key type in list_sort UBIFS: do not look up truncation nodes UBIFS: fix assertion warning UBIFS: do not treat ENOSPC specially UBIFS: switch to RO mode after synchronizing commit 495363d380b4f4745bd8677912688654afc44020 Author: Jason Wessel Date: Fri May 21 08:46:00 2010 -0500 kdb,debug_core: adjust master cpu switch logic against new debug_core locking The kdb shell needs to enforce switching back to the original CPU that took the exception before restoring normal kernel execution. Resuming from a different CPU than what took the original exception will cause problems with spin locks that are freed from the a different processor than had taken the lock. The special logic in dbg_cpu_switch() can go away entirely with because the state of what cpus want to be masters or slaves will remain unchanged between entry and exit of the debug_core exception context. Signed-off-by: Jason Wessel commit dfee3a7b92208b30f77876068aece9ea571270c2 Author: Jason Wessel Date: Fri May 21 08:46:00 2010 -0500 debug_core: refactor locking for master/slave cpus For quite some time there have been problems with memory barriers and various races with NMI on multi processor systems using the kernel debugger. The algorithm for entering the kernel debug core and resuming kernel execution was racy and had several known edge case problems with attempting to debug something on a heavily loaded system using breakpoints that are hit repeatedly and quickly. The prior "locking" design entry worked as follows: * The atomic counter kgdb_active was used with atomic exchange in order to elect a master cpu out of all the cpus that may have taken a debug exception. * The master cpu increments all elements of passive_cpu_wait[]. * The master cpu issues the round up cpus message. * Each "slave cpu" that enters the debug core increments its own element in cpu_in_kgdb[]. * Each "slave cpu" spins on passive_cpu_wait[] until it becomes 0. * The master cpu debugs the system. The new scheme removes the two arrays of atomic counters and replaces them with 2 single counters. One counter is used to count the number of cpus waiting to become a master cpu (because one or more hit an exception). The second counter is use to indicate how many cpus have entered as slave cpus. The new entry logic works as follows: * One or more cpus enters via kgdb_handle_exception() and increments the masters_in_kgdb. Each cpu attempts to get the spin lock called dbg_master_lock. * The master cpu sets kgdb_active to the current cpu. * The master cpu takes the spinlock dbg_slave_lock. * The master cpu asks to round up all the other cpus. * Each slave cpu that is not already in kgdb_handle_exception() will enter and increment slaves_in_kgdb. Each slave will now spin try_locking on dbg_slave_lock. * The master cpu waits for the sum of masters_in_kgdb and slaves_in_kgdb to be equal to the sum of the online cpus. * The master cpu debugs the system. In the new design the kgdb_active can only be changed while holding dbg_master_lock. Stress testing has not turned up any further entry/exit races that existed in the prior locking design. The prior locking design suffered from atomic variables not being truly atomic (in the capacity as used by kgdb) along with memory barrier races. Signed-off-by: Jason Wessel Acked-by: Dongdong Deng commit 39a0715f5ace92268190c89e246fd1cf741dbaea Author: Dongdong Deng Date: Mon Sep 13 06:58:00 2010 -0500 x86,kgdb: remove unnecessary call to kgdb_correct_hw_break() The kernel debug_core invokes hw breakpoint install and removal via call backs. The architecture specific kgdb stubs only need to implement the call backs and not actually call the functions. Signed-off-by: Dongdong Deng Signed-off-by: Jason Wessel CC: x86@kernel.org CC: Thomas Gleixner CC: Ingo Molnar CC: H. Peter Anvin commit c1bb9a9c1911036549c5cdfb23f32d7d20ffdc5a Author: Dongdong Deng Date: Mon Sep 13 06:58:00 2010 -0500 debug_core: disable hw_breakpoints on all cores in kgdb_cpu_enter() The slave cpus do not have the hw breakpoints disabled upon entry to the debug_core and as a result could cause unrecoverable recursive faults on badly placed breakpoints, or get out of sync with the arch specific hw breakpoint operations. This patch addresses the problem by invoking kgdb_disable_hw_debug() earlier in kgdb_enter_cpu for each cpu that enters the debug core. The hw breakpoint dis/enable flow should be: master_debug_cpu slave_debug_cpu \ / kgdb_cpu_enter | kgdb_disable_hw_debug --> uninstall pre-enabled hw_breakpoint | do add/rm dis/enable operates to hw_breakpoints on master_debug_cpu.. | correct_hw_break --> correct/install the enabled hw_breakpoint | leave_kgdb Signed-off-by: Dongdong Deng Signed-off-by: Jason Wessel commit 91b152aa85bbcf076e269565394c31964f940371 Author: Jason Wessel Date: Mon Aug 23 09:20:14 2010 -0500 kdb,kgdb: fix sparse fixups Fix the following sparse warnings: kdb_main.c:328:5: warning: symbol 'kdbgetu64arg' was not declared. Should it be static? kgdboc.c:246:12: warning: symbol 'kgdboc_early_init' was not declared. Should it be static? kgdb.c:652:26: warning: incorrect type in argument 1 (different address spaces) kgdb.c:652:26: expected void const *ptr kgdb.c:652:26: got struct perf_event *[noderef] *pev The one in kgdb.c required the (void * __force) because of the return code from register_wide_hw_breakpoint looking like: return (void __percpu __force *)ERR_PTR(err); Signed-off-by: Jason Wessel commit 75d14edee5689716b55afe467acfc13206a31f95 Author: Jason Wessel Date: Mon Oct 11 10:20:14 2010 -0500 kdb: Fix oops in kdb_unregister Nothing should try to use kdb_commands directly as sometimes it is null. Instead, use the for_each_kdbcmd() iterator. This particular problem dates back to the initial kdb merge (2.6.35), but at that point nothing was dynamically unregistering commands from the kdb shell. Signed-off-by: Jason Wessel commit e3bda3ac33d3bf3e5a4049e2cabe82d3caaffc26 Author: Jason Wessel Date: Mon Oct 11 10:20:14 2010 -0500 kdb,ftdump: Remove reference to internal kdb include Now that include/linux/kdb.h properly exports all the functions required to dynamically add a kdb shell command, the reference to the private kdb header can be removed. Signed-off-by: Jason Wessel commit f7030bbc446430ecd12c9ad02cf0ea94934e5f91 Author: Jason Wessel Date: Mon Oct 11 10:20:14 2010 -0500 kdb: Allow kernel loadable modules to add kdb shell functions In order to allow kernel modules to dynamically add a command to the kdb shell the kdb_register, kdb_register_repeat, kdb_unregister, and kdb_printf need to be exported as GPL symbols. Any kernel module that adds a dynamic kdb shell function should only need to include linux/kdb.h. Signed-off-by: Jason Wessel commit fb70b5888b70b0b50f738fbfc019445493112eb1 Author: Jason Wessel Date: Fri Aug 13 12:44:04 2010 -0500 debug_core: stop rcu warnings on kernel resume When returning from the kernel debugger reset the rcu jiffies_stall value to prevent the rcu stall detector from sending NMI events which invoke a stack dump for each cpu in the system. Signed-off-by: Jason Wessel commit 16cdc628c3aed47d02205135b7e2f01e0064f566 Author: Jason Wessel Date: Fri Aug 6 11:47:14 2010 -0500 debug_core: move all watch dog syncs to a single function Move the various clock and watch dog syncs to a single function in advance of adding another sync for the rcu stall detector. Signed-off-by: Jason Wessel commit fad99fac2627e2cc0ebfe07fcb5046c0b4e103f9 Author: Jason Wessel Date: Wed Oct 20 08:20:00 2010 -0500 x86,kgdb: fix debugger hw breakpoint test regression in 2.6.35 HW breakpoints events stopped working correctly with kgdb as a result of commit: 018cbffe6819f6f8db20a0a3acd9bab9bfd667e4 (Merge commit 'v2.6.33' into perf/core), later commit: ba773f7c510c0b252145933926c636c439889207 (x86,kgdb: Fix hw breakpoint regression) allowed breakpoints to propagate to the debugger core but did not completely address the original regression in functionality found in 2.6.35. When the DR_STEP flag is set in dr6 along with any of the DR_TRAP bits, the kgdb exception handler will enter once from the hw_breakpoint API call back and again from the die notifier for do_debug(), which causes the debugger to stop twice and also for the kgdb regression tests to fail running under kvm with: echo V2I1 > /sys/module/kgdbts/parameters/kgdbts To address the problem, the kgdb overflow handler needs to implement the same logic as the ptrace overflow handler call back with respect to updating the virtual copy of dr6. This will allow the kgdb do_debug() die notifier to properly handle the exception and the attached debugger, or kgdb test suite, will only receive a single notification. Signed-off-by: Jason Wessel CC: Frederic Weisbecker CC: x86@kernel.org commit b9ac41e314f0b43641bc01bd553fd2e0458ed832 Author: Mike Frysinger Date: Fri Oct 22 05:11:08 2010 +0000 Blackfin: bfin_spi.h: add MMR peripheral layout Signed-off-by: Mike Frysinger commit fec84d21c52bca67949a17aaf7d410b497f8e1b0 Author: Mike Frysinger Date: Fri Oct 22 04:41:13 2010 +0000 Blackfin: bfin_ppi.h: start a common PPI/EPPI header Start unifying the PPI/EPPI peripheral structures in one place. This may be used by camera/video/fpga/high speed devices. Signed-off-by: Mike Frysinger commit faf3d9ed2b9b402aa2c3d11688c6a1ff80ea6ea4 Author: Mike Frysinger Date: Fri Oct 22 03:11:42 2010 +0000 Blackfin: bfin_can.h: add missing VERSION/VERSION2 MMRs Also document the mailbox (channel) data array layout. Signed-off-by: Mike Frysinger commit 5d868212c411b0e3d11006f58688b31ee2180d8c Author: Mike Frysinger Date: Wed Oct 20 18:48:47 2010 +0000 Blackfin: bf538: add missing SIC_RVECT define Signed-off-by: Mike Frysinger commit 39c999697bf43a97b877fa43cbc9c2a4d1a3a461 Author: Mike Frysinger Date: Tue Oct 19 18:44:23 2010 +0000 Blackfin: bf561: rewrite SICA_xxx to just SIC_xxx This matches all the other Blackfin ports and keep us from having to write bf561-specific code in many places. Signed-off-by: Mike Frysinger commit 9ebcaa47ba831b6ad5cc414b3c3ff310a9d5d582 Author: Mike Frysinger Date: Tue Oct 19 17:57:54 2010 +0000 Blackfin: bf54x: add missing SIC_RVECT definition Signed-off-by: Mike Frysinger commit 49e00edbb77b44574a235032774b15656faa7cec Author: Mike Frysinger Date: Sun Oct 17 04:59:16 2010 -0400 Blackfin: H8606: move 8250 irqflags to platform resources Now that the common 8250 serial driver supports an "irqflags" field, we don't need to patch in a custom define into the code. Signed-off-by: Mike Frysinger commit 56b4f07a08ac4188ba055d194a105a7bd833cea3 Author: Mike Frysinger Date: Sat Oct 16 19:46:21 2010 -0400 Blackfin: glue XIP/ROM kernel kconfigs Different arches use different names, so make sure we define both so common code (like MTD_XIP) "just works". Signed-off-by: Mike Frysinger commit 245322082a802aced61ee474efb8dfab2656740e Author: Mike Frysinger Date: Sat Oct 9 13:32:52 2010 +0000 Blackfin: update sparse flags for latest upstream changes Mainline version of git merged support for Blackfin parts, but we now need to propagate the gcc arch define to make it work. Signed-off-by: Mike Frysinger commit 7696eecf14a81074dc930d5d6ad62957fef86c49 Author: Mike Frysinger Date: Wed Oct 6 06:33:08 2010 +0000 Blackfin: coreb: update ioctl numbers We have to use ioctl numbers that don't collide with common code. Otherwise, these ones never even get called because the common fs code swalled all invocations. Reported-by: Kay Duenzer Signed-off-by: Mike Frysinger commit 6cf4d0fadc2fec864634b2b614ff625a59a45db7 Author: Mike Frysinger Date: Wed Oct 6 06:30:04 2010 +0000 Blackfin: coreb: add gpl module license Signed-off-by: Mike Frysinger commit 97dd505cd617628049f9779a4cfbc97e2962947f Author: Bob Liu Date: Wed Sep 29 08:30:12 2010 +0000 Blackfin: bf518-ezkit: add ssm2603 codec resources This board has a SSM2603 codec, so make sure we have the right resources declared for it. Signed-off-by: Bob Liu Signed-off-by: Mike Frysinger commit c5b77b450a067cd09031caaee72b671810a0fd25 Author: Bob Liu Date: Wed Sep 29 03:12:44 2010 +0000 Blackfin: bf51x/bf52x: fix 16/32bit SPORT MMR helpers The RX/TX address is always the same regardless of the size of the access. That means there is no dedicated "16bit" or "32bit" MMR. Trying to use these currently leads to compile errors. So change everything to use the right MMR define. Signed-off-by: Bob Liu Signed-off-by: Mike Frysinger commit e5c1721894415d00a55c2650ed6536b644799c50 Author: Ashish Gupta Date: Wed Sep 22 08:11:56 2010 +0000 Blackfin: tll6527m: new board port Signed-off-by: Ashish Gupta Signed-off-by: Mike Frysinger commit bc487fb341af05120bccb9f59ce76302391dcc77 Author: Anand Gadiyar Date: Fri Oct 22 11:15:16 2010 -0700 omap: complete removal of machine_desc.io_pg_offst and .phys_io Commit ab69bcd66fb4be64edfc767365cb9eb084961246 (arm: remove machine_desc.io_pg_offst and .phys_io) could not update the new boards in the omap tree. This causes the build of omap2plus_defconfig to fail. Fix this. Signed-off-by: Anand Gadiyar Cc: Nicolas Pitre Cc: Eric Miao [tony@atomide.com: updated description] Signed-off-by: Tony Lindgren commit f5d9d249b9a6884daff513ef08afa43d3f7e085f Merge: db08bf0 36845d0 Author: Linus Torvalds Date: Fri Oct 22 11:23:42 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: fix ni_daq_700 compilation pcmcia: IOCARD is also required for using IRQs commit db08bf0877f3464fb0c2c37dcdd9f9683192ea26 Merge: 092e0e7 35dbc0e Author: Linus Torvalds Date: Fri Oct 22 11:17:06 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic * git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: asm-generic/io.h: allow people to override individual funcs bitops: remove duplicated extern declarations bitops: make asm-generic/bitops/find.h more generic asm-generic: kdebug.h: Checkpatch cleanup asm-generic: fcntl: make exported headers use strict posix types asm-generic: cmpxchg does not handle non-long arguments asm-generic: make atomic_add_unless a function commit cb74f0223fcf9b2db8f57d9ee5fa4738c066f3c6 Author: Kevin Hilman Date: Wed Oct 20 23:19:03 2010 +0000 omap: UART: fix wakeup registers for OMAP24xx UART2 On OMAP24xx, UART2 WKEN and WKST registers are in PM_WKEN2_CORE and PM_WKST2_CORE respecitvely. Fix the OMAP2 register init to use the correct registers on OMAP24xx. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 092e0e7e520a1fca03e13c9f2d157432a8657ff2 Merge: 79f14b7 776c163 Author: Linus Torvalds Date: Fri Oct 22 10:52:56 2010 -0700 Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl * 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: vfs: make no_llseek the default vfs: don't use BKL in default_llseek llseek: automatically add .llseek fop libfs: use generic_file_llseek for simple_attr mac80211: disallow seeks in minstrel debug code lirc: make chardev nonseekable viotape: use noop_llseek raw: use explicit llseek file operations ibmasmfs: use generic_file_llseek spufs: use llseek in all file operations arm/omap: use generic_file_llseek in iommu_debug lkdtm: use generic_file_llseek in debugfs net/wireless: use generic_file_llseek in debugfs drm: use noop_llseek commit 79f14b7c56d3b3ba58f8b43d1f70b9b71477a800 Merge: c37927d 6d7bccc Author: Linus Torvalds Date: Fri Oct 22 10:52:01 2010 -0700 Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl * 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: (30 commits) BKL: remove BKL from freevxfs BKL: remove BKL from qnx4 autofs4: Only declare function when CONFIG_COMPAT is defined autofs: Only declare function when CONFIG_COMPAT is defined ncpfs: Lock socket in ncpfs while setting its callbacks fs/locks.c: prepare for BKL removal BKL: Remove BKL from ncpfs BKL: Remove BKL from OCFS2 BKL: Remove BKL from squashfs BKL: Remove BKL from jffs2 BKL: Remove BKL from ecryptfs BKL: Remove BKL from afs BKL: Remove BKL from USB gadgetfs BKL: Remove BKL from autofs4 BKL: Remove BKL from isofs BKL: Remove BKL from fat BKL: Remove BKL from ext2 filesystem BKL: Remove BKL from do_new_mount() BKL: Remove BKL from cgroup BKL: Remove BKL from NTFS ... commit c37927d4359e81b85de644f8fb08878717cf5f3f Merge: 5704e44 2a48fc0 Author: Linus Torvalds Date: Fri Oct 22 10:49:54 2010 -0700 Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: block: autoconvert trivial BKL users to private mutex drivers: autoconvert trivial BKL users to private mutex ipmi: autoconvert trivial BKL users to private mutex mac: autoconvert trivial BKL users to private mutex mtd: autoconvert trivial BKL users to private mutex scsi: autoconvert trivial BKL users to private mutex Fix up trivial conflicts (due to addition of private mutex right next to deletion of a version string) in drivers/char/pcmcia/cm40[04]0_cs.c commit 5704e44d283e907623e3775c1262f206a2c48cf3 Merge: 9115124 6de5bd1 Author: Linus Torvalds Date: Fri Oct 22 10:43:11 2010 -0700 Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl * 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: BKL: introduce CONFIG_BKL. dabusb: remove the BKL sunrpc: remove the big kernel lock init/main.c: remove BKL notations blktrace: remove the big kernel lock rtmutex-tester: make it build without BKL dvb-core: kill the big kernel lock dvb/bt8xx: kill the big kernel lock tlclk: remove big kernel lock fix rawctl compat ioctls breakage on amd64 and itanic uml: kill big kernel lock parisc: remove big kernel lock cris: autoconvert trivial BKL users alpha: kill big kernel lock isapnp: BKL removal s390/block: kill the big kernel lock hpet: kill BKL, add compat_ioctl commit 92ca0dc5ee022e4c0e488177e1d8865a0778c6c2 Author: Johan Hovold Date: Thu Oct 21 10:49:10 2010 +0200 USB: mct_u232: fix broken close Fix regression introduced by commit f26788da3b342099d2b02d99ba1cb7f154d6ef7b (USB: serial: refactor generic close) which broke driver close(). This driver uses non-standard semantics for the read urb which makes the generic close function fail to kill it (the read urb is actually an interrupt urb and therefore bulk_in size is zero). Reported-by: Eric Shattow "Eprecocious" Tested-by: Eric Shattow "Eprecocious" Cc: stable Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit f34c25ed78df6d1297db2187bf5e58aaf6674183 Author: Rahul Ruikar Date: Wed Oct 20 16:01:51 2010 -0700 USB: gadget: amd5536udc.c: fix error path In function udc_probe() call put_device() when device_register() fails. Signed-off-by: Rahul Ruikar Acked-by: Thomas Dahlmann Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e581c8c8a957776db452afe316706242abcc1cdc Author: Axel Lin Date: Sat Oct 16 22:48:08 2010 +0800 USB: imx21-hcd - fix off by one resource size calculation Signed-off-by: Axel Lin Tested-by: Jon Povey Signed-off-by: Greg Kroah-Hartman commit bd68826897d328f332d8f98979d9ee95b96fb6f8 Author: Felipe Contreras Date: Tue Oct 19 13:03:26 2010 +0300 usb: gadget: fix Kconfig warning warning: (USB_MUSB_HDRC_HCD && USB_SUPPORT && USB_MUSB_HDRC && (USB_MUSB_HOST || USB_MUSB_OTG) && USB_GADGET_MUSB_HDRC || USB_MUSB_OTG && && USB && USB_GADGET && PM && EXPERIMENTAL) selects USB_OTG which has unmet direct dependencies (USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD) This doesn't seem to happen on 2.6.36-rc8, but still doesn't make sense to keep this duplicated config that is already defined in usb/core. Signed-off-by: Felipe Contreras Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit e576a7a96aae99b74dd758fff54c345f8f4ff097 Author: Yusuke Goda Date: Wed Oct 20 09:28:08 2010 +0900 usb: r8a66597-udc: Add processing when USB was removed. When USB was removed, this patch prepares for the next insertion. Signed-off-by: Yusuke Goda Acked-by: Yoshihiro Shimoda Cc: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit 69cb1ec4ce4da4bc4c07bb09c4c98b3e25d99fb1 Author: Eric BĂ©nard Date: Fri Oct 15 14:30:58 2010 +0200 mxc_udc: add workaround for ENGcm09152 for i.MX35 this patch gives the possibility to workaround bug ENGcm09152 on i.MX35 when the hardware workaround is also implemented on the board. It covers the workaround described on page 25 of the following Errata : http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf Signed-off-by: Eric BĂ©nard Signed-off-by: Greg Kroah-Hartman commit 0f266abd70cd83571eca019f764b5f1992da7361 Author: Greg Kroah-Hartman Date: Tue Oct 19 09:05:43 2010 -0700 USB: ftdi_sio: add device ids for ScienceScope This adds the requested device ids to the ftdi_sio driver. Reported-by: Ewan Bingham Cc: Kuba Ober Cc: stable Signed-off-by: Greg Kroah-Hartman commit 843bb1d0ff29b96eeb184988223ba55e3e8c2f57 Author: Ajay Kumar Gupta Date: Tue Oct 19 10:08:13 2010 +0300 USB: musb: AM35x: Workaround for fifo read issue AM35x supports only 32bit read operations so we need to have workaround for 8bit and 16bit read operations. Signed-off-by: Ajay Kumar Gupta Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit eb83092c2b24587719c917a1d6a5b682eeaa03df Author: Ajay Kumar Gupta Date: Tue Oct 19 10:08:12 2010 +0300 USB: musb: add musb support for AM35x AM35x has musb interface and uses CPPI4.1 DMA engine. Current patch supports only PIO mode. DMA support can be added later once basic CPPI4.1 DMA patch is accepted. Also added USB_MUSB_AM35X which is required to differentiate musb ips between OMAP3x and AM35x. This config would be used to for below purposes, - Select am35x.c instead of omap2430.c for compilation at drivers/usb/musb directory. Please note there are significant differneces in these two files as musb ip in quite different on AM35x. Please note that in multi omap configuration only omap2430.c file will get compiled and we would require to select only AM35x based board config to compile am35x.c - Select workaround codes applicable for AM35x musb issues. one such workaround is for bytewise read issue on AM35x. Signed-off-by: Ajay Kumar Gupta Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 3a0d30bcdfa73bd865f29899eb4bf29b58c4f54a Author: Ajay Kumar Gupta Date: Tue Oct 19 10:08:11 2010 +0300 USB: AM35x: Add musb support AM35x has musb interface (version 1.8) and uses CPPI41 DMA engine. It has USB phy built inside the IP itself. Signed-off-by: Ajay Kumar Gupta Acked-by: Tony Lindgren Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-omap@vger.kernel.org Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 436a389096e1feda2c382cad83b6a8d6de8615a0 Author: Sarah Sharp Date: Fri Oct 15 14:59:15 2010 -0700 usb: Fix linker errors with CONFIG_PM=n Fix these linker errors when CONFIG_PM=n: ERROR: "xhci_bus_resume" [drivers/usb/host/xhci-hcd.ko] undefined! ERROR: "xhci_bus_suspend" [drivers/usb/host/xhci-hcd.ko] undefined! Reported-by: Randy Dunlap Signed-off-by: Sarah Sharp Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 39eb234874af4322f85e2a29e3aad33ce68cbed5 Author: Axel Lin Date: Fri Oct 15 13:29:24 2010 +0800 USB: ohci-sh - use resource_size instead of defining its own resource_len macro Signed-off-by: Axel Lin Acked-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 4e5c353b3ccc4cc856d75ac751f4c09e0275c08b Author: Axel Lin Date: Fri Oct 15 13:27:57 2010 +0800 USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro Signed-off-by: Axel Lin Acked-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 7a9d93e58583efcca0f1ade889b05131ea0d1ed1 Author: Axel Lin Date: Fri Oct 15 13:26:21 2010 +0800 USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro Signed-off-by: Axel Lin Signed-off-by: Greg Kroah-Hartman commit b5b5c3ac5123dab047cfeff472053ab737052e9b Author: Sarah Sharp Date: Fri Oct 15 11:24:14 2010 -0700 USB: xhci: Fix compile error when CONFIG_PM=n Fix this error when CONFIG_PM is not enabled: drivers/usb/host/xhci.c:675: error: implicit declaration of function 'usb_root_hub_lost_power' Wrap xhci_suspend() and xhci_resume() into an ifdef CONFIG_PM, along with the functions that only they call -- xhci_save_registers() and xhci_restore_registers(). Reported-by: Randy Dunlap Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 56626a72a47bf3e50875d960d6b5f17b9bee0ab2 Author: Alan Stern Date: Thu Oct 14 15:25:21 2010 -0400 USB: accept some invalid ep0-maxpacket values A few devices (such as the RCA VR5220 voice recorder) are so non-compliant with the USB spec that they have invalid maxpacket sizes for endpoint 0. Nevertheless, as long as we can safely use them, we may as well do so. This patch (as1432) softens our acceptance criterion by allowing high-speed devices to have ep0-maxpacket sizes other than 64. A warning is printed in the system log when this happens, and the existing error message is clarified. Signed-off-by: Alan Stern Reported-by: James Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5535b1d5f8885695c6ded783c692e3c0d0eda8ca Author: Andiry Xu Date: Thu Oct 14 07:23:06 2010 -0700 USB: xHCI: PCI power management implementation This patch implements the PCI suspend/resume. Please refer to xHCI spec for doing the suspend/resume operation. For S3, CSS/SRS in USBCMD is used to save/restore the internal state. However, an error maybe occurs while restoring the internal state. In this case, it means that HC internal state is wrong and HC will be re-initialized. Signed-off-by: Libin Yang Signed-off-by: Dong Nguyen Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 9777e3ce907d4cb5a513902a87ecd03b52499569 Author: Andiry Xu Date: Thu Oct 14 07:23:03 2010 -0700 USB: xHCI: bus power management implementation This patch implements xHCI bus suspend/resume function hook. In the patch it goes through all the ports and suspend/resume the ports if needed. If any port is in remote wakeup, abort bus suspend as what ehci/ohci do. Signed-off-by: Libin Yang Signed-off-by: Crane Cai Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 561925318725a41189a69f36ebe99199b3fb84c4 Author: Andiry Xu Date: Thu Oct 14 07:23:00 2010 -0700 USB: xHCI: port remote wakeup implementation This commit implements port remote wakeup. When a port is in U3 state and resume signaling is detected from a device, the port transitions to the Resume state, and the xHC generates a Port Status Change Event. For USB3 port, software write a '0' to the PLS field to complete the resume signaling. For USB2 port, the resume should be signaling for at least 20ms, irq handler set a timer for port remote wakeup, and then finishes process in hub_control GetPortStatus. Some codes are borrowed from EHCI code. Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit be88fe4f4dda93e3264a887745123b1e6c4a6845 Author: Andiry Xu Date: Thu Oct 14 07:22:57 2010 -0700 USB: xHCI: port power management implementation Add software trigger USB device suspend resume function hook. Do port suspend & resume in terms of xHCI spec. Port Suspend: Stop all endpoints via Stop Endpoint Command with Suspend (SP) flag set. Place individual ports into suspend mode by writing '3' for Port Link State (PLS) field into PORTSC register. This can only be done when the port is in Enabled state. When writing, the Port Link State Write Strobe (LWS) bit shall be set to '1'. Allocate an xhci_command and stash it in xhci_virt_device to wait completion for the last Stop Endpoint Command. Use the Suspend bit in TRB to indicate the Stop Endpoint Command is for port suspend. Based on Sarah's suggestion. Port Resume: Write '0' in PLS field, device will transition to running state. Ring an endpoints' doorbell to restart it. Ref: USB device remote wake need another patch to implement. For details of how USB subsystem do power management, please see: Documentation/usb/power-management.txt Signed-off-by: Crane Cai Signed-off-by: Libin Yang Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 85f0ff46960c2853fd1436a56798260eae91db86 Author: Sarah Sharp Date: Thu Oct 14 07:22:54 2010 -0700 usb: Fix issue with USB 3.0 devices after system resume When the system suspends and a host controller's power is lost, the USB core attempts to revive any USB devices that had the persist_enabled flag set. For non-SuperSpeed devices, it will disable the port, and then set the udev->reset_resume flag. This will cause the USB core to reset the device, verify the device descriptors to make sure it's the same device, and re-install any non-default configurations or alternate interface settings. However, we can't disable SuperSpeed root hub ports because that turns off SuperSpeed terminations, which will inhibit any devices connecting at USB 3.0 speeds. (Plus external hubs don't allow SuperSpeed ports to be disabled.) Because of this logic in hub_activate(): /* We can forget about a "removed" device when there's a * physical disconnect or the connect status changes. */ if (!(portstatus & USB_PORT_STAT_CONNECTION) || (portchange & USB_PORT_STAT_C_CONNECTION)) clear_bit(port1, hub->removed_bits); if (!udev || udev->state == USB_STATE_NOTATTACHED) { /* Tell khubd to disconnect the device or * check for a new connection */ if (udev || (portstatus & USB_PORT_STAT_CONNECTION)) set_bit(port1, hub->change_bits); } else if (portstatus & USB_PORT_STAT_ENABLE) { /* The power session apparently survived the resume. * If there was an overcurrent or suspend change * (i.e., remote wakeup request), have khubd * take care of it. */ if (portchange) set_bit(port1, hub->change_bits); } else if (udev->persist_enabled) { udev->reset_resume = 1; set_bit(port1, hub->change_bits); } else { /* The power session is gone; tell khubd */ usb_set_device_state(udev, USB_STATE_NOTATTACHED); set_bit(port1, hub->change_bits); } a SuperSpeed device after a resume with a loss of power will never get the reset_resume flag set. Instead the core will assume the power session survived and that the device still has the same address, configuration, and alternate interface settings. The xHCI host controller will have no knowledge of the device (since all xhci_virt_devices were destroyed when power loss was discovered, and xhci_discover_or_reset_device() has not been called), and all URBs to the device will fail. If the device driver responds by resetting the device, everything will continue smoothly. However, if lsusb is used before the device driver resets the device (or there is no driver), then all lsusb descriptor fetches will fail. The quick fix is to pretend the port is disabled in hub_activate(), by clearing the local variable. But I'm not sure what other parts of the hub driver need to be changed because they have assumptions about when ports will be disabled. Signed-off-by: Sarah Sharp Signed-off-by: Andiry Xu Signed-off-by: Greg Kroah-Hartman commit c8d4af8e2af12cd4835ba5c4b54bdafe9deda71a Author: Andiry Xu Date: Thu Oct 14 07:22:51 2010 -0700 USB: core: use kernel assigned address for devices under xHCI xHCI driver uses hardware assigned device address. This may cause device address conflict in certain cases. Use kernel assigned address for devices under xHCI. Store the xHC assigned address locally in xHCI driver. Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp commit f0615c45ce5feb141c1172480c5198d4b8d25436 Author: Andiry Xu Date: Thu Oct 14 07:22:48 2010 -0700 USB: xHCI: change xhci_reset_device() to allocate new device Rename xhci_reset_device() to xhci_discover_or_reset_device(). If xhci_discover_or_reset_device() is called to reset a device which does not exist or does not match the udev, it calls xhci_alloc_dev() to re-allocate the device. This would prevent the reset device failure, possibly due to the xHC restore error during S3/S4 resume. Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 64927730c66333c9d5987aa72a0e6d44ed91cec7 Author: Andiry Xu Date: Thu Oct 14 07:22:45 2010 -0700 USB: xHCI: Add pointer to udev in struct xhci_virt_device Add a pointer to udev in struct xhci_virt_device. When allocate a new virt_device, make the pointer point to the corresponding udev. Modify xhci_check_args(), check if virt_dev->udev matches the target udev, to make sure command is issued to the right device. Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ac9dfe9cdda4eb42ecaa9f13b0fee518e0b6518e Author: Nobuhiro Iwamatsu Date: Thu Oct 14 14:52:54 2010 +0900 usb: r8a66597-hcd: Change mistake of the outsw function Some functions changed by 1c98347e613bf17ea2f18c9766ce0ab77f65a96d. However, There was a change mistake of the function (outsw). Signed-off-by: Nobuhiro Iwamatsu CC: Paul Mundt Cc: stable [.35 & .36] Acked-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 96b9e83231f543391c29d12e1e65ddb2ed963154 Author: Igor Grinberg Date: Sun Oct 10 17:59:19 2010 +0200 USB: otg/ulpi: extend id's table. Extend id's table to have ulpi phy names in it. Report if the known phy is found. Signed-off-by: Igor Grinberg Signed-off-by: Greg Kroah-Hartman commit a9138192d0e716c3e9714b3fe03543d93ebbad9f Author: Igor Grinberg Date: Sun Oct 10 17:59:18 2010 +0200 USB: otg/ulpi: improve ulpi phy detection. Improve ulpi phy detection by utilizing the "scratch" register. Allow unknown ulpi phy work without the need to hard-code the id. Signed-off-by: Igor Grinberg Signed-off-by: Greg Kroah-Hartman commit c6f694af8318a526c639306d9d07ee33cb7c168a Author: Alon Ziv Date: Sun Oct 10 08:32:20 2010 +0200 USB: opticon: Whitespace fixes in opticon driver Signed-off-by: Alon Ziv Signed-off-by: Greg Kroah-Hartman commit 0d930e51cfe6f748339d7d13b3fad2b91a1d92c2 Author: Alon Ziv Date: Sun Oct 10 08:32:19 2010 +0200 USB: opticon: Add Opticon OPN2001 write support OPN2001 expects write operations to arrive as a vendor-specific command through the control pipe (instead of using a separate bulk-out pipe). Signed-off-by: Alon Ziv Signed-off-by: Greg Kroah-Hartman commit 97cd8dc4ca9a1a5efb2cc38758e01492e3b013e2 Author: Alon Ziv Date: Sun Oct 10 08:32:18 2010 +0200 USB: opticon: Fix long-standing bugs in opticon driver The bulk-read callback had two bugs: a) The bulk-in packet's leading two zeros were returned (and the two last bytes truncated) b) The wrong URB was transmitted for the second (and later) read requests, causing further reads to return the entire packet (including leading zeros) Signed-off-by: Alon Ziv Cc: stable Signed-off-by: Greg Kroah-Hartman commit c19db4c9e49a049054594272d408e101aaf41b27 Author: Johan Hovold Date: Mon Oct 11 20:23:36 2010 +0200 USB: ftdi_sio: set device latency timeout at port probe No need to set latency timeout at every open. This also fixes an issue with the read latency being as high as 250ms (instead of 1ms) for the first read after port probe. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit 3ed780117dbe5acb64280d218f0347f238dafed0 Author: Kees Cook Date: Mon Oct 11 11:28:16 2010 -0700 usb: iowarrior: don't trust report_size for buffer size If the iowarrior devices in this case statement support more than 8 bytes per report, it is possible to write past the end of a kernel heap allocation. This will probably never be possible, but change the allocation to be more defensive anyway. Signed-off-by: Kees Cook Signed-off-by: Greg Kroah-Hartman commit cfb8da8f69b81d367b766888e83ec0483a31bf01 Author: Johan Hovold Date: Tue Oct 12 01:07:05 2010 +0200 USB: visor: fix initialisation of UX50/TH55 devices Fix regression introduced by commit 214916f2ec6701e1c9972f26c60b3dc37d3153c6 (USB: visor: reimplement using generic framework) which broke initialisation of UX50/TH55 devices that used re-mapped bulk-out endpoint addresses. Reported-by: Robert Gadsdon Tested-by: Robert Gadsdon Cc: stable Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit 59c6ccd9f9aecfa59c99ceba6d4d34b180547a05 Author: Daniel Suchy Date: Tue Oct 12 15:44:24 2010 +0200 USB: ftdi_sio: new VID/PIDs for various Papouch devices This patch for FTDI USB serial driver ads new VID/PIDs used on various devices manufactured by Papouch (http://www.papouch.com). These devices have their own VID/PID, although they're using standard FTDI chip. In ftdi_sio.c, I also made small cleanup to have declarations for all Papouch devices together. Signed-off-by: Daniel Suchy Cc: stable Signed-off-by: Greg Kroah-Hartman commit 562e7c71c6708353bfe7b615576bcbcf7afd522e Author: Tatyana Brokhman Date: Sat Oct 9 16:46:12 2010 +0200 usb: usb3.0 ch9 definitions Adding SuperSpeed usb definitions as defined by ch9 of the USB3.0 spec. This patch is a preparation for adding SuperSpeed support to the gadget framework. Signed-off-by: Tatyana Brokhman Signed-off-by: Greg Kroah-Hartman commit 0a6a717ceff67f887b16783ce891f5dcf846f1fc Author: Michal Nazarewicz Date: Thu Oct 7 14:46:15 2010 +0200 USB: gadget: storage: reuse definitions from scsi.h header file This commit changes storage_common.h, file_storage.c and f_mass_storage.c to use definitions of SCSI commands from scsi/scsi.h file instead of redefining the commands in storage_common.c. scsi/scsi.h header file was missing READ_FORMAT_CAPACITIES and READ_HEADER so this commit also add those to the header. Signed-off-by: Michal Nazarewicz Cc: Alan Stern Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 0a2b8a0d1101179fdebc974a7c72b514aede9d9d Author: matt mooney Date: Wed Oct 6 19:03:26 2010 -0700 usb: makefile cleanup For all modules, change -objs to -y; remove if-statements and replace with lists using the kbuild idiom; move flags to the top of the file; and fix alignment while trying to maintain the original scheme in each file. None of the dependencies are modified. Signed-off-by: matt mooney Acked-by: Sam Ravnborg Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 75d87cdf3cefd2744fabd3f2a558c49cdf36238b Author: Rahul Ruikar Date: Thu Oct 7 09:40:45 2010 +0530 usb: gadget: dummy_hcd: Fix error path In function dummy_udc_probe() call put_device() when device_register() fails. also usb_get_hcd() put before device_register() after review comment from Alan Stern. Signed-off-by: Rahul Ruikar Signed-off-by: Greg Kroah-Hartman commit 7b3a766c7b9bce07875098cb68642df2b8f0b152 Author: Rahul Ruikar Date: Thu Oct 7 09:31:12 2010 +0530 usb: core: endpoint: Fix error path In function usb_create_ep_devs() call put_device() when device_register() fails. Signed-off-by: Rahul Ruikar Signed-off-by: Greg Kroah-Hartman commit 93ad03d60b5b18897030038234aa2ebae8234748 Author: Anders Larsen Date: Wed Oct 6 23:46:25 2010 +0200 USB: cp210x: Add WAGO 750-923 Service Cable device ID The WAGO 750-923 USB Service Cable is used for configuration and firmware updates of several industrial automation products from WAGO Kontakttechnik GmbH. Bus 004 Device 002: ID 1be3:07a6 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1be3 idProduct 0x07a6 bcdDevice 1.00 iManufacturer 1 Silicon Labs iProduct 2 WAGO USB Service Cable iSerial 3 1277796751 . . . Signed-off-by: Anders Larsen Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7491f13367919d97525b73b1fd38801ac83aac06 Author: Peter Chen Date: Mon Sep 27 16:43:25 2010 +0800 USB: do not print -ESHUTDOWN message if usb at otg device mode At otg device mode, the otg host resume should do no-op during system resume, otherwise, the otg device will be treated as a host for enumeration. So, the otg host driver returns -ESHUTDOWN if it detects the current usb mode is device mode. The host driver has to return -ESHUTDOWN, otherwise, the usb_hc_died will be called. Signed-off-by: Peter Chen Signed-off-by: Greg Kroah-Hartman commit 00914025cc4e783d4703b4db1d47b41f389e50c8 Author: Hans de Goede Date: Fri Oct 1 14:20:11 2010 -0700 usb-storage: add new no_read_capacity_16 quirk Some Rockbox based mp4 players will crash when ever they see a read_capacity_16 scsi command. So add a new US_FL which tells the scsi sd driver to not issue any read_capacity_16 scsi commands. Signed-off-by: Hans de Goede Cc: James Bottomley Cc: Alan Stern Cc: Matthew Dharm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5ce524bdff367b4abda20bcfd4dafd9d30c773df Author: Hans de Goede Date: Fri Oct 1 14:20:10 2010 -0700 scsi/sd: add a no_read_capacity_16 scsi_device flag I seem to have a knack for digging up buggy usb devices which don't work with Linux, and I'm crazy enough to try to make them work. So this time a friend of mine asked me to get an mp4 player (an mp3 player which can play videos on a small screen) to work with Linux. It is based on the well known rockbox chipset for which we already have an unusual devs entries to work around some of its bugs. But this model comes with an additional twist. This model chokes on read_capacity_16 calls. Now normally we don't make those calls, but this model comes with an sdcard slot and when there is no card in there (and shipped from the factory there is none), it reports a size of 0. However this time the programmers actually got the read_capacity_10 response right! So they substract one from the size as stored internally in the mp3 player before reporting it back, resulting in an answer of ... 0xffffffff sectors, causing sd.c to try a read_capacity_16, on which the device crashes. This patch adds a flag to scsi_device to indicate that a a device cannot handle read_capacity_16, and when this flag is set if a device reports an lba of 0xffffffff as answer to a read_capacity_10, assumes it tries to report a size of 0. Signed-off-by: Hans de Goede Cc: James Bottomley Cc: Alan Stern Cc: Matthew Dharm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ae38c78a03e1b77ad45248fcf097e4568e740209 Author: Hans de Goede Date: Fri Oct 1 14:20:10 2010 -0700 usb-storage: add new no_read_disc_info quirk Appotech ax3003 (the larger brother of the ax203) based devices are even more buggy then the ax203. They will go of into lala land when ever they see a READ_DISC_INFO scsi command. So add a new US_FL which tells the scsi sr driver to not issue any READ_DISC_INFO scsi commands. [akpm@linux-foundation.org: fix build] Signed-off-by: Hans de Goede Cc: James Bottomley Cc: Alan Stern Cc: Matthew Dharm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8e04d8056c1ea0e0aab730994b74756f0526cda8 Author: Hans de Goede Date: Fri Oct 1 14:20:08 2010 -0700 scsi/sr: add no_read_disc_info scsi_device flag Some USB devices emulate a usb-mass-storage attached (scsi) cdrom device, usually this fake cdrom contains the windows software for the device. While working on supporting Appotech ax3003 based photoframes, which do this I discovered that they will go of into lala land when ever they see a READ_DISC_INFO scsi command. Thus this patch adds a scsi_device flag (which can then be set by the usb-storage driver through an unsual-devs entry), to indicate this, and makes the sr driver honor this flag. I know this sucks, but as discussed on linux-scsi list there is no other way to make this device work properly. Looking at usb traces made under windows, windows never sends a READ_DISC_INFO during normal interactions with a usb cdrom device. So as this cdrom emulation thingie becomes more common we might see more of this problem. Signed-off-by: Hans de Goede Cc: James Bottomley Cc: Alan Stern Cc: Matthew Dharm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 319feaabb6c7ccd90da6e3207563c265da7d21ae Author: Dan Carpenter Date: Tue Oct 5 18:55:34 2010 +0200 usb: gadget: goku_udc: Fix error path This is based on an initial patch by Rahul Ruikar. The goku_remove() function can be called before device_register() so it can call device_unregister() improperly. Also if the call to device_register() fails we need to call put_device(). As I was changing the error handling in goku_probe(), I noticed that the label was "done" but actually if the function succeeds we return earlier. I renamed the error path to "err" instead of "done." Reported-by: Rahul Ruikar Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit d0cc3d4100e829d726d7c0fbf5b7b8d2146f60ba Author: Martin Fuzzey Date: Fri Oct 1 00:21:59 2010 +0200 USB: imx21-hcd accept arbitary transfer buffer alignement. The hardware can only do DMA to 4 byte aligned addresses. When this requirement is not met use PIO or a bounce buffer. PIO is used when the buffer is small enough to directly use the hardware data memory (2*maxpacket). A bounce buffer is used for larger transfers. Signed-off-by: Martin Fuzzey Signed-off-by: Greg Kroah-Hartman commit 1dae423dd9b247b048eda00cb598c755e5933213 Author: Martin Fuzzey Date: Fri Oct 1 00:21:55 2010 +0200 USB: introduce unmap_urb_setup_for_dma() Split unmap_urb_for_dma() to allow just the setup buffer to be unmapped. This allows HCDs to use PIO for the setup buffer if it is not suitable for DMA. Signed-off-by: Martin Fuzzey Signed-off-by: Greg Kroah-Hartman commit 7a7e7896422baced4757070b813ba28ab24a214a Author: Martin Fuzzey Date: Fri Oct 1 00:21:48 2010 +0200 USB: imx21-hcd: Fix isochronous endpoint idle Release the hardware resources and reset the internal HCD state associated with an isochronous endpoint when the last URB queued for it completes. Previously this was only done in then endpoint_disable() method causing usbtest 15 and 16 to hang when run twice in succession without a disconnect. Signed-off-by: Martin Fuzzey Signed-off-by: Greg Kroah-Hartman commit b2a068d058e71519e14d2c03e92459c4c1d63c8b Author: Martin Fuzzey Date: Fri Oct 1 00:21:43 2010 +0200 USB: imx21-hcd: refactor hardware data memory management We already have fields describing the hardware data memory (dmem_size and dmem_offset) in the HCD private data, use them rather than the rather obscure read from the hardware descriptor. Signed-off-by: Martin Fuzzey Signed-off-by: Greg Kroah-Hartman commit e6da55cb0aa36f30168da8c20ceccdc538b054be Author: Martin Fuzzey Date: Fri Oct 1 00:21:38 2010 +0200 USB: imx21-hcd: remove unused variable Remove a local variable left over from some debugging code. Signed-off-by: Martin Fuzzey Signed-off-by: Greg Kroah-Hartman commit 40aed5241e4e5363c11acc841f6ef794b2c25668 Author: Martin Fuzzey Date: Fri Oct 1 00:20:48 2010 +0200 USB: usbtest - ensure correct isoc data length Check the data length of isochronous transfers is as expected. With this test #16 will now fail if the device side sends no data. Signed-off-by: Martin Fuzzey Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit fabbf2196d0db0b4d175456dcb373aa2440f5728 Author: Martin Fuzzey Date: Fri Oct 1 00:20:42 2010 +0200 USB: usbtest fix coding style Signed-off-by: Martin Fuzzey Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 80f0cf3947889014d3a3dc0ad60fb87cfda4b12a Author: Alan Stern Date: Thu Sep 30 15:16:23 2010 -0400 USB: disable endpoints after unbinding interfaces, not before This patch (as1430) fixes a bug in usbcore. When a device configuration change occurs or a device is removed, the endpoints for the old config should be completely disabled. However it turns out they aren't; this is because usb_unbind_interface() calls usb_enable_interface() or usb_set_interface() to put interfaces back in altsetting 0, which re-enables the interfaces' endpoints. As a result, when a device goes through a config change or is unconfigured, the ep_in[] and ep_out[] arrays may be left holding old pointers to usb_host_endpoint structures. If the device is deauthorized these structures get freed, and the stale pointers cause errors when the the device is eventually unplugged. The solution is to disable the endpoints after unbinding the interfaces instead of before. This isn't as large a change as it sounds, since usb_unbind_interface() disables all the interface's endpoints anyway before calling the driver's disconnect routine, unless the driver claims to support "soft" unbind. This fixes Bugzilla #19192. Thanks to "Tom" Lei Ming for diagnosing the underlying cause of the problem. Signed-off-by: Alan Stern Tested-by: Carsten Sommer CC: stable Signed-off-by: Greg Kroah-Hartman commit cf7d3c8e579a643ff81ff95d51babdaf4c55f5f4 Author: Philippe Skowronski Date: Fri Oct 1 14:59:16 2010 +0100 usb: langwell_udc: cancel pending requests when controller is suspended. It is safer to cancel pending requests before free dTD and dQH when controller enters suspend state. Signed-off-by: Philippe Skowronski Signed-off-by: Hao Wu [Switch to spin_lock_irq as suggested by Alan Stern] Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c8458d59d424fcba2456d6cba5811ce01c3aedb9 Author: Christophe Lebouc Date: Thu Sep 30 15:34:36 2010 +0100 usb: langwell_udc: fix big file transfer issue. This patch fixing the problem with large file transfers failing. Swap the read order to avoid unexpected RX status. Signed-off-by: Christophe Lebouc Signed-off-by: Hao Wu Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 689d6eacd1b7c3677bfe6ee367766f21c3c80e26 Author: Ming Lei Date: Thu Sep 30 20:32:44 2010 +0800 USB: UHCI: add native scatter-gather support(v1) This patch adds native scatter-gather support to uhci-hcd. Reviewed-by: Alan Stern Signed-off-by: Ming Lei Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 00be545e49d83485d49a598d3b7e090088934be8 Author: Sergei Shtylyov Date: Wed Sep 29 09:54:31 2010 +0300 usb: musb: blackfin: call gpio_free() on error path in musb_platform_init() Blackfin's musb_platform_init() needs to call gpio_free() for error cleanup iff otg_get_transceiver() call returns NULL. Signed-off-by: Sergei Shtylyov Acked-by: Mike Frysinger Signed-off-by: Felipe Balbi Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3daad24d6c72affdd40e8b6a75c87d3c175880b6 Author: Sergei Shtylyov Date: Wed Sep 29 09:54:30 2010 +0300 usb: musb: blackfin: call usb_nop_xceiv_unregister() in musb_platform_exit() Blackfin's musb_platform_exit() forgets to call usb_nop_xceiv_unregister(). While fixing this, also remove the unneeded blank line there. Signed-off-by: Sergei Shtylyov Acked-by: Mike Frysinger Cc: stable Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit f405387435a85a440d1ce16f3ca36e042281643a Author: Sergei Shtylyov Date: Wed Sep 29 09:54:29 2010 +0300 USB: MUSB: fix kernel WARNING/oops when unloading module in OTG mode Since commit 461972d8a4c94bc44f11a13046041c78a7cf18dd (musb_core: don't call musb_platform_exit() twice), unloading the driver module results in a WARNING "kobject: '(null)' (c73de788): is not initialized, yet kobject_put() is being called." (or even kernel oops) on e.g. DaVincis, though only in the OTG mode. There exists dubious and unbalanced put_device() call in musb_free() which takes place only in the OTG mode. As this commit caused musb_platform_exit() to be called (and so unregister the NOP transceiver) before this put_device() call, this function references already freed memory. On the other hand, all the glue layers miss the otg_put_transceiver() call, complementary to the otg_get_transceiver() call that they do. So, I think the solution is to get rid of the strange put_device() call, and instead call otg_put_transceiver() in the glue layers... Signed-off-by: Sergei Shtylyov Cc: stable Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 230f7ede6c2f0e403f29e03e0251a470aa9350dd Author: Anatolij Gustschin Date: Tue Sep 28 20:55:21 2010 +0200 USB: add USB EHCI support for MPC5121 SoC Extends FSL EHCI platform driver glue layer to support MPC5121 USB controllers. MPC5121 Rev 2.0 silicon EHCI registers are in big endian format. The appropriate flags are set using the information in the platform data structure. MPC83xx system interface registers are not available on MPC512x, so the access to these registers is isolated in MPC512x case. Furthermore the USB controller clocks must be enabled before 512x register accesses which is done by providing platform specific init callback. The MPC512x internal USB PHY doesn't provide supply voltage. For boards using different power switches allow specifying DRVVBUS and PWR_FAULT signal polarity of the MPC5121 internal PHY using "fsl,invert-drvvbus" and "fsl,invert-pwr-fault" properties in the device tree USB nodes. Adds documentation for this new device tree bindings. Signed-off-by: Anatolij Gustschin Cc: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 126512e3f274802ca65ebeca8660237f0361ad48 Author: Anatolij Gustschin Date: Tue Sep 28 20:55:20 2010 +0200 USB: add platform glue driver for FSL USB DR controller Replace FSL USB platform code by simple platform driver for creation of FSL USB platform devices. The driver creates platform devices based on the information from USB nodes in the flat device tree. This is the replacement for old arch fsl_soc usb code removed by this patch. The driver uses usual of-style binding, available EHCI-HCD and UDC drivers can be bound to the created devices. The new of-style driver additionaly instantiates USB OTG platform device, as the appropriate USB OTG driver will be added soon. Signed-off-by: Anatolij Gustschin Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 99c1e4f89d1033444ce4d0c064bd2826e81c3775 Author: Rainer Keller Date: Tue Sep 28 12:27:43 2010 +0200 USB: add PID for FTDI based OpenDCC hardware The OpenDCC project is developing a new hardware. This patch adds its PID to the list of known FTDI devices. The PID can be found at http://www.opendcc.de/elektronik/usb/opendcc_usb.html Signed-off-by: Rainer Keller Cc: stable Signed-off-by: Greg Kroah-Hartman commit 748eee0986f0d51c7bc39f194d515a8d8248ebdd Author: Grazvydas Ignotas Date: Mon Sep 27 15:17:18 2010 +0300 USB: Add more empty functions in otg.h Add empty functions for get/put transceiver functions too, so that drivers that optionally use them can call them without worrying that they might not exist, eliminating ifdefs. Signed-off-by: Grazvydas Ignotas Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 7893afc035590383a14b176c1497cba984276ef4 Author: Otavio Salvador Date: Sun Sep 26 23:35:05 2010 -0300 USB: cdc-acm: fix code indentation Signed-off-by: Otavio Salvador Signed-off-by: Greg Kroah-Hartman commit 25013315678c78091a7826be7097fa2b60e30aac Author: matt mooney Date: Fri Sep 24 12:17:33 2010 -0700 usb: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Acked-by: WANG Cong Signed-off-by: Greg Kroah-Hartman commit e0c43476c12db99e20066151d0c49aa76b34e50d Author: Felipe Balbi Date: Fri Sep 24 13:44:15 2010 +0300 usb: musb: gadget: only enable AUTOCLEAR in double buffered case commit 633ba7876b96ec339ef685357e2f7c60b5a8ce85 broke g_file_storage functionality by enabling AUTOCLEAR on all cases without caring for all gadget drivers. This patch will only enable AUTOCLEAR if our endpoint's FIFO was configured with double buffering support. Note this is not a complete fix, double buffered case still doesn't work always, but that hasn't been working for quite some time. Other than reverting the entire commit and breaking testusb with double buffered case again, I decided it was better to fix the single buffered case and spend more time fixing double buffered case properly. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit e7379aaa5ca12f9e011eb5a6bcba88e9bbbfbf87 Author: Ming Lei Date: Fri Sep 24 13:44:14 2010 +0300 usb: musb: gadget: fix ZLP sending in musb_g_tx(v1) This patch fixes the problem reported by Sergei: >how come? we need to send ZLP before giving back the request. >Well, look at the code ionce again. We need to send ZLP *after* >request->actual == request->length, but as the check is inserted >after the ZLP send, ZLP *may* be sent once the first DMA completes, >not the last. The patch also has been discussed on the link below: http://marc.info/?t=128454814900001&r=1&w=2 Signed-off-by: Ming Lei Reported-by: Sergei Shtylyov Cc: David Brownell Cc: Anand Gadiyar Cc: Mike Frysinger Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit a6038ee76a29ea31f8aae4eb6c419794c739e077 Author: Heikki Krogerus Date: Fri Sep 24 13:44:13 2010 +0300 usb: musb: ignore spurious SESSREQ interrupts This will ignore any SESSREQ interrupt if musb is B state. Charger detection may cause spurious SESSREQ interrupts. Signed-off-by: Heikki Krogerus Signed-off-by: Greg Kroah-Hartman commit 434678685407e045ffb246df059c486fc0a16e75 Author: Sergei Shtylyov Date: Fri Sep 24 13:44:12 2010 +0300 usb: musb: gadget: kill unreachable code in musb_g_rx() musb_g_rx() always returns if next_request() call yields NULL, so the DBG() near the function's end can never be invoked. Remove it along with unneeded 'return'; also remove the duplicate 'request' check... Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2f8d5cd6bcf814411ec356bcdbc666d07bbc6026 Author: Jon Povey Date: Fri Sep 24 13:44:10 2010 +0300 USB: musb: suppress warning about unused flags Wrap flags with uninitialized_var() to suppress this: drivers/usb/musb/cppi_dma.c:1158: warning: 'flags' may be used uninitialized in this function Signed-off-by: Jon Povey Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit f8afbf7f2bf3cee0f4fff7cb753ecc9f583972c3 Author: T. S., Anil Kumar Date: Fri Sep 24 13:44:09 2010 +0300 usb: musb: host: support DMA transfers greater than max channel length Add support for MUSB Host DMA transfers greater than max channel length, so that such transfers won't be truncated. Signed-off-by: Anil Shetty Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit ae9b2ad2eea729b907ef5dd5e25d1ff8443d03fc Author: Bob Liu Date: Fri Sep 24 13:44:07 2010 +0300 usb: musb: Change to direct addr in context save/restore Since not all platforms are using the same offset 0x10 in musb_save/restore_context() eg Blackfin the offset is 0x40, Change the indexed address to direct. Signed-off-by: Bob Liu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 496dda704bca1208e08773ba39b29a69536f5381 Author: Maulik Mankad Date: Fri Sep 24 13:44:06 2010 +0300 usb: musb: host: unmap the buffer for PIO data transfers The USB stack maps the buffer for DMA if the controller supports DMA. MUSB controller can perform DMA as well as PIO transfers. The buffer needs to be unmapped before CPU can perform PIO data transfers. Export unmap_urb_for_dma() so that drivers can perform the DMA unmapping in a sane way. Signed-off-by: Maulik Mankad Acked-by: Alan Stern Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6587cc0f30cd2f27cf0677e470f18792925a23a4 Author: Anil Shetty Date: Fri Sep 24 13:44:05 2010 +0300 usb: musb: musbhsdma: increase max_len to 1MB MUSB's DMA controller max channel length was set to 64k. Transfer length greater than this max value is being truncated. Signed-off-by: Anil Shetty Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit f11d893de444965dfd3e55f726533ae1df5c6471 Author: Ming Lei Date: Fri Sep 24 13:44:04 2010 +0300 usb: musb: support ISO high bandwidth for gadget mode This patch has been tested OK on beagle B5 board and use usbtest #15 and #16 as testcase. Signed-off-by: Ming Lei Reviewed-by: Sergei Shtylyov Cc: David Brownell Cc: Anand Gadiyar Cc: Mike Frysinger Cc: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 3ee076dea68e11d4685972df7298b80b8e7673e4 Author: Sergei Shtylyov Date: Fri Sep 24 13:44:03 2010 +0300 usb: musb: introduce DA8xx/OMAP-L1x glue layer Texas Instruments DA8xx/OMAP-L1x glue layer for the MUSBMHRDC driver. Signed-off-by: Sergei Shtylyov Signed-off-by: Yadviga Grigorieva Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit d613746d8bc3a2904d4585d7efd7f457d9db6fb9 Author: Sergei Shtylyov Date: Fri Sep 24 13:44:02 2010 +0300 USB: musb: make DBG() calls actually depend on CONFIG_USB_MUSB_DEBUG Enabling CONFIG_USB_MUSB_DEBUG option causes -DDEBUG to be added to gcc's command line, however the DBG() macro doesn't depend on DEBUG, so that the debugging messages get printed regardless of the option, and I don't think that this was intended. Get rid of otherwise unused xprintk() macro and make DBG() macro directly call pr_debug() which only results in the actual code generated if DEBUG is defined. This change makes musb_hdrc.o ~30% less in size with CONFIG_USB_MUSB_DEBUG disabled (in host mode). Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit e06ea97fa47611992a5a61058729cf8e83bf6fda Author: Tomoki Sekiyama Date: Sun Oct 3 06:59:06 2010 +0900 USB: yurex: fix memory leak and corrupted messages This fixes the memory leak on disconnecting the device. In addition, it fixes some messages corrupted by incorrect encoding. Signed-off-by: Tomoki Sekiyama Signed-off-by: Greg Kroah-Hartman commit 1b62d2583963d5974974aa923214bada7aa7b5d1 Author: Greg Kroah-Hartman Date: Thu Sep 30 05:01:22 2010 -0700 USB: yurex: assign a real minor number to the driver This assigns the minor number 192 to the yurex driver. We also fix up the previous usb minor number entry, it was wrong. Cc: Tomoki Sekiyama Signed-off-by: Greg Kroah-Hartman commit 6bc235a2e24a5ef677daee3fd4f74f6cd643e23c Author: Tomoki Sekiyama Date: Wed Sep 29 12:16:50 2010 +0900 USB: add driver for Meywa-Denki & Kayac YUREX Meywa-Denki/Kayac YUREX is a leg-shakes sensor device. See http://bbu.kayac.com/en/about/ for further information. This driver support read/write the leg-shakes counter in the device via a device file /dev/yurex[0-9]*. [minor coding style cleanups fixed by gregkh] Signed-off-by: Tomoki Sekiyama Cc: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 3323b7107ece794eb3e16111b583f5afb6749278 Author: Michal Nazarewicz Date: Thu Oct 7 13:05:24 2010 +0200 USB: gadget: file_storage: reuse definitions from a header file This commit changes storage_common.c and file_storage.c to reuse definitions from linux/usb/storage.h header file. Signed-off-by: Michal Nazarewicz Cc: Alan Stern Cc: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 115bb1ffa54c3934f3617bdd4e4dfc68b11e1e69 Author: Matthew Wilcox Date: Thu Oct 7 13:05:23 2010 +0200 USB: Add UAS driver USB Attached SCSI is a new protocol specified jointly by the SCSI T10 committee and the USB Implementors Forum. Signed-off-by: Matthew Wilcox Cc: Matthew Dharm [mina86@mina86.com: updated to use new USB_ prefix] Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit ae6d22fe1812ce8d40add3eb74ede9cfd2eae44f Author: Matthew Wilcox Date: Thu Oct 7 13:05:22 2010 +0200 USB: Move USB Storage definitions to their own header file The libusual header file is hard to use from code that isn't part of libusual. As the comment suggests, these definitions are moved to their own header file, paralleling other USB classes. Signed-off-by: Matthew Wilcox Cc: Alan Stern [mina86@mina86.com: updated to use USB_ prefix and added #include guard] Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman index 0000000..d7fc910 commit 8fa7fd74ef398370383df276ca41082ba35aafd8 Author: Michal Nazarewicz Date: Thu Oct 7 13:05:21 2010 +0200 USB: storage: Use USB_ prefix instead of US_ prefix This commit changes prefix for some of the USB mass storage class related macros (ie. USB_SC_ for subclass and USB_PR_ for class). Signed-off-by: Michal Nazarewicz Cc: Alan Stern Cc: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 1992de83e375acc789daf66b7b72a812a5235b75 Author: Matthias G. Eckermann Date: Fri Sep 24 18:12:01 2010 +0200 USB: qcserial: Enable Diagnostics Monitor and GPS ports on Gobi 2000 this patch to qcserial.c enables the Diagnostics Monitor and NMEA GPS ports on Qualcomm Gobi 2000 devices. A Gobi 2000 device will provide 3 serial ports: # /dev/ttyUSB0 -> Diagnostics # /dev/ttyUSB1 -> 3G Modem # /dev/ttyUSB2 -> NMEA GPS port * The Diagnostics Monitor uses Qualcomm's DM protocol; I used libqcdm (ModemManager) to talk to it, found it working, but at least DM commands 12 and 64 are not implemented on my device (Gobi 2000 built into Thinkpad x100e). * Functionality of the 3G Modem port remains unchanged. * The GPS port and how to enable it has been confirmed now in the Gobi 3000 source code at: https://www.codeaurora.org/patches/quic/gobi/ Enable/disable GPS via: echo "\$GPS_START" > /dev/ttyUSB2 # use GPS echo "\$GPS_STOP" > /dev/ttyUSB2 Signed-off-by: Matthias G. Eckermann commit 6195e3c6aa84dbbf80a60731168118824bd58bba Author: Yauheni Kaliuta Date: Fri Sep 24 09:43:27 2010 +0300 USB: cdc.h: ncm: fix one more typo In usb_cdc_ncm_dpe32 the fields are 32 bit long and according to usb style (hungarian notation) should be called dwDatagramIndex and dwDatagramLength (see CDC NCM subclass spec, 3.3.2). Actually, they were called wDatagramIndex, wDatagramLength. Signed-off-by: Yauheni Kaliuta Signed-off-by: Greg Kroah-Hartman commit 677aeafe19e88c282af74564048243ccabb1c590 Author: Johan Hovold Date: Sun Sep 12 16:31:45 2010 +0200 USB: ftdi_sio: revert "USB: ftdi_sio: fix DTR/RTS line modes" This reverts commit 6a1a82df91fa0eb1cc76069a9efe5714d087eccd. RTS and DTR should not be modified based on CRTSCTS when calling set_termios. Modem control lines are raised at port open by the tty layer and should stay raised regardless of whether hardware flow control is enabled or not. This is in conformance with the way serial ports work today and many applications depend on this behaviour to be able to talk to hardware implementing hardware flow control (without the applications actually using it). Hardware which expects different behaviour on these lines can always use TIOCMSET/TIOCMBI[SC] after port open to change them. Reported-by: Daniel Mack Reported-by: Dave Mielke Signed-off-by: Johan Hovold Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1f8dd0154e09220be346819b85d195c791bb0f0b Author: Matthew Garrett Date: Thu Sep 16 14:00:51 2010 -0400 USB: serial: Enable USB autosuspend by default on qcserial Seems to work fine in my testing. Signed-off-by: Matthew Garrett Signed-off-by: Greg Kroah-Hartman commit 969affff54702785330de553b790372e261e93f9 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Mon Sep 20 18:31:07 2010 +0200 USB: atmel_usba_udc: force vbus_pin at -EINVAL when gpio_request failled to ensure gpio_is_valid return false Signed-off-by: Nicolas Ferre Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Cc: stable Signed-off-by: Greg Kroah-Hartman commit e5dcd531ac7a040f1b4d35f58914a36ad6174e84 Author: Yauheni Kaliuta Date: Mon Sep 20 15:40:28 2010 +0300 USB: cdc.h: ncm: add missed constants and structures Make a dedicated structure for datagram pointer entry. There is no explicit declaration in the spec, but it's used by the host implementation and makes the structure more clear. Add some missed constants from the spec Signed-off-by: Yauheni Kaliuta Signed-off-by: Greg Kroah-Hartman commit 7fc09170cedc329ad274433b4f1a653e603600b5 Author: Yauheni Kaliuta Date: Mon Sep 20 15:40:27 2010 +0300 Revert "USB: ncm: added ncm.h with auxiliary definitions" This reverts commit 65e0b499105ec8ff3bc4ab7680873dec20127f9d. Since the host and gadget implementations are different, there is no common code for the file, remove for now. Signed-off-by: Yauheni Kaliuta Signed-off-by: Greg Kroah-Hartman commit 1f53c0e9bbf654ed93f63deee2bf5c9a1816966e Author: Yauheni Kaliuta Date: Mon Sep 20 15:40:26 2010 +0300 USB: cdc.h: ncm: typo and style fixes Some typos were in the initial commit, make the spelling according to the spec. Add some more comments. Also change constant names according to the style of the rest of the file Signed-off-by: Yauheni Kaliuta Signed-off-by: Greg Kroah-Hartman commit c6991b6fd2b4201174dc4620d0c8c4f5ff27b36f Author: Enrico Mioso Date: Fri Sep 17 10:54:23 2010 +0200 USB: option: Add new ONDA vendor id and product id for ONDA MT825UP This patch, adds to the option driver the Onda Communication (http://www.ondacommunication.com) vendor id, and the MT825UP modem device id. Note that many variants of this same device are being release here in Italy (at least one or two per telephony operator). These devices are perfectly equivalent except for some predefined settings (which can be changed of course). It should be noted that most ONDA devices are allready supported (they used other vendor's ids in the past). The patch seems working fine here, and the rest of the driver seems uninfluenced. Signed-off-by: Enrico Mioso Signed-off-by: Greg Kroah-Hartman commit 2f1136d1d08a63dcdbcd462621373f30d8dfe590 Author: DJ Delorie Date: Fri Sep 17 11:09:06 2010 -0400 USB: cp210x: Add Renesas RX-Stick device ID RX610 development board by Renesas Bus 001 Device 024: ID 045b:0053 Hitachi, Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x045b Hitachi, Ltd idProduct 0x0053 bcdDevice 1.00 iManufacturer 1 Silicon Labs iProduct 2 RX-Stick iSerial 3 0001 . . . http://am.renesas.com/rx610stick Signed-off-by: DJ Delorie Cc: stable Signed-off-by: Greg Kroah-Hartman commit ffb6748fa988927270cafb4d0988e42545b35f82 Author: Keshava Munegowda Date: Tue Sep 14 04:40:01 2010 +0530 usb: omap: ohci: Missing driver unregister in module exit The un-registration of OHCI driver was not done in the ohci_hcd_mod_exit function. This was affecting rmmod command not to work for OMAP3 platforms. The platform driver un-registration for OMAP3 platforms is perfomed while removing the OHCI module from kernel. Signed-off-by: Keshava Munegowda Signed-of-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 3126d8236ca6f68eb8292c6af22c2e59afbeef24 Author: Rich Mattes Date: Tue Sep 14 00:35:40 2010 -0400 USB: ftdi_sio: Add PID for accesio products Adds support for Accesio USB to Serial adapters, which are built around FTDI FT232 UARTs. Tested with the Accesio USB-COM-4SM. Signed-off-by: Rich Mattes Cc: stable Signed-off-by: Greg Kroah-Hartman commit 82cef0b8bf90047ee10d6b826ca16630e4e80fae Author: Joe Perches Date: Mon Sep 13 21:23:58 2010 -0700 usb: host: oxu210hp-hcd: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 834e2312e7a384877a876b0d34dffc3046c96bcb Author: Alan Stern Date: Mon Sep 13 10:43:25 2010 -0400 USB: teach "devices" file about Wireless and SuperSpeed USB The /sys/kernel/debug/usb/devices file doesn't know about Wireless or SuperSpeed USB. This patch (as1416b) teaches it, and updates the Documentation/usb/proc_sub_info.txt file accordingly. Signed-off-by: Alan Stern CC: David Vrabel CC: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d3134c3b1a5d2a9dca2ddacacb5d08fad7941d8c Author: Andy Shevchenko Date: Mon Sep 13 11:24:52 2010 +0300 uwb: use '%pM' format to print MAC address Signed-off-by: Andy Shevchenko Cc: David Vrabel Signed-off-by: Greg Kroah-Hartman commit ecfa153ef616b901e86d9a051b329fcda7a6ce7b Author: Mauro Carvalho Chehab Date: Sun Sep 12 11:41:50 2010 -0300 USB: option: Add more ZTE modem USB id's There are lots of ZTE USB id's currently not covered by usb/serial. Adds them, to allow those devices to work properly on Linux. While here, put the USB ID's for 0x2002/0x2003 at the sorted order. This patch is based on zte.c file found on MF645. PS.: The ZTE driver is commenting the USB ID for 0x0053. It also adds, commented, an USB ID for 0x0026. Not sure why, but I think that 0053 is used by their devices in storage mode only. So, I opted to keep the comment on this patch. Signed-off-by: Mauro Carvalho Chehab Cc: stable Signed-off-by: Greg Kroah-Hartman commit c0109b8fd29d1e1623fc0455cdf00463052bb566 Author: Joe Perches Date: Sat Sep 11 22:10:58 2010 -0700 USB: gadget: Remove pr_ uses of KERN_ Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit e9137c2e44116a1fcb82bb99dc84318e792c150b Author: Javier Martinez Canillas Date: Thu Sep 9 17:31:29 2010 -0400 USB: isp1362-hcd: Removes CONFIG_USB_OTG dependent code, fix build breakage In today linux-next I got a compile error on usb/host/isp1362-hcd: drivers/usb/host/isp1362-hcd.c: In function ‘isp1362_hub_control’: drivers/usb/host/isp1362-hcd.c:1680: error: ‘ohci’ undeclared (first use in this function) The problem is when the CONFIG_USB_OTG option is enabled. ohci variable is never declared and there isn't any CONFIG_USB_OTG dependent code besides the portion defined in isp1362_hub_control. So I think that maybe USB OTG support is not needed/supported. This patch removes the CONFIG_USB_OTG dependent block so the driver can compile cleanly. Signed-off-by: Javier Martinez Canillas Cc: Mike Frysinger Cc: Lothar Wassmann Signed-off-by: Greg Kroah-Hartman commit 5c836e4d583701a5eecb288b5f131da39115f5ec Author: Roger Quadros Date: Wed Sep 8 13:48:44 2010 +0300 usb gadget: composite: prevent OOPS for non-standard control request The composite gadget will OOPS if the host sends a control request targetted to an interface of an un-configured composite device. This patch prevents this. The OOPS was observed during WHQL USB CV tests. With this patch, the device STALLs as per requirement. Failing test case: From host do the following. I used libusb-1.0 1) Set configuration to zero. libusb_control_transfer(device_handle, 0, /* standard OUT */ 0x9, /* setConfiguration */ 0, 0, NULL, 0, 0); 2) Query current configuratioan. libusb_control_transfer(device_handle, 0x80, /* standard IN*/ 0x8, /* getConfiguration */ 0, 0, data, 1, 0); 3) Send the non-standard ctrl transfer targetted to interface libusb_control_transfer(device_handle, 0x81, /* standard IN to interface*/ 0x6, /* getDescriptor */ 0x2300, 0, data, 0x12, 0); Signed-off-by: Roger Quadros Cc: stable Cc: David Brownell Cc: Michal Nazarewicz Cc: Robert Lukassen Cc: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit 3df7169e73fc1d71a39cffeacc969f6840cdf52b Author: Alan Stern Date: Fri Sep 10 16:37:05 2010 -0400 OHCI: work around for nVidia shutdown problem This patch (as1417) fixes a problem affecting some (or all) nVidia chipsets. When the computer is shut down, the OHCI controllers continue to power the USB buses and evidently they drive a Reset signal out all their ports. This prevents attached devices from going to low power. Mouse LEDs stay on, for example, which is disconcerting for users and a drain on laptop batteries. The fix involves leaving each OHCI controller in the OPERATIONAL state during system shutdown rather than putting it in the RESET state. Although this nominally means the controller is running, in fact it's not doing very much since all the schedules are all disabled. However there is ongoing DMA to the Host Controller Communications Area, so the patch also disables the bus-master capability of all PCI USB controllers after the shutdown routine runs. The fix is applied only to nVidia-based PCI OHCI controllers, so it shouldn't cause problems on systems using other hardware. As an added safety measure, in case the kernel encounters one of these running controllers during boot, the patch changes quirk_usb_handoff_ohci() (which runs early on during PCI discovery) to reset the controller before anything bad can happen. Reported-by: Pali RohĂ¡r Signed-off-by: Alan Stern CC: David Brownell Tested-by: Pali RohĂ¡r CC: stable Signed-off-by: Greg Kroah-Hartman commit 637ed74ff9e86d8c2979e430309a1fd28c921de9 Author: Dan Carpenter Date: Fri Sep 10 21:35:15 2010 +0200 USB: ohci-sm501: add iounmap on error path This ioremap() was leaked on an error path. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit 5c8db070b4480c43394680d9dfd2ddb06b97d2ae Author: Praveena Nadahally Date: Fri Sep 10 23:05:03 2010 +0530 USB: Change acm_iad_descriptor bFunctionProtocol to USB_CDC_ACM_PROTO_AT_V25TER The protocol code is set 00 in IAD and it's set to 01 in ACM control interface descriptor in f_acm.c file. Due to this, windows is unable to install the modem(ACM) driver based on class-subclass-protocol matching. This patch corrects the protocol code in ACM IAD to the same as in acm_control_interface_desc protocol code. Acked-by: Linus Walleij Signed-off-by: Praveena Nadahally Cc: stable Signed-off-by: Greg Kroah-Hartman commit 92d3489ec58b5897a407b07ad9954497a119d3d0 Author: Javier Martinez Canillas Date: Fri Sep 10 08:42:08 2010 -0400 USB: r8a66597-udc: Initialize uninitialized variable, fix compile warning In today linux-next I got a compile warning due a possible uninitialized variable This patch solves the issue initializing the variable Signed-off-by: Javier Martinez Canillas Cc: David Brownell Cc: Paul Mundt Cc: Magnus Damm Cc: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 56e9406ca22968e3c9dc27d6dc0f1825e13bfff9 Author: Hao Wu Date: Thu Sep 9 22:35:54 2010 +0100 USB OTG Langwell: Update OTG Kconfig and driver version. This patch updated Kconfig for langwell otg transceiver driver. Add ipc driver(INTEL_SCU_IPC) as a dependency. Driver version is updated too. Signed-off-by: Hao Wu Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d39a0edad60dc65cf4774ee732aa7a84cf35c27a Author: Hao Wu Date: Thu Sep 9 22:35:39 2010 +0100 USB OTG: Add common data structure for Intel MID Platform (Langwell/Penwell) This patch adds one new header file for the common data structure used in Intel Penwell/Langwell MID Platform OTG Transceiver drivers. After switched to the common data structure, Langwell/Penwell OTG Transceiver driver will provide an unified interface to host/client driver. Reported-by: Randy Dunlap Signed-off-by: Hao Wu Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5014b5e33a5485ab669ce536078c957ec221ade3 Author: Thomas Gleixner Date: Tue Sep 7 14:32:43 2010 +0000 usb: ftdi-elan: Convert "mutex" to semaphore The "mutex" ftdi->sw_lock is used as a lock and a completion. Convert it to a real semaphore which allows both. Signed-off-by: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman commit a1df4e45c81ec9ae6b537f845db48b82ab40ac4f Author: Mihai DonÈ›u Date: Wed Sep 8 02:54:02 2010 +0300 USB: gadget: rndis: fix up coding style issues in the file Corrected the coding style. Signed-off-by: Mihai Dontu Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 65fd42724aee31018b0bb53f4cb04971423be664 Author: Matthieu CASTET Date: Mon Sep 6 18:26:56 2010 +0200 USB: ehci tdi : let's tdi_reset set host mode tdi_reset is already taking care of setting host mode for tdi devices. Don't duplicate code in platform driver. Make ehci_halt a nop if the controller is not in host mode (otherwise it will fail), and let's ehci_reset do the tdi_reset. We need to move hcd->has_tt flags before ehci_halt, in order ehci_halt knows we are a tdi device. Before the setup routine was doing : - put controller in host mode - ehci_halt - ehci_init - hcd->has_tt = 1; - ehci_reset Now we do : - hcd->has_tt = 1; - ehci_halt - ehci_init - ehci_reset PS : now we handle correctly the device -> host transition. Signed-off-by: Matthieu CASTET Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit eabf0f5f09b1f1538d22c14aa0a703c11791bd1e Author: Michael Prokop Date: Mon Sep 6 09:53:48 2010 +0200 USB: Kconfig: fix typos in USB_FUNCTIONFS* description It's spelled "Function Filesystem" / "FunctionFS". This patch fixes some typos (FunctioFS->FunctionFS, Funcion->Function, funcion->function, redundant "as") in the Kconfig description of USB_FUNCTIONFS*. Signed-off-by: Michael Prokop Acked-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit d8087427ccefc0b3364735b96274375246fd452c Author: Alan Stern Date: Fri Sep 3 11:15:41 2010 -0400 USB: g_file_storage: don't generate automatic serial string This patch (as1413) changes g_file_storage to avoid generating a bogus automatic serial-number string descriptor. If the user doesn't provide a valid serial number via a module parameter then a warning is logged and the gadget won't have any serial string descriptor at all. Signed-off-by: Alan Stern Acked-by: David Brownell CC: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 10f47168721c0143f23e94eac2fc797aa643de39 Author: Joe Perches Date: Thu Sep 2 16:34:36 2010 +0200 USB: langwell: Remove unnecessary return's from void functions There are about 2500 void functions in drivers/usb Only a few used return; at end of function. Standardize them a bit. Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina Cc: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit f7dd64916bb6cfae8c96eaa3c754c30b5046586f Author: Simon Arlott Date: Mon Aug 30 22:50:20 2010 +0100 USB: output an error message when the pipe type doesn't match the endpoint type Commit f661c6f8c67bd55e93348f160d590ff9edf08904 adds a check of the pipe type if CONFIG_USB_DEBUG is enabled, but it doesn't output anything if this scenario occurs. Signed-off-by: Simon Arlott Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0cf7a6338808d702c256778188516a16805e6145 Author: Julia Lawall Date: Sat Aug 28 18:48:56 2010 +0200 USB: gadget: amd5536udc.c: Remove double test The same expression is tested twice and the result is the same each time. Instead test for use_dma_ppb as in the test above. The sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @expression@ expression E; @@ ( * E || ... || E | * E && ... && E ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 5ea081785dde6041eb2f4acc2369abbb9099a981 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:56 2010 +0200 init.h: add some more documentation to __ref* tags The __ref* tags may have been confusing for new kernel developers (I was confused by them for sure) so adding a few more sentences to comment to clear things up for people who see those for the first time. Signed-off-by: Michal Nazarewicz Acked-by: Uwe Kleine-König Acked-by: Sam Ravnborg Signed-off-by: Greg Kroah-Hartman commit c9bfff9c98671ad50e4abbfe1ab606a9957f7539 Author: Uwe Kleine-König Date: Thu Aug 12 17:43:55 2010 +0200 usb gadget: don't save bind callback in struct usb_configuration The bind function is most of the time only called at init time so there is no need to save a pointer to it in the configuration structure. This fixes many section mismatches reported by modpost. Signed-off-by: Uwe Kleine-König [m.nazarewicz@samsung.com: updated for -next] Signed-off-by: MichaÅ‚ Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 07a18bd716ed5dea336429404b132568cfaaef95 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:54 2010 +0200 usb gadget: don't save bind callback in struct usb_composite_driver The bind function is most of the time only called at init time so there is no need to save a pointer to it in the composite driver structure. This fixes many section mismatches reported by modpost. Signed-off-by: MichaÅ‚ Nazarewicz Acked-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit b0fca50f5a94a268ed02cfddf44448051ed9343f Author: Uwe Kleine-König Date: Thu Aug 12 17:43:53 2010 +0200 usb gadget: don't save bind callback in struct usb_gadget_driver To accomplish this the function to register a gadget driver takes the bind function as a second argument. To make things clearer rename the function to resemble platform_driver_probe. This fixes many section mismatches like WARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatch in reference from the variable printer_driver to the function .init.text:printer_bind() The variable printer_driver references the function __init printer_bind() All callers are fixed. Signed-off-by: Uwe Kleine-König [m.nazarewicz@samsung.com: added dbgp] Signed-off-by: MichaÅ‚ Nazarewicz Signed-off-by: Greg Kroah-Hartman commit e12995ec8f8d99f2a339541fc28998af2d60af0f Author: Michal Nazarewicz Date: Thu Aug 12 17:43:52 2010 +0200 USB: Revert "USB: gadget: section mismatch warning fixed" This reverts a commit which proposed an invalid solution for a section mismatch. Next 3 commits will fix it correctly. Conflicts: drivers/usb/gadget/mass_storage.c Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit a99d8a45bc2f495be45b8d417b795d7282a69091 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:49 2010 +0200 USB: gadget: g_multi: moved strings handling code to composite This patch removes some of the string registration from the Multifunction Composite Gadget as composite layer can handle the iManufacturer and iProduct for us. This also adds the "needs_serial" so that composite layer will issue a warning if user space fails to provide the iSerialNumber module parameter. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit 7c2b61d02c384a0d5867e524ae72ad98ec2d33fd Author: Michal Nazarewicz Date: Thu Aug 12 17:43:47 2010 +0200 USB: gadget: mass_storage: moved strings handling code to composite This patch removes string registration from the Mass Storage Gadget. With recent changes to the composite framework, all that we need is handled by the composite layer. This means composite registers a string ID for manufacturer and product. This also adds the "needs_serial" so that composite layer will issue a warning if user space fails to provide the iSerialNumber module parameter. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit ad1a8102f957f4d25fc58cdc10736c5ade7557e1 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:46 2010 +0200 USB: gadget: composite: Better string override handling The iManufatcurer, iProduct and iSerialNumber composite module parameters were only used when the gadget driver registers strings for manufacturer, product and serial number. If the gadget never bothered to set corresponding fields in USB device descriptors those module parameters are ignored. This commit makes the parameters work even if the strings ID have not been assigned. It also changes the way IDs are overridden -- what IDs are overridden is now saved in usb_composite_dev structure -- which makes it unnecessary to modify the string tables the way previous code did. The commit also adds a iProduct and iManufatcurer fields to the usb_composite_device structure. If they are set, appropriate strings are reserved and added to device descriptor. This makes it unnecessary for gadget drivers to maintain code for setting those. If iProduct is not set it defaults to usb_composite_device::name; if iManufatcurer is not set a default " with " is used. The last thing is that if needs_serial field of usb_composite_device is set and user failed to provided iSerialNumber parameter a warning is issued. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit fc19de61ef5c17b6e19766052c6ac85cf31de876 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:48 2010 +0200 USB: gadget: functionfs: code cleanup This patch removes some of the string registration from the FunctionFS Gadget as composite layer can handle the iManufacturer and iProduct for us. It also removes some of the module parameters which were redundant as well as changes the name of others to better much the module parameter of the composite layer. Other then that, it also fixes formatting of multiline comments to match the coding style. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit 9cfe745e652eacf57ffc7862b7b3ccbdf336ad19 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:51 2010 +0200 usb: gadget: mass_storage: optional SCSI WRITE FUA bit The nofua parameter (optionally ignore SCSI WRITE FUA) was added to the File Storage Gadget some time ago. This patch adds the same functionality to the Mass Storage Function. Signed-off-by: Michal Nazarewicz Cc: Andy Shevchenko Signed-off-by: Greg Kroah-Hartman commit 452ee0eb10bd3581cf667a1db18cb684889ce446 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:50 2010 +0200 usb: gadget: storage: remove nofua file when unbinding The dev_attr_nofua file was created during fsg_bind() but was never removed. Made it a bit more symmetrical and added code to remove the file in fsg_unbind(). Signed-off-by: Michal Nazarewicz Acked-by: Andy Shevchenko Signed-off-by: Greg Kroah-Hartman commit ba0534be935d7b24e5fdd6f82c443ee75abc9149 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:45 2010 +0200 USB: gadget: g_ffs: fixed vendor and product ID This patch fixes the vendor and product ID the gadget uses by replacing the temporary IDs that were used during development (which should never get into mainline) with proper IDs. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1c6529e92b7682573837e9c9eb7b5ba7a8216a88 Author: Michal Nazarewicz Date: Thu Aug 12 17:43:44 2010 +0200 USB: gadget: g_multi: fixed vendor and product ID This patch fixes the vendor and product ID the gadget uses by replacing the temporary IDs that were used during development (which should never get into mainline) with proper IDs. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4bec99174a5911457cddd87ceab4f5e038cc8141 Author: Wolfram Sang Date: Sun Aug 29 18:17:14 2010 +0200 USB: core: update comment to match current function name Found while debugging a USB problem and trying to find the mentioned function. Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 37b5801e16d2e192fe2b20f4af33aa8c6e8786f3 Author: Parirajan Muthalagu Date: Wed Aug 25 16:33:26 2010 +0530 USB Gadget: Verify VBUS current before setting the device self-powered bit Acked-by: David Brownell Acked-by: Linus Walleij Signed-off-by: Praveena Nadahally Signed-off-by: Parirajan Muthalagu Signed-off-by: Greg Kroah-Hartman commit 90593899de83a6e6fdea563d058acd2f4334e3f9 Author: Johan Hovold Date: Thu Aug 19 00:13:48 2010 +0200 USB: sam-ba: add driver for Atmel SAM Boot Assistant (SAM-BA) Add new driver to access the SAM-BA boot application of Atmel AT91SAM devices. The SAM-BA firmware cannot handle merged write requests so we cannot use the generic write implementation (which uses the port write fifo). Tested with the SAM-BA 2.10 tools and an Atmel at91sam9260-ek. Signed-off-by: Johan Hovold Tested-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit c6a76781da6b7ee2589a6ec87be30abdbc303384 Author: Dan Carpenter Date: Thu Aug 12 09:40:30 2010 +0200 USB: gadget: dbgp: cleanup: remove unneeded check len is always greater than or equal to zero here. First of all, it's type is unsigned and also we only assign it numbers which are greater than or equal to zero. Removing the check lets us pull everything in an indent level. Signed-off-by: Dan Carpenter Acked-by: Stephane duverger Signed-off-by: Greg Kroah-Hartman commit 912c93d1606f60932de3e2f31db3722a9f069ed9 Author: JiebingLi Date: Thu Aug 5 14:18:29 2010 +0100 USB: langwell: USB Client driver memory handling SRAM Memory handling for USB client function Signed-off-by: JiebingLi Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3211cbc20b406799423385cf62e1f1879b1ca8cc Author: JiebingLi Date: Thu Aug 5 14:18:21 2010 +0100 USB: langwell: USB Client Remote Wakeup Support Remote wakeup support in client driver. Made non-debug only this time. Signed-off-by: JiebingLi Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 513b91b688f527766bfe335d1ffd145257ad1624 Author: JiebingLi Date: Thu Aug 5 14:18:13 2010 +0100 USB: langwell: USB Client PHY low power mode setting PHY low power mode setting with a static function Signed-off-by: JiebingLi Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3eed298ffa94d77901cfda269c4368de83d133fb Author: JiebingLi Date: Thu Aug 5 14:18:05 2010 +0100 USB: langwell: USB Client Endpoint initialization Endpoint software structure initialization Signed-off-by: JiebingLi Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5f81f4b0c0a3db9e46a0e8041d7721117ac41956 Author: JiebingLi Date: Thu Aug 5 14:17:54 2010 +0100 USB: langwell: USB Client driver code cleanup Code cleanup by using standard debugging API's and USB inline functions Signed-off-by: JiebingLi Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f0ae849df1cd6b597130d890f2107ee31bf02c19 Author: Hao Wu Date: Thu Aug 5 14:17:28 2010 +0100 usb: Add Intel Langwell USB OTG Transceiver Driver This adds support for the USB transceiver driver in the Langwell chipset used on the Intel MID platforms. It folds up the original patch set which includes basic support for the device, PHY low power mode (Please notice that there is a limitation, after we drive VBus down, 2ms delay is required from SCU FW to sync up OTGSC register with USBCFG register), software timers (the hardware timers do not work in low power mode), HNP, SRP. Signed-off-by: Hao Wu Signed-off-by: Alek Du Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cd3ecad19aea8debae9a48b53de2ec7a571f24e9 Author: Daniel Drake Date: Wed Oct 20 16:00:48 2010 -0700 serial8250: ratelimit "too much work" error Running a serial console, if too many kernel messages are generated within a short time causing a lot of serial I/O, the 8250 driver will generate another kernel message reporting this, which just adds to the I/O. It has a cascading effect and quickly results the system being brought to its knees by a flood of "too much work" messages. Ratelimit the error message to avoid this. [akpm@linux-foundation.org: use the superior printk_ratelimited()] [akpm@linux-foundation.org: printk_ratelimited() needs ratelimit.h] Signed-off-by: Daniel Drake Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0dd25df1a4e63c078f357aaffb09789c9438378f Author: Sonic Zhang Date: Sat Oct 16 18:22:34 2010 -0400 serial: bfin_sport_uart: speed up sport RX sample rate to be 3% faster The actual uart baud rate of devices vary between +/-2% of what is asked. The SPORT RX sample rate should be faster than double of the worst case. Otherwise, wrong data may be received. So set SPORT RX clock to be 3% faster in general. Reported-by: Olivier STOCK Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit af7f3743567e3d5b40e2f9c21541b7f40b99c103 Author: Alan Cox Date: Mon Oct 18 11:38:02 2010 -0700 serial: abstraction for 8250 legacy ports Not every platform that has generic legacy 8250 ports manages to have them clocked the right way or without errata. Provide a generic interface to allow platforms to override the default behaviour in a manner that dumps the complexity in *their* code not the 8250 driver. Signed-off-by: Alan Cox Signed-off-by: Dirk Brandewie Acked-by: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman commit 4e4e66029af090c98cb10fafd13e8dd5039037a9 Author: Volker Ernst Date: Wed Oct 13 11:03:57 2010 +0200 serial/imx: check that the buffer is non-empty before sending it out The .start_tx callback (imx_start_tx here) isn't only called when the buffer is non-empty. E.g. after resume or when handshaking is enabled and the other side starts to signal being ready. So check for an empty puffer already before sending the first character. This prevents sending out stale (or uninitialised) data. Signed-off-by: Volker Ernst Signed-off-by: Daniel Mack Cc: Andy Green [ukl: reword commit log, put check in while condition] Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit e5586eccc9aaf485985480e4d3049acffaa3fa90 Author: Feng Tang Date: Thu Oct 14 17:47:35 2010 +0800 serial: mfd: add more baud rates support Add more baud rates support referring the baud_table[] defined in drivers/char/tty_ioctl.c: 3000000/2000000/1000000/500000 Signed-off-by: Feng Tang Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit abf4f6a51477a68fe144b0c62f10c410b0c41378 Author: Breno Leitao Date: Thu Oct 7 13:40:42 2010 -0300 jsm: Remove the uart port on errors If kzmalloc fails, the uart port is not removed causing a leak. This patch just add another label that removes the uart when the kzmalloc fails. Signed-off-by: Breno Leitao Signed-off-by: Greg Kroah-Hartman commit 7d172bfefb72a8dae56beff326299c5e21f6f6db Author: Manuel Lauss Date: Sat Sep 25 15:13:46 2010 +0200 Alchemy: Add UART PM methods. Custom UART PM hook for Alchemy chips: do standard UART pm and additionally en/disable uart block clocks as needed. This allows to get rid of a debug port PM hack in the Alchemy pm code. Tested on Db1200. Signed-off-by: Manuel Lauss Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c161afe9759ddcc174d08e7c4f683d08ac9ba86f Author: Manuel Lauss Date: Sat Sep 25 15:13:45 2010 +0200 8250: allow platforms to override PM hook. Add a hook for platforms to specify custom pm methods. Signed-off-by: Manuel Lauss Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 70eebd0b604989705f46697814e48fb4ea1d1bb9 Author: Anton Vorontsov Date: Fri Oct 1 17:23:13 2010 +0400 altera_uart: Don't use plain integer as NULL pointer Fixes sparse warning. Signed-off-by: Anton Vorontsov Cc: Alan Cox Acked-by: Tobias Klauser commit 5d89a48acfbaae02e7ecf97d4d8cc570a31964c5 Author: Anton Vorontsov Date: Fri Oct 1 17:22:55 2010 +0400 altera_uart: Fix missing prototype for registering an early console Simply add an early_altera_uart_setup() prototype declaration, otherwise platform code have to do it in .c files, which is ugly. Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 288e9feb51f428377d486e18a107c144554e5e40 Author: Anton Vorontsov Date: Fri Oct 1 17:22:37 2010 +0400 altera_uart: Fixup type usage of port flags port->flags is of type upf_t, which corresponds to UPF_* flags. ASYNC_BOOT_AUTOCONF is an unsigned integer, which happen to be the same as UPF_BOOT_AUTOCONF. Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 99793c660c811309ae4ca94cc9cf1c2f34940197 Author: Anton Vorontsov Date: Fri Oct 1 18:23:24 2010 +0400 altera_uart: Make it possible to use Altera UART and 8250 ports together This fixes tty name, major and minor numbers. The major number 204 is used across many platform-specific serial drivers, so we use that. Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0d426eda7c94d864ead913f7099c623521368443 Author: Anton Vorontsov Date: Fri Oct 1 17:21:54 2010 +0400 altera_uart: Add support for different address strides Some controllers implement registers with a stride, to support those we must implement the proper IO accessors. Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6b5756f176568a710d008d3b478128fafb6707f0 Author: Anton Vorontsov Date: Fri Oct 1 17:21:42 2010 +0400 altera_uart: Add support for getting mapbase and IRQ from resources This makes it much easier to integrate the driver with the rest of the Linux (e.g. MFD subsystem). The old method is still supported though. Also, from now on, there is one platform device per port (no changes are needed for the platform code, as no one registers the devices anywhere in-tree yet). Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox , Signed-off-by: Greg Kroah-Hartman commit 2f8b9c15cd88ce22bd80e6eb3988dbaa49f1efd3 Author: Anton Vorontsov Date: Fri Oct 1 17:21:33 2010 +0400 altera_uart: Add support for polling mode (IRQ-less) Some Altera UART implementations doesn't route the IRQ line, so we have to work in polling mode. Signed-off-by: Anton Vorontsov Acked-by: Tobias Klauser Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 54381067ed7873e6173d6fe32818a585ad667723 Author: Anton Vorontsov Date: Fri Oct 1 17:21:25 2010 +0400 serial: Factor out uart_poll_timeout() from 8250 driver Soon we will use that handy function in the altera_uart driver. Signed-off-by: Anton Vorontsov Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8ee16a1b8985ac930d293553f589b5894eb6a60e Author: Greg Kroah-Hartman Date: Wed Oct 6 13:29:44 2010 -0700 serial: mark the 8250 driver as maintained Clearly I have gone insane, so I might as well tell the world about it. Signed-off-by: Greg Kroah-Hartman commit 97d303b7657c1a45c158d002f829ff69196c493d Author: David Daney Date: Tue Oct 5 11:40:07 2010 -0700 serial: 8250: Don't delay after transmitter is ready. The loop in wait_for_xmitr() is delaying one extra uS after the ready condition has been met. Rewrite the loop to only delay if the transmitter is not ready. Signed-off-by: David Daney Signed-off-by: Greg Kroah-Hartman commit fd8b6cb4d820c4a717af1a0ac3ee387fd84571cf Author: Breno Leitao Date: Wed Oct 6 13:04:48 2010 -0300 tty: MAINTAINERS: add drivers/serial/jsm/ as maintained driver Soott Kilau is handing off the maintainership of the jsm serial driver to me, and this patch just add the driver as maintained. Signed-off-by: Breno Leitao Signed-off-by: Greg Kroah-Hartman commit 432c9ed22aff641039ccd400cdabf983fabc285e Author: Nicolas Pitre Date: Fri Oct 1 00:10:44 2010 -0400 vcs: invoke the vt update callback when /dev/vcs* is written to A notifier chain is called whenever the vt code modifies a terminal content, except for one case which is when the modification comes through writes to /dev/vcs* devices. Let's add the missing notifier invocation at the end of vcs_write() for that case too. Signed-off-by: Nicolas Pitre Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 47725ac76f51328d467b1430dfd027aba8706a11 Author: Nicolas Pitre Date: Tue Oct 5 14:22:37 2010 -0400 vcs: add poll/fasync support The /dev/vcs* devices are used, amongst other things, by accessibility applications such as BRLTTY to display the screen content onto refreshable braille displays. Currently this is performed by constantly reading from /dev/vcsa0 whether or not the screen content has changed. Given the default braille refresh rate of 25 times per second, this easily qualifies as the biggest source of wake-up events preventing laptops from entering deeper power saving states. To avoid this periodic polling, let's add support for select()/poll() and SIGIO with the /dev/vcs* devices. The implemented semantic is to report data availability whenever the corresponding vt has seen some update after the last read() operation. The application still has to lseek() back as usual in order to read() the new data. Not to create unwanted overhead, the needed data structure is allocated and the vt notification callback is registered only when the poll or fasync method is invoked for the first time per file instance. Signed-off-by: Nicolas Pitre Cc: Andrew Morton Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f4a3e0bceb57466c31757f25e4e0ed108d1299ec Author: Dr. Werner Fink Date: Wed Sep 22 12:45:40 2010 +0200 tty: Add a new file /proc/tty/consoles Add a new file /proc/tty/consoles to be able to determine the registered system console lines. If the reading process holds /dev/console open at the regular standard input stream the active device will be marked by an asterisk. Show possible operations and also decode the used flags of the listed console lines. Signed-off-by: Werner Fink Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a9e2e06015201c32c43d3615c9bf5e0d4efb4302 Author: Alan Cox Date: Fri Sep 24 15:49:18 2010 +0100 tty: Fix warning left over from TIOCGICOUNT changes Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0587102cf9f427c185bfdeb2cef41e13ee0264b1 Author: Alan Cox Date: Thu Sep 16 18:21:52 2010 +0100 tty: icount changeover for other main devices Again basically cut and paste Convert the main driver set to use the hooks for GICOUNT Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0bca1b913affbd7e2fdaffee62a499659a466eb5 Author: Alan Cox Date: Thu Sep 16 18:21:40 2010 +0100 tty: Convert the USB drivers to the new icount interface Simple pasting job using the new ops function. Also fix a couple of devices directly returning the internal struct (which happens at this point to match for the fields that matter but isn't correct or futureproof) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d281da7ff6f70efca0553c288bb883e8605b3862 Author: Alan Cox Date: Thu Sep 16 18:21:24 2010 +0100 tty: Make tiocgicount a handler Dan Rosenberg noted that various drivers return the struct with uncleared fields. Instead of spending forever trying to stomp all the drivers that get it wrong (and every new driver) do the job in one place. This first patch adds the needed operations and hooks them up, including the needed USB midlayer and serial core plumbing. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 68707539df1e9d12435e5d54ffedc7ded50fcd01 Author: Davidlohr Bueso Date: Mon Sep 13 12:08:11 2010 -0400 serial: max3107: Fix memory leaks when returning on error Fix memory leaks in max3107_probe() when returning on error. Signed-off-by: Davidlohr Bueso Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 91efa75ce14db63d1eb47a2935bc7332de243f8d Author: Alan Cox Date: Mon Sep 13 15:39:56 2010 +0800 serial: mrst_max3110: Make the IRQ option runtime And while we are at it allow it to fail to find one. Without this the IRQ option will cause the 3110 driver to fail on 0.7 SFI firmware. Acked-by: Feng Tang Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ee9b4500eb6433015f35762d390666fede48e574 Author: Feng Tang Date: Mon Sep 13 15:39:48 2010 +0800 serial: mrst_max3110: some code cleanup The cleanup for mrst_max3110 includes: * remove unneeded head files * make the spi_transfer dma safe, so that driver is more portable * add more check for error return value * use mutex_trylock for read thread Signed-off-by: Feng Tang Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b670bde0b2497966d76154cfb9706c38cf8348f9 Author: Vasiliy Kulikov Date: Sun Sep 5 22:32:22 2010 +0400 tty_io: check return code of tty_register_device Function tty_register_device may return ERR_PTR(...). Check for it. Signed-off-by: Vasiliy Kulikov Signed-off-by: Greg Kroah-Hartman commit df480518a688f0d28f7e7de69abe6a441d1c2c64 Author: Jiri Slaby Date: Fri Sep 3 10:31:37 2010 +0200 Char: mxser, call pci_disable_device from probe/remove Vasiliy found that pci_disable_device is not called on fail paths in mxser_probe. Actually, it is called from nowhere in the driver. There are three changes needed: 1) don't use pseudo-generic mxser_release_res. Let's use it only from ISA paths from now on. All the pci stuff is moved to probe and remove PCI-related functions. 2) reorder fail-paths in the probe function so that it makes sense and we can call them from the sequential code naturally (the further we are the earlier label we go to). 3) add pci_disable_device both to mxser_probe and mxser_remove. There is a nit of adding CONFIG_PCI ifdef to mxser_remove. it is because this driver supports ISA-only compilations and it would choke up on the newly added calls now. Signed-off-by: Jiri Slaby Cc: Kulikov Vasiliy Signed-off-by: Greg Kroah-Hartman commit 24b4b67d17c308aaa956b73ab1e88190f6642bbe Author: Samo Pogacnik Date: Wed Aug 25 20:44:07 2010 +0200 add ttyprintk driver Ttyprintk is a pseudo TTY driver, which allows users to make printk messages, via output to ttyprintk device. It is possible to store "console" messages inline with kernel messages for better analyses of the boot process, for example. Signed-off-by: Samo Pogacnik Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 891b9dd10764352926e1e107756aa229dfa2c210 Author: Jason Wang Date: Sat Aug 21 15:14:42 2010 +0800 serial-core: restore termios settings when resume console ports The commit 4547be7 rewrites suspend and resume functions. According to this rewrite, when a serial port is a printk console device and can suspend(without set no_console_suspend flag), it will definitely call set_termios function during its resume, but parameter termios isn't initialized, this will pass an unpredictable config to the serial port. If this serial port is not a userspace opened tty device , a suspend and resume action will make this serial port unusable. I.E. ttyS0 is a printk console device, ttyS1 or keyboard+display is userspace tty device, a suspend/resume action will make ttyS0 unusable. If a serial port is both a printk console device and an opened tty device, this issue can be overcome because it will call set_termios again with the correct parameter in the uart_change_speed function. Refer to the deleted content of commit 4547be7, revert parts relate to restore settings into parameter termios. It is safe because if a serial port is a printk console only device, the only meaningful field in termios is c_cflag and its old config is saved in uport->cons->cflag, if this port is also an opened tty device, it will clear uport->cons->cflag in the uart_open and the old config is saved in tty->termios. Signed-off-by: Jason Wang Acked-by: Stanislav Brabec Signed-off-by: Greg Kroah-Hartman commit ca2e71aa8cfb0056ce720f3fd53f59f5fac4a3e1 Author: Jason Wang Date: Sat Aug 21 15:14:41 2010 +0800 serial-core: skip call set_termios/console_start when no_console_suspend The commit 4547be7 rewrites suspend and resume functions, this introduces a problem on the OMAP3EVM platoform. when the kernel boots with no_console_suspend and we suspend the kernel, then resume it, the serial console will be not usable. This problem should be common for all platforms. The cause for this problem is that when enter suspend, if we choose no_console_suspend, the console_stop will be skiped. But in resume function, the console port will be set to uninitialized state by calling set_termios function and the console_start is called without checking whether the no_console_suspend is set, Now fix it. Signed-off-by: Jason Wang Acked-by: Stanislav Brabec Signed-off-by: Greg Kroah-Hartman commit d838016af3b15452043256acad0be63f215115ba Author: Jeff Mahoney Date: Fri Aug 20 17:14:11 2010 -0400 ioctl: Use asm-generic/ioctls.h on s390 (enables termiox) This patch converts s390 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - S390 defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCGRS485 and TIOCGRS485, which are unused by any driver available on this architecture - The generic version adds support for termiox Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 00c9c56f6b4c16237c5beb3a91325bf54a37be91 Author: Jeff Mahoney Date: Fri Aug 20 17:14:10 2010 -0400 ioctl: Use asm-generic/ioctls.h on mn10300 (enables termiox) This patch converts mn10300 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version provides TIOCGRS485 and TIOCSRS485 but they are unused by any driver available for this architecture. - The generic version adds support for termiox Cc: David Howells Cc: Koichi Yasutake Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit c3f38a7b3f019d32ef5cbe471cba7e0033102cad Author: Jeff Mahoney Date: Fri Aug 20 17:14:09 2010 -0400 ioctl: Use asm-generic/ioctls.h on m68k (enables termiox) This patch converts m68k to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - m68k defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCSRS485 and TIOCGRS485m which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 73352e4398917f3aced4ed162aed84bf0acc5313 Author: Jeff Mahoney Date: Fri Aug 20 17:14:08 2010 -0400 ioctl: Use asm-generic/ioctls.h on m32r (enables termiox) This patch converts m32r to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version adds TIOCGRS485 and TIOCGRS485, which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Hirokazu Takata Cc: Greg Kroah-Hartman Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit e207386865b958bdd331ad43b5150220e3a01806 Author: Jeff Mahoney Date: Fri Aug 20 17:14:07 2010 -0400 ioctl: Use asm-generic/ioctls.h on ia64 (enables termiox) This patch converts ia64 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version adds TIOCSRS485 and TIOCGRS485, which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Tony Luck Cc: Fenghua Yu Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 30b4b274e4699d7a8b265f53ccb1b7ca536c6394 Author: Jeff Mahoney Date: Fri Aug 20 17:14:06 2010 -0400 ioctl: Use asm-generic/ioctls.h on h8300 (enables termiox) This patch converts h8300 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - H8300 defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCSRS485 and TIOGSRS485, but are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Yoshinori Sato Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 4735d234954342b8f0f6cb20ce9aa35ffe83e712 Author: Jeff Mahoney Date: Fri Aug 20 17:14:05 2010 -0400 ioctl: Use asm-generic/ioctls.h on frv (enables termiox) This patch converts frv to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - FRV defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - FRV defines TIOCTTYGSTRUCT, kept in arch-specific version - The generic version provides TIOCGRS485 and TIOCSRS485 but they are unused by any driver available for this architecture. - The generic version adds support for termiox Cc: David Howells Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 8bc3372d9e57db3c65cf00cea6cf14969875b055 Author: Jeff Mahoney Date: Fri Aug 20 17:14:04 2010 -0400 ioctl: Use asm-generic/ioctls.h on cris (enables termiox) This patch converts cris to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - CRIS defines two ioctls: TIOCSERSETRS485 and TIOCSERWRRS485, kept in arch-specific portion - CRIS defines a different value for TIOCSRS485, kept via ifndef in generic - The generic version adds support for termiox Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 94da7d6f1ff3793669946146d9b6ab9c608b938e Author: Jeff Mahoney Date: Fri Aug 20 17:14:03 2010 -0400 ioctl: Use asm-generic/ioctls.h on avr32 (enables termiox) This patch converts avr32 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version adds support for termiox Acked-by: Haavard Skinnemoen Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit ccc14f5b9716a5ed4720c7c6af2afbe88dd24a02 Author: Jeff Mahoney Date: Fri Aug 20 17:14:02 2010 -0400 ioctl: Use asm-generic/ioctls.h on arm (enables termiox) This patch converts arm to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - ARM defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds support for termiox Reviewed-by: Russell King Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit f573bd1764f0f3f47754ca1ae7b2eb2909798a60 Author: Pekka Enberg Date: Tue Aug 24 07:48:34 2010 +0300 tty: Remove __GFP_NOFAIL from tty_add_file() This patch removes __GFP_NOFAIL use from tty_add_file() and adds proper error handling to the call-sites of the function. Cc: Andrew Morton Cc: Alan Cox Cc: Arnd Bergmann Signed-off-by: Pekka Enberg Acked-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 8a28af7f7e42cd0f107e0d84e4ece89e7ef24d3f Author: Michal Simek Date: Tue Aug 17 10:42:05 2010 +0200 serial: Add CONSOLE_POLL support for uartlite CONSOLE_POLL support for uartlite enables KGDB debugging over serial line. Signed-off-by: Michal Simek Signed-off-by: Jason Wessel Acked-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit a95898114059e1038f3f7ee9bd2e43aefa62709a Author: Dan Carpenter Date: Thu Aug 12 09:50:09 2010 +0200 serial: mfd: snprintf() returns largish values snprintf() returns the number of bytes which would have been written so it can be larger than the size of the buffer. In this case it's fine, but people copy and paste this code so I've fixed it. Signed-off-by: Dan Carpenter Acked-by: Feng Tang Signed-off-by: Greg Kroah-Hartman commit de838a93cbf35671f890360b886a5c2a8a5d1aa4 Author: Dmitry Eremin-Solenikov Date: Mon Aug 9 18:22:50 2010 +0400 serport: place serport serio device correctly in the device tree Make serport serio device to be a child of corresponding tty device instead of just hanging at /sys/devices/serioX. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 30004ac9c090dcdcca99556b4587b3bad828731a Author: Dmitry Eremin-Solenikov Date: Mon Aug 9 18:22:49 2010 +0400 tty: add tty_struct->dev pointer to corresponding device instance Some device drivers (mostly tty line disciplines) would like to have way know a struct device instance corresponding to passed tty_struct. Add a struct device pointer to struct tty_struct and populate it during initialize_tty_struct(). Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5abd935661e01289ba143c3b2c1ba300c65bcc5f Author: Mark Brown Date: Wed Oct 20 11:22:42 2010 -0700 driver core: Display error codes when class suspend fails Aid diagnostics by printing the error code from failed suspends, which doesn't otherwise seem to get displayed. Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman commit 07681215975e05a1454b0afdeef07deb0db626ee Author: Nathan Fontenot Date: Tue Oct 19 12:46:19 2010 -0500 Driver core: Add section count to memory_block struct Add a section count property to the memory_block struct to track the number of memory sections that have been added/removed from a memory block. This allows us to know when the last memory section of a memory block has been removed so we can remove the memory block. Signed-off-by: Nathan Fontenot Reviewed-by: Robin Holt Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit 2938ffbd466d2811a6012609684a2298eef35065 Author: Nathan Fontenot Date: Tue Oct 19 12:45:24 2010 -0500 Driver core: Add mutex for adding/removing memory blocks Add a new mutex for use in adding and removing of memory blocks. This is needed to avoid any race conditions in which the same memory block could be added and removed at the same time. Signed-off-by: Nathan Fontenot Reviewed-by: Robin Holt Reviewed-By: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit e4619c857d1d769b1172a75ba6b6ebd1186a9c58 Author: Nathan Fontenot Date: Tue Oct 19 12:44:20 2010 -0500 Driver core: Move find_memory_block routine Move the find_memory_block() routine up to avoid needing a forward declaration in subsequent patches. Signed-off-by: Nathan Fontenot Reviewed-by: Robin Holt Reviewed-By: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit 1ce873abed551a4a0f35e25af9eeec4efdcf341b Author: dann frazier Date: Fri Oct 15 10:14:34 2010 -0600 hpilo: Despecificate driver from iLO generation This driver supports iLO, iLO2 and iLO3. However, comments and Kconfig reference only iLO and iLO2. Let's just call it "iLO" to avoid having to update strings for each iLO generation. This is similar to the change made to hpwdt in commit 36e3ff44cebd7e46756dec88f30c982bebefdab7. Signed-off-by: dann frazier Signed-off-by: Greg Kroah-Hartman commit 63d027a63888e993545d10fdfe4107d543f01bca Author: Robin Holt Date: Wed Sep 29 14:00:56 2010 -0500 driver core: Convert link_mem_sections to use find_memory_block_hinted. Modify link_mem_sections() to pass in the previous mem_block as a hint to locating the next mem_block. Since they are typically added in order this results in a massive saving in time during boot of a very large system. For example, on a 16TB x86_64 machine, it reduced the total time spent linking all node's memory sections from 1 hour, 27 minutes to 46 seconds. Signed-off-by: Robin Holt To: Gary Hade To: Badari Pulavarty To: Ingo Molnar Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit 98383031ed77c6eb49ab612166fef9c0efe1604a Author: Robin Holt Date: Wed Sep 29 14:00:55 2010 -0500 driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted. Introduce a find_memory_block_hinted() which utilizes the recently added kset_find_obj_hinted(). Signed-off-by: Robin Holt To: Dave Hansen To: Matt Tolentino Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit c25d1dfbd403209025df41a737f82ce8f43d93f5 Author: Robin Holt Date: Wed Sep 29 14:00:54 2010 -0500 kobject: Introduce kset_find_obj_hinted. One call chain getting to kset_find_obj is: link_mem_sections() find_mem_section() kset_find_obj() This is done during boot. The memory sections were added in a linearly increasing order and link_mem_sections tends to utilize them in that same linear order. Introduce a kset_find_obj_hinted which is passed the result of the previous kset_find_obj which it uses for a quick "is the next object our desired object" check before falling back to the old behavior. Signed-off-by: Robin Holt To: Robert P. J. Day Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Greg Kroah-Hartman commit ead454feb6cbfe0fa6a1eeb30aa9abc338dacf62 Author: Randy Dunlap Date: Fri Sep 24 14:36:49 2010 -0700 driver core: fix build for CONFIG_BLOCK not enabled Fix build errors when CONFIG_BLOCK is not enabled: drivers/base/core.c: In function 'get_device_parent': drivers/base/core.c:634: error: 'block_class' undeclared (first use in this function) drivers/base/core.c: In function 'device_add_class_symlinks': drivers/base/core.c:723: error: 'block_class' undeclared (first use in this function) drivers/base/core.c: In function 'device_remove_class_symlinks': drivers/base/core.c:751: error: 'block_class' undeclared (first use in this function) Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7a868088ee48d1816c10f9be6d32aef4cf30bcf7 Author: matt mooney Date: Fri Sep 24 12:17:11 2010 -0700 driver-core: base: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Acked-by: WANG Cong Signed-off-by: Greg Kroah-Hartman commit 38f49a5132f24d29236820eb5c7dd956e47f94a3 Author: Eric W. Biederman Date: Mon Sep 20 00:57:03 2010 -0700 sysfs: only access bin file vm_ops with the active lock bb->vm_ops is a cached copy of the vm_ops of the underlying sysfs bin file, which means that after sysfs_bin_remove_file completes it is only longer valid to deference bb->vm_ops. So move all of the tests of bb->vm_ops inside of where we hold the sysfs active lock. Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit a6849fa1f7d7d7adbeb6a696beeabfa078acf173 Author: Eric W. Biederman Date: Mon Sep 20 00:56:27 2010 -0700 sysfs: Fail bin file mmap if vma close is implemented. It is not reasonably possible to wrap vma->close(). To correctly wrap close would imply calling close on any vmas that remain when sysfs_remove_bin_file is called. Finding the proper lists walking them getting the locking right etc, requires deep knowledge of the mm subsystem and as such would require assistence from the mm subsystem to implement. That assistence does not currently exist. Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 5fc6e9cbce3342379719fc0f8294c45bb888f5cc Author: Randy Dunlap Date: Sat Sep 18 13:23:08 2010 -0700 FW_LOADER: fix kconfig dependency warning on HOTPLUG Fix kconfig dependency warning for FW_LOADER. Lots of drivers select FW_LOADER without bothering to depend on HOTPLUG and/or without selecting HOTPLUG. A kernel builds fine when FW_LOADER is enabled, whether HOTPLUG is enabled or not, and a kernel config file (make oldconfig) is not changed by this patch. (Yes, drivers/base/firmware_class.c uses interfaces from linux/kobject.h, which does have some CONFIG_HOTPLUG dependencies, but this patch does not change that.) warning: (MICROCODE || MICROCODE_INTEL && MICROCODE || MICROCODE_AMD && MICROCODE || PCMCIA_LOAD_CIS && PCCARD && PCMCIA && EXPERIMENTAL || USB_IRDA && NET && IRDA && USB || BT_HCIBCM203X && NET && BT && USB || BT_HCIBFUSB && NET && BT && USB || BT_HCIBT3C && NET && BT && PCMCIA || BT_MRVL_SDIO && NET ... !STAGING_EXCLUDE_BUILD && USB && (X86 || ARM) && WLAN || DRM_NOUVEAU && STAGING && !STAGING_EXCLUDE_BUILD && DRM && PCI || TI_ST && STAGING && !STAGING_EXCLUDE_BUILD && RFKILL || DELL_RBU && X86) selects FW_LOADER which has unmet direct dependencies (HOTPLUG) (5200 byte line reduced a lot) Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit c66fdab64fd791bdd49fed4f5785643251ddf586 Author: Eric W. Biederman Date: Tue Sep 14 11:38:36 2010 -0700 uio: Statically allocate uio_class and use class .dev_attrs. Instead of adding uio class attributes manually after the uio device has been created and we have sent a uevent to userspace, use the class attribute mechanism. This removes races and makes the code simpler. At the same time don't bother to dynamically allocate a struct class for uio, just declare one statically. Less code is needed and it is easier to set the class parameters.tune the class Signed-off-by: Eric W. Biederman Reviewed-by: Thomas Gleixner Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 91960a46c658b719c03fba80f1c60a96393bbcfd Author: Eric W. Biederman Date: Tue Sep 14 11:38:06 2010 -0700 uio: Support 2^MINOR_BITS minors register_chrdev limits uio devices to 256 minor numbers which causes problems on one system I have with 384+ uio devices. So instead set UIO_MAX_DEVICES to the maximum number of minors and use alloc_chrdev_region to reserve the uio minors. The final result is that the code works the same but the uio driver now supports any minor the idr allocator comes up with. Signed-off-by: Eric W. Biederman Reviewed-by: Thomas Gleixner Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 6427a7655afd7f07dfa83736defd1d94656c83e5 Author: Eric W. Biederman Date: Tue Sep 14 11:37:36 2010 -0700 uio: Cleanup irq handling. Change the value of UIO_IRQ_NONE -2 to 0. 0 is well defined in the rest of the kernel as the value to indicate an irq has not been assigned. Update the calls to request_irq and free_irq to only ignore UIO_IRQ_NONE and UIO_IRQ_CUSTOM allowing the rest of the kernel's possible irq numbers to be used. Signed-off-by: Eric W. Biederman Reviewed-by: Thomas Gleixner Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 70a9156bad9d9d1476df35dde582b9f411bf5914 Author: Eric W. Biederman Date: Tue Sep 14 11:36:54 2010 -0700 uio: Don't clear driver data Currently uio sets it's driver data to NULL just as it is unregistering attributes. sysfs maks the guaranatee that it will not call attributes after device_destroy is called so this is unncessary and leads to lots of unnecessary code in uio.c Signed-off-by: Eric W. Biederman Reviewed-by: Thomas Gleixner Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 3d4f9d76b0641b7984f95982e390927fc5998ad6 Author: Eric W. Biederman Date: Tue Sep 14 11:36:27 2010 -0700 uio: Fix lack of locking in init_uio_class There is no locking in init_uio_class so multiple drivers can race and create multiple uio classes. Fix this by simplifying the code. In particular always register the uio class during module_init and make things simpler. Signed-off-by: Eric W. Biederman Reviewed-by: Thomas Gleixner Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit e52eec13cd6b7f30ab19081b387813e03e592ae5 Author: Andi Kleen Date: Wed Sep 8 16:54:17 2010 +0200 SYSFS: Allow boot time switching between deprecated and modern sysfs layout I have some systems which need legacy sysfs due to old tools that are making assumptions that a directory can never be a symlink to another directory, and it's a big hazzle to compile separate kernels for them. This patch turns CONFIG_SYSFS_DEPRECATED into a run time option that can be switched on/off the kernel command line. This way the same binary can be used in both cases with just a option on the command line. The old CONFIG_SYSFS_DEPRECATED_V2 option is still there to set the default. I kept the weird name to not break existing config files. Also the compat code can be still completely disabled by undefining CONFIG_SYSFS_DEPRECATED_SWITCH -- just the optimizer takes care of this now instead of lots of ifdefs. This makes the code look nicer. v2: This is an updated version on top of Kay's patch to only handle the block devices. I tested it on my old systems and that seems to work. Cc: axboe@kernel.dk Signed-off-by: Andi Kleen Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 39aba963d937edb20db7d9d93e6dda5d2adfdcdd Author: Kay Sievers Date: Sat Sep 4 22:33:14 2010 -0700 driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices This patch removes the old CONFIG_SYSFS_DEPRECATED_V2 config option, but it keeps the logic around to handle block devices in the old manner as some people like to run new kernel versions on old (pre 2007/2008) distros. Signed-off-by: Kay Sievers Cc: Jens Axboe Cc: Stephen Hemminger Cc: "Eric W. Biederman" Cc: Alan Stern Cc: "James E.J. Bottomley" Cc: Andrew Morton Cc: Alexey Kuznetsov Cc: Randy Dunlap Cc: Tejun Heo Cc: "David S. Miller" Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Ingo Molnar Cc: Peter Zijlstra Cc: David Howells Signed-off-by: Greg Kroah-Hartman commit 807508c8ff9af6ce8f25c5ca5f3eb06a8e7d3286 Author: Anton Vorontsov Date: Tue Sep 7 17:31:54 2010 +0400 base/platform: Simplifications for NULL platform data/resources handling There's no need to explicitly check for data and resources being NULL, as platform_device_add_{data,resources}() do this internally nowadays. This makes the code more linear and less indented. Signed-off-by: Anton Vorontsov Signed-off-by: Greg Kroah-Hartman commit 5cfc64ceb6222aabec640ba76e89529a8fc2c1f0 Author: Anton Vorontsov Date: Tue Sep 7 17:31:49 2010 +0400 base/platform: Safe handling for NULL platform data and resources Some users of platform_device_add_{data,resources}() assume that NULL data and resources will be handled specially, i.e. just ignored. But the platform core ends up calling kmemdup(NULL, 0, ...), which returns a non-NULL result (i.e. ZERO_SIZE_PTR), which causes drivers to oops on a valid code, something like: if (platform_data) stuff = platform_data->stuff; This patch makes the platform core a bit more safe for such cases. Signed-off-by: Anton Vorontsov Signed-off-by: Greg Kroah-Hartman commit 87544653abe4a03324bc85dae32d5bdaabcfccef Author: Greg Kroah-Hartman Date: Tue Sep 21 06:39:23 2010 -0700 debugfs: mark me as the maintainer Add DEBUGFS information to my MAINTAINERS entry as some people have asked about this recently. Signed-off-by: Greg Kroah-Hartman commit da0d7f982d538f4a5bcdddb84df4a484a3b1770b Author: Greg Kroah-Hartman Date: Wed Sep 1 18:06:09 2010 -0700 pch_phub: fix build warnings This patch fixes up all of the build warnings for the pch_phub driver. Cc: Masayuki Ohtake Signed-off-by: Greg Kroah-Hartman commit cf4ece53460c64a04a643ef13f6b6cb4bf3a8342 Author: Masayuki Ohtak Date: Wed Sep 1 21:16:30 2010 +0900 add Packet hub driver for Topcliff Platform controller hub Packet hub driver of Topcliff PCH Topcliff PCH is the platform controller hub that is going to be used in Intel's upcoming general embedded platform. All IO peripherals in Topcliff PCH are actually devices sitting on AMBA bus. Packet hub is a special converter device in Topcliff PCH that translate AMBA transactions to PCI Express transactions and vice versa. Thus packet hub helps present all IO peripherals in Topcliff PCH as PCIE devices to IA system. Topcliff PCH has MAC address and Option ROM data. These data are in SROM which is connected to PCIE bus. Packet hub driver of Topcliff PCH can access MAC address and Option ROM data in SROM via sysfs interface. Signed-off-by: Greg Kroah-Hartman commit c64a0926710153b9d44c979d2942f4a8648fd74e Author: Kevin Hilman Date: Wed Aug 25 12:50:00 2010 -0700 driver core: platform_bus: allow runtime override of dev_pm_ops Currently, the platform_bus allows customization of several of the busses dev_pm_ops methods by using weak symbols so that platform code can override them. The weak-symbol approach is not scalable when wanting to support multiple platforms in a single kernel binary. Instead, provide __init methods for platform code to customize the dev_pm_ops methods at runtime. NOTE: after these dynamic methods are merged, the weak symbols should be removed from drivers/base/platform.c. AFAIK, this will only affect SH and sh-mobile which should be converted to use this runtime approach instead of the weak symbols. After SH & sh-mobile are converted, the weak symobols could be removed. Tested on OMAP3. Cc: Magnus Damm Acked-by: Grant Likely Signed-off-by: Kevin Hilman Signed-off-by: Greg Kroah-Hartman commit 1037246cacd45d951227c8798f181b3ba5c8bcbe Author: Kulikov Vasiliy Date: Tue Aug 3 19:44:23 2010 +0400 uio: do not use PCI resources before pci_enable_device() IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // Signed-off-by: Kulikov Vasiliy Acked-by: Michael S. Tsirkin Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit d79d32440c33cf60f1e0efbeb8144b1647be0b50 Author: Patrick Pannuto Date: Fri Aug 6 17:12:41 2010 -0700 driver core: platform: Use drv->driver.bus instead of assuming platform_bus_type In theory (although not *yet* in practice), a driver being passed to platform_driver_probe might have driver.bus set to something other than platform_bus_type. Locking drv->driver.bus is always correct. Signed-off-by: Patrick Pannuto Signed-off-by: Greg Kroah-Hartman commit 6a5c083de2f5fbf89a4b0a251be2c2205434d7ea Author: Thomas Renninger Date: Fri Aug 6 16:11:03 2010 +0200 Dynamic Debug: Initialize dynamic debug earlier via arch_initcall Having the ddebug_query= boot parameter it makes sense to set up dynamic debug as soon as possible. I expect sysfs files cannot be set up via an arch_initcall, because this one is even before fs_initcall. Therefore I splitted the dynamic_debug_init function into an early one and a later one providing /sys/../dynamic_debug/control file. Possibly dynamic_debug can be initialized even earlier, not sure whether this still makes sense then. I picked up arch_initcall as it covers quite a lot already. Dynamic debug needs to allocate memory, therefore it's not easily possible to set it up even before the command line gets parsed. Therefore the boot param query string is stored in a temp string which is applied when dynamic debug gets set up. This has been tested with ddebug_query="file ec.c +p" and I could retrieve pr_debug() messages early at boot during ACPI setup: ACPI: EC: Look up EC in DSDT ACPI: EC: ---> status = 0x08 ACPI: EC: transaction start ACPI: EC: <--- command = 0x80 ACPI: EC: ~~~> interrupt ACPI: EC: ---> status = 0x08 ACPI: EC: <--- data = 0xa4 ... ACPI: Interpreter enabled ACPI: (supports S0 S3 S4 S5) ACPI: Using IOAPIC for interrupt routing ACPI: EC: ---> status = 0x00 ACPI: EC: transaction start ACPI: EC: <--- command = 0x80 Signed-off-by: Thomas Renninger Acked-by: jbaron@redhat.com Acked-by: Pekka Enberg CC: linux-acpi@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit a648ec05bb950fae2f35d0490ddd6cf15010af72 Author: Thomas Renninger Date: Fri Aug 6 16:11:02 2010 +0200 Dynamic Debug: Introduce ddebug_query= boot parameter Dynamic debug lacks the ability to enable debug messages at boot time. One could patch initramfs or service startup scripts to write to /sys/../dynamic_debug/control, but this sucks. This patch makes it possible to pass a query in the same format one can write to /sys/../dynamic_debug/control via boot param. When dynamic debug gets initialized, this query will automatically be applied. Signed-off-by: Thomas Renninger Acked-by: jbaron@redhat.com Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit fd89cfb8718753459fcea3fe6103d19de5e86c9b Author: Thomas Renninger Date: Fri Aug 6 16:11:01 2010 +0200 Dynamic Debug: Split out query string parsing/setup from proc_write The parsing and applying of dynamic debug strings is not only useful for /sys/../dynamic_debug/control write access, but can also be used for boot parameter parsing. The boot parameter is introduced in a follow up patch. Signed-off-by: Thomas Renninger Acked-by: jbaron@redhat.com Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit c7f572168fc4840727c9bda955b7f103922209cd Author: Clemens Ladisch Date: Fri Oct 22 18:20:48 2010 +0200 ALSA: usb-audio: add Novation Launchpad support Add a quirk entry for the Novation Launchpad USB MIDI controller. QUIRK_MIDI_FASTLANE gets renamed to *_RAW_BYTES because this quirk type is now shared by different devices. Signed-off-by: Clemens Ladisch Tested-by: Jakob Flierl Signed-off-by: Takashi Iwai commit 36845d09b93ff04b1c26c47f2c278dd779462468 Author: Dominik Brodowski Date: Fri Oct 22 18:39:23 2010 +0200 pcmcia: fix ni_daq_700 compilation Reported-by: Anca Emanuel Signed-off-by: Dominik Brodowski commit 91151240ed8e97cc4457dae4094153c2744f1eb8 Merge: 211baf4 fe8e0c2 Author: Linus Torvalds Date: Fri Oct 22 08:54:21 2010 -0700 Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, 32-bit: Align percpu area and irq stacks to THREAD_SIZE x86: Move alloc_desk_mask variables inside ifdef x86-32: Align IRQ stacks properly x86: Remove CONFIG_4KSTACKS x86: Always use irq stacks Fixed up trivial conflicts in include/linux/{irq.h, percpu-defs.h} commit 211baf4ffc6e78a2299bb4215264ada313048ec5 Merge: c19483c 995bd3b Author: Linus Torvalds Date: Fri Oct 22 08:47:45 2010 -0700 Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Hpet: Avoid the comparator readback penalty commit c19483cc5e56ac5e22dd19cf25ba210ab1537773 Author: Alan Cox Date: Fri Oct 22 14:11:26 2010 +0100 bluetooth: Fix missing NULL check Fortunately this is only exploitable on very unusual hardware. [Reported a while ago but nothing happened so just fixing it] Signed-off-by: Alan Cox Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 62b7e5e09bcb854ff05e6ee1aa161f8283dc36ee Author: Takashi Iwai Date: Fri Oct 22 17:15:47 2010 +0200 ALSA: hda - Add workarounds for CT-IBG controllers Creative IBG controllers require the playback stream-tags to be started from 1, instead of capture+1. Otherwise the stream stalls. Reported-by: Wai Yew CHAY Cc: Signed-off-by: Takashi Iwai commit a74ccea51d4314632a81d568d59bf885e5b09d93 Author: Clemens Ladisch Date: Fri Oct 22 15:52:34 2010 +0200 ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs The bit value set for TLV mute was wrong in commit de8c85f7840e5e29629de95f5af24297fb325e0b, which resulted in bogus dB ranges that screw up PulseAudio. Corrected with the right constant. Signed-off-by: Takashi Iwai commit 005a1d15f5a6b2bb4ada80349513effbf22b4588 Author: Jens Axboe Date: Fri Oct 22 10:58:33 2010 +0200 xen-blkfront: disable barrier/flush write support The driver doesn't handle empty flushes. Disable barrier/flush write support until this is fixed up. Signed-off-by: Jens Axboe commit 07bd8516a2f967aa67904c68ab97bb896a448b09 Author: Jan Beulich Date: Fri Oct 22 08:22:35 2010 +0100 x86, asm: Restore parentheses around one pushl_cfi argument These were (intentionally) stripped by "fix CFI macro invocations to deal with shortcomings in gas" to expose problems with unexpected splitting of arguments by older gas also on newer versions, but as it turns out there is at least one distro (Ubuntu 6.06) where even not having *any* spaces in a macro argument doesn't reliably prevent splitting into multiple arguments. Signed-off-by: Jan Beulich Acked-by: Alexander van Heukelum LKML-Reference: <4CC157DB020000780001E8A2@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit a22dcdb0032c78c6b443f6897d7ac432a3b5a272 Author: Alexander van Heukelum Date: Thu Oct 21 23:30:49 2010 +0200 x86, asm: Fix ancient-GAS workaround It turns out to generate something like this: printk ( ("<3>") "something"); The extra parentheses here break the UML compile. Change the sed-program to add the parentheses only for numbers. Reported-by: Ingo Molnar Signed-off-by: Alexander van Heukelum Acked-by: Jan Beulich LKML-Reference: <1287696649.20421.1401306095@webmail.messagingengine.com> Signed-off-by: Ingo Molnar commit 5cc1c567c1106c22cee3b069c440da3f85f637f0 Author: Mike Frysinger Date: Wed Sep 22 02:46:44 2010 +0000 Blackfin: bf526-ezbrd/bf527-ezkit: add NAND partition for u-boot Since these boards can boot out of NAND, make sure we give u-boot its own partition by default to avoid clobbering it. Signed-off-by: Mike Frysinger commit 46284cd6bfc99a38165c41651477ec6497aa38ec Author: Sonic Zhang Date: Mon Sep 20 11:06:18 2010 +0000 Blackfin: merge kernel init memory back into main memory region If the kernel's init section is merged back into the main memory region during boot (which it should since that is how we've laid out the kernel linker map), we want to make sure that these aren't counted as independent regions. Otherwise, if a large mapping is attempted which starts in the init region and extends into the main memory region, the access_ok func will deny it. This leads to weird messages during runtime like "unable to map xxx library" from the ldso but upon running the application again, everything works fine. So if the address of the end of the init region is the same as the start of the main memory region, simply enlarge the memory region to include the init region. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 05bbec38dbafa60583be8347dea88919d48cc733 Author: steven miao Date: Fri Sep 17 03:03:17 2010 +0000 Blackfin: gpio: add peripheral group check Many Blackfin parts group sets of pins into a single functional unit. This means you cannot use different pins within a group for different peripherals. Our resource conflict checking thus far has been limited to individual pins, so if someone tried to grab a different pin from the same group, it would be allowed while silently changing the other pins in the same group. One common example is the pin set PG12 - PG15 on BF51x parts. They may either be used with SPI0 (1st function), or they may be used with PTP/PWM/AMS3 (3rd function). Ideally, we'd like to use PG12 - PG14 for SPI0 while using PG15 with AMS3, but the hardware does not permit this. In the past, the software would allow the pins to be requested this way, but ultimately things like the Blackfin SPI driver would stop working when the hardware rerouted to a different peripheral. Signed-off-by: steven miao Signed-off-by: Mike Frysinger commit a71159b96a210d3e4d9bd24dd21278aa29770e9d Author: Mike Frysinger Date: Tue Sep 7 20:07:58 2010 +0000 Blackfin: dma: bf54x: add missing break for SPORT1 TX IRQ Reported-by: D Binderman Signed-off-by: Mike Frysinger commit 99a5b2878b56d24919eb7e646f2d8e02f63a6efc Author: Sonic Zhang Date: Mon Sep 6 10:16:04 2010 +0000 Blackfin: add new cacheflush syscall Flushing caches sometimes requires anomaly workarounds which require supervisor-only insns. Normally we don't need to flush caches from userspace so this isn't a problem, but when gcc generates trampolines on the stack, we do. So add a new syscall for gcc to use modeled after the mips version. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 73775b892ee70bdc0dbd6aeeebb50894d062f9a1 Author: Mike Frysinger Date: Fri Aug 27 20:43:39 2010 +0000 Blackfin: bf548-ezkit: increase u-boot partition size The BF54x processor has a ton of on-chip peripherals and in order to support them all, the u-boot image is quite large. So give it 512KiB in all bootable flashes to make our lives easier. Signed-off-by: Mike Frysinger commit 39d3c1ca1f9482faa7d216c09553a6b81b955930 Author: steven miao Date: Thu Aug 26 08:25:13 2010 +0000 Blackfin: boards: add example i2c resources for ad525x devices Signed-off-by: steven miao Signed-off-by: Mike Frysinger commit bedeea6e3bdca8ccb455aef11d9db23911af3863 Author: Michael Hennerich Date: Fri Aug 20 11:59:27 2010 +0000 Blackfin: SIC: fix off-by-one error in loop Make sure we include EMAC_SYSTAT when showing errors. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 948ca1a788e948379c7164e2cc08797929f17258 Author: Sonic Zhang Date: Wed Aug 18 09:17:25 2010 +0000 Blackfin: bf537-stamp: tweak i2c address for ad5280 add-on tftlcd board The predefined i2c address 0x2c doesn't match the configuration of the ad5280 PINs AD0 and AD1 on the tftlcd add-on board. Both AD0 and AD1 are of voltage 3.3V, which means the i2c address should be 0x2F. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 8060bb6f59c9a7b8621cf4d6ca999d9f75f203cb Author: Mike Frysinger Date: Mon Aug 16 16:18:12 2010 +0000 Blackfin: bf51x: enable support for 0.2 silicon Signed-off-by: Mike Frysinger commit 33ded95b1ca5ebd27a762cabaee63f50eb46dcd6 Author: Barry Song Date: Thu Aug 12 07:56:40 2010 +0000 Blackfin: initial preempt support while returning from interrupt Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit c0ab9387456d7660dead96ce1b5463741f087db1 Author: Robin Getz Date: Fri Jul 9 17:29:26 2010 +0000 Blackfin: workaround anomaly 05000481 (corruption with ITEST MMRs) Nothing actually needs to use these MMRs (as direct cache manipulation is done with the DTEST MMRs), so simply hide the read funcs behind the anomaly define. They're generally unusable anyways when this anomaly is in effect. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3d7dc8836a0f08cbe6d8d499ddce05809b687f58 Author: Mike Frysinger Date: Fri Jul 2 21:02:50 2010 +0000 Blackfin: i2c-gpio boards: use GPIO_PF# defines Rather than use raw numbers for the GPIO pins, use proper GPIO defines. Signed-off-by: Mike Frysinger commit 41c3e3346ab8e5caf9e76395bd812fac884ad371 Author: Barry Song Date: Tue Jun 29 08:43:38 2010 +0000 Blackfin: access_ok: permit L1 stack When apps run with their stack in L1, some system calls might be made where a buffer is in the stack as an argument. So make sure the core Blackfin access code does not reject this memory location. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 027285e86fca48f1af3ed8b86a5c03453766f5ca Author: Barry Song Date: Mon Jun 28 08:39:37 2010 +0000 Blackfin: bf561-ezkit: add AD1836 codec resources This board has an AD1836 codec, so make sure we have the right resources declared for it. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 175671e75c54cf4b17c71d9c99151dd5635964b1 Author: Barry Song Date: Mon Jun 21 10:19:50 2010 +0000 Blackfin: ptrace: enable access to L1 stacks If an app is placing its stack in L1 scratchpad SRAM, make sure ptrace is granted access to it so that gdb can do its thing. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit c5af5451fcf97f38f0c79cbb9f929af2779f234d Author: Mike Frysinger Date: Wed Jun 16 19:29:51 2010 +0000 Blackfin: boards: fix num_chipselect values for on-chip SPI buses The num_chipselect field for on-chip Blackfin SPI buses is supposed to be 1 larger than the number of actual CSs available. This is because the hardware starts counting at 1 and not 0. There is a field for "CS0", but it is marked as "reserved" everywhere. Signed-off-by: Mike Frysinger commit 8effc4a68bfc341764a2e3f3006c6dc8e67e9a67 Author: Michael Hennerich Date: Tue Jun 15 09:51:05 2010 +0000 Blackfin: ad7160eval: new board port Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 27e9f0b43600c19bb244aed588fbc25ba92d6343 Author: Sonic Zhang Date: Wed Jun 2 08:24:18 2010 +0000 Blackfin: bf537-stamp: re-use regulator framework with ad5398 parts We don't need our own header and structure to hook up the ad5398 part, so drop the custom resources for it. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 1b04cbeabdbda802c53f4bf85cd9db0c82643152 Author: Sonic Zhang Date: Wed Jun 2 05:00:21 2010 +0000 Blackfin: bf537-stamp: re-use the fixed regulator voltage driver Rather than write our own ADP switch driver, use the existing fixed regulator driver and rewrite the platform resources accordingly. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2adcf194cbf3ec5181efa8e7af180e2c9f1a63e2 Author: Michael Hennerich Date: Fri May 21 13:20:38 2010 +0000 Blackfin: SIC: BF537: change default data/error relative priorities Some peripherals might generate an error interrupt shortly after the data interrupt due to the fact that the peripheral isn't serviced fast enough. In most cases this isn't a problem and is expected behavior. This hasn't been a problem on most parts since you simply don't request the error interrupt (or you leave it disabled while there is an expected state) and do the peripheral status checking in the data interrupt. The Blackfin SIC allows people to prioritize data and error interrupts, and the Blackfin CEC allows interrupts of equal or higher priority to nest. The current default settings gives error interrupts a higher priority than data interrupts. So if an error occurs while processing the data interrupt, it will be serviced immediately. However, the error interrupt on the BF537 SIC cannot be enabled on a per-peripheral basis. Once the error interrupt is enabled for one peripheral, it is automatically enabled for all peripherals. Therefore lower the default multiplexed error interrupt priority so most people need not worry themselves with this issue. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 0891baef7d2e1777b81e780c3b8cfcc169d6979f Author: Michael Hennerich Date: Mon Mar 8 11:58:53 2010 +0000 Blackfin: bf537-stamp: add example IIO resources Signed-off-by: Michael Hennerich Signed-off-by: Sonic Zhang Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 6fbfa0c41878a5284156d4678dc514c92524e0b9 Author: Barry Song Date: Mon Apr 12 05:04:15 2010 +0000 Blackfin: bf537-stamp: use correct spi mode with ad2s90 parts Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 3cbcb1616c071543525e2ef2fab439848c8bac88 Author: Cliff Cai Date: Thu Apr 22 05:55:56 2010 +0000 Blackfin: bf537-stamp: add example adau1373 i2c resources Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger commit a65912ca57886fcfd2568e422fbc58f91b015c9e Author: Yi Li Date: Tue Apr 6 05:53:16 2010 +0000 Blackfin: bf537-stamp: add example adav801/3 resources Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 92b20f7fb28e541d7f8efb4e3e8d81733aa8adfc Author: Barry Song Date: Wed Mar 17 08:12:30 2010 +0000 Blackfin: bf537-stamp: add example ad1937 i2c resources Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 67d9963bd79b8f861387982ac5c0ff796f12be61 Author: Mike Frysinger Date: Tue Mar 16 14:28:44 2010 +0000 Blackfin: bf537-stamp: fix NAND resources The NAND platform driver expects the registers to have a "mem" resource type rather than "io". Signed-off-by: Mike Frysinger commit 9e75894c50d126bf3c8efb0efc91d5a93d6163dd Author: Michael Hennerich Date: Thu Mar 18 12:51:49 2010 +0000 Blackfin: boards: use proper irq flags with isp1362-hcd With the recent kernel update the isp1362-hcd driver evaluates the IORESOURCE_IRQ resource flags and requests the irq with the given polarity/edge settings. However the ISP1362 config requires low level/edge interrupts. Most of the Blackfin boards use some random flag or no flag at all. Make all boards use a know good flag IORESOURCE_IRQ_LOWEDGE. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 657bb918d91d8e291f7c40e4a101c44b53fe25fa Author: Valentin Yakovenkov Date: Tue Mar 16 13:01:50 2010 +0000 Blackfin: bf561-acvilon: fix NAND resources The NAND platform driver expects the registers to have a "mem" resource type rather than "io". Signed-off-by: Valentin Yakovenkov Signed-off-by: Mike Frysinger commit bf80caf4f14010f73cd4f14b49bba8fe6ae94046 Author: Michael Hennerich Date: Fri Apr 16 13:53:23 2010 +0000 Blackfin: cm-bf548: add support for Socket CAN Add platform resources for the on-chip CAN peripheral so we can use it. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b4627321e18582dcbdeb45d77df29d3177107c65 Author: Vivek Goyal Date: Fri Oct 22 09:48:43 2010 +0200 cfq-iosched: Fix a gcc 4.5 warning and put some comments - Andi encountedred following warning with gcc 4.5 linux/block/cfq-iosched.c: In function ‘cfq_dispatch_requests’: linux/block/cfq-iosched.c:2156:3: warning: array subscript is above array bounds - Warning happens due to following code. slice = group_slice * count / max_t(unsigned, cfqg->busy_queues_avg[cfqd->serving_prio], cfq_group_busy_queues_wl(cfqd->serving_prio, cfqd, cfqg)); gcc is complaining about cfqg->busy_queues_avg[] being indexed by CFQ prio classes (RT, BE and IDLE) while the array size is only 2. - At run time, we never access cfqg->busy_queues_avg[IDLE] and return from function before this code hits. - To fix warning increase the array size though it will remain unused. This patch also puts some comments to clarify some of the confusions. - I have taken Jens's patch and modified it a bit. - Compile tested with gcc 4.4 and boot tested. I don't have gcc 4.5 running, Andi can you please test it with gcc 4.5 to make sure it worked. Reported-by: Andi Kleen Signed-off-by: Vivek Goyal Acked-by: Jeff Moyer Signed-off-by: Jens Axboe commit 7ba80063e90302287625a105c546c2fc318fcfbf Author: Barry Song Date: Thu Jan 28 09:37:21 2010 +0000 Blackfin: boards: update AD183x resources Make sure we use the right Kconfig names and platform strings. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit f9f0e3b1f7ac4e9fa822e87dd4bbb38f8c389487 Author: Barry Song Date: Tue Nov 17 09:45:59 2009 +0000 Blackfin: bf537-stamp: update GPIO CS devices Now that we've rewritten the GPIO CS handling in the Blackfin SPI peripheral, we need to update the platform resources accordingly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 3d6437b35d68836b6ec4d45a24dfdafc61a27a84 Author: Mike Frysinger Date: Thu Oct 15 04:13:29 2009 +0000 Blackfin: punt short SPI MMR bit names Now that the common header defines everything and the SPI drivers are using it, we can drop these duplicated global namespace polluters. Signed-off-by: Mike Frysinger commit 779b7e64b536ff65bcd40c0292871d2bb9b6d6e5 Author: Thorsten Glaser Date: Sun Oct 3 18:48:51 2010 +0000 m68k: Add missing I/O macros {in,out}{w,l}_p() for !CONFIG_ISA On m68k, I/O macros like inb() outw() etc. are only defined to something useful if CONFIG_ISA is set; dummies are in place if not, but four macros were missing from the !CONFIG_ISA case. Adding these makes some drivers, such as speakup, compile again. Signed-off-by: Thorsten Glaser Signed-off-by: Geert Uytterhoeven commit 2f81a18446c3061b74f4770eb95adeba2a864b0f Author: Geert Uytterhoeven Date: Tue Sep 14 21:34:58 2010 +0200 m68k: Remove big kernel lock in cache flush code The cache flush code doesn't need a lock, so we can remove the use of the BKL. Signed-off-by: Geert Uytterhoeven Reported-by: Arnd Bergmann Suggested-by: Andreas Schwab commit 22e58f9de5d140116eb3a30d5e54396e3030bed2 Author: Andrew Morton Date: Sat Oct 2 19:32:41 2010 +0200 m68k: __pa(): cast arg to long Fixes this: drivers/char/mem.c: In function 'mmap_kmem': drivers/char/mem.c:342: warning: cast to pointer from integer of different size by doing what other archtiectures do. Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit 8ce71db25edccde4d8e3e39bffb4178bf1018ef1 Author: Christian Dietrich Date: Mon Sep 6 16:36:47 2010 +0200 fbdev: atafb - Remove undead ifdef ATAFB_FALCON The ATAFB_FALCON ifdef isn't necessary at this point, because it is checked in an outer ifdef level already and has no effect here. Signed-off-by: Christian Dietrich Acked-by: Krzysztof Helt Signed-off-by: Geert Uytterhoeven commit 10b68799b32d60ff578742d0deebc98afff30dba Author: Vasiliy Kulikov Date: Sun Sep 19 16:55:21 2010 +0400 zorro: Fix device_register() error handling If device_register() fails then call put_device(). See comment to device_register. Signed-off-by: Vasiliy Kulikov Signed-off-by: Geert Uytterhoeven commit 0c37dd7c41b7391698bbe354b81fe9909c281984 Author: Henrik Kretzschmar Date: Fri Aug 20 19:13:24 2010 +0200 fbdev/m68k: Fix section mismatches in q40fb.c This patch moves the q40_fix and q40_var structures from .init.data to .devinit.data. This is where now the probe function resides, which only uses them. Signed-off-by: Henrik Kretzschmar Signed-off-by: Geert Uytterhoeven commit c6597dc46121582475358e3d46971902587d02d6 Author: Greg Ungerer Date: Tue Sep 7 15:49:31 2010 +1000 m68k/m68knommu: merge the MMU and non-MMU traps.h The MMU and non-MMU versions of traps.h are virtually identical, merge them into a single file. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit cddafa3500fde4a07e5bf899ec97a04069f8f7ce Author: Greg Ungerer Date: Mon Sep 13 14:10:45 2010 +1000 m68k/m68knommu: merge MMU and non-MMU thread_info.h The MMU and non-MMU versions of thread_info.h are quite similar. Merge the two files. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 69f99746a2cfd88b9caed8e320ad86405b228ada Author: Greg Ungerer Date: Wed Sep 8 10:31:11 2010 +1000 m68k/m68knommu: merge MMU and non-MMU atomic.h The only difference between the MMU and non-MMU versions of atomic.h is some extra support needed by ColdFire family processors. So merge this into the MMU version of atomic.h. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 138ff3462f53a7370bef15443e623ecba1c350bf Author: Greg Ungerer Date: Tue Sep 7 15:49:10 2010 +1000 m68k/m68knommu: clean up page.h There is a lot of common defines in the MMU and non-MMU variants of page.h. Factor out the common stuff into the master page.h. It still includes the underlying page_mm.h or page_no.h, but they only contain the real differences now. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit b0860c1d80016df82b93b926f1cff3110ccb5028 Author: Greg Ungerer Date: Tue Sep 7 15:48:43 2010 +1000 m68k/m68knommu: merge machdep.h files into a single file No need to have separate machdep.h files for each of the MMU and non-MMU cases. Merge them all into a single file. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit ea61bc461d09e8d331a307916530aaae808c72a2 Author: Greg Ungerer Date: Tue Sep 7 14:52:52 2010 +1000 m68k/m68knommu: merge MMU and non-MMU string.h The MMU and non-MMU string.h varients (string_no.h and string_mm.h) and almost the same. Switch to using the string_mm.h one, merging in the necessary ColdFire support. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 5bc5a70b62e5b672e40dd031da3e0444f62dbd3a Author: Christian Dietrich Date: Wed Aug 4 14:41:45 2010 +0200 m68k/m68knommu: Remove dead SMP config option CONFIG_SMP doesn't exist in Kconfig (for this architecure), therefore remove all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Geert Uytterhoeven commit a8a6aa0f060e98f9af170c0905d3d5af3b3fa21d Author: Greg Ungerer Date: Tue Sep 7 15:49:00 2010 +1000 m68k: move definition of THREAD_SIZE into thread_info_mm.h Move the definition of THREAD_SIZE from page_mm.h to thread_info_mm.h This logically associates it with the other thread definitions, and will make it easier to merge the MMU and non-MMU versions of page.h and thread_info.h. Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 03e4012c6df858ace45bd8571be59d0c6021ad55 Author: Jeff Mahoney Date: Fri Aug 20 17:14:09 2010 -0400 m68k: Use asm-generic/ioctls.h (enables termiox) This patch converts m68k to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - m68k defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCSRS485 and TIOCGRS485m which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Kroah-Hartman Signed-off-by: Jeff Mahoney Signed-off-by: Geert Uytterhoeven commit 808fa62f1b0f75eef76aa3a7682a8fd89eae581f Author: Christian Dietrich Date: Wed Aug 4 14:41:34 2010 +0200 m68k: Remove dead GG2 config option CONFIG_GG2 doesn't exist in Kconfig, therefore remove all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Geert Uytterhoeven commit 97ff46cb69da22037346670ae515217c658ace02 Author: Mingkai Hu Date: Tue Oct 12 18:18:34 2010 +0800 mtd/m25p80: add support to parse the partitions by OF node Signed-off-by: Mingkai Hu [grant.likely@secretlab.ca: wrap hunk with #ifdef CONFIG_OF] Signed-off-by: Grant Likely commit ff10fca5ceacf7bc59636f5ab808e775d1717167 Author: Dominik Brodowski Date: Fri Oct 22 08:46:36 2010 +0200 pcmcia: IOCARD is also required for using IRQs Dave Hinds pointed out to me that 37979e1546a7 will break b43 and ray_cs, as IOCARD is not -- as the name would suggest -- only needed for cards using IO ports. Instead, as it re-deines several pins, it is also required for using interrupts. Signed-off-by: Dominik Brodowski commit b843e4ec01991a386a9e0e9030703524446e03da Author: Thomas Backlund Date: Thu Oct 21 13:19:10 2010 +0300 microblaze: Fix build with make 3.82 When running make headers_install_all on x86_64 and make 3.82 I hit this: arch/microblaze/Makefile:80: *** mixed implicit and normal rules. Stop. make: *** [headers_install_all] Error 2 So split the rules to satisfy make 3.82. Signed-off-by: Thomas Backlund Cc: Stable Signed-off-by: Michal Simek commit 55f411de484a0136a77d050e877578a60bc2e094 Author: Greg Ungerer Date: Fri Oct 22 15:12:34 2010 +1000 m68knommu: convert to using tracehook_report_syscall_* Break up syscall_trace() into separate entry and exit routines that use tracehook_report_syscall_entry() and tracehook_report_syscall_exit(). Signed-off-by: Greg Ungerer commit 41a2159b5b662e74a85b4824e3517f2397cc5867 Author: Greg Ungerer Date: Tue Oct 12 12:24:49 2010 +1000 m68knommu: some boards use fixed phy for FEC ethernet Define a fixed phy setup for use on boarts that directly connect the FEC ethernet controller to a switch. Signed-off-by: Greg Ungerer commit d4429f608abde89e8bc1e24b43cd503feb95c496 Merge: e10117d 6a1c9df Author: Linus Torvalds Date: Thu Oct 21 21:19:54 2010 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (71 commits) powerpc/44x: Update ppc44x_defconfig powerpc/watchdog: Make default timeout for Book-E watchdog a Kconfig option fsl_rio: Add comments for sRIO registers. powerpc/fsl-booke: Add e55xx (64-bit) smp defconfig powerpc/fsl-booke: Add p5020 DS board support powerpc/fsl-booke64: Use TLB CAMs to cover linear mapping on FSL 64-bit chips powerpc/fsl-booke: Add support for FSL Arch v1.0 MMU in setup_page_sizes powerpc/fsl-booke: Add support for FSL 64-bit e5500 core powerpc/85xx: add cache-sram support powerpc/85xx: add ngPIXIS FPGA device tree node to the P1022DS board powerpc: Fix compile error with paca code on ppc64e powerpc/fsl-booke: Add p3041 DS board support oprofile/fsl emb: Don't set MSR[PMM] until after clearing the interrupt. powerpc/fsl-booke: Add PCI device ids for P2040/P3041/P5010/P5020 QoirQ chips powerpc/mpc8xxx_gpio: Add support for 'qoriq-gpio' controllers powerpc/fsl_booke: Add support to boot from core other than 0 powerpc/p1022: Add probing for individual DMA channels powerpc/fsl_soc: Search all global-utilities nodes for rstccr powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT powerpc/mpc83xx: Support for MPC8308 P1M board ... Fix up conflict with the generic irq_work changes in arch/powerpc/kernel/time.c commit ec37a48d1d16c30b655ac5280209edf52a6775d4 Author: Jesse Gross Date: Thu Oct 21 11:30:43 2010 +0000 bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL. Some cards don't support changing vlan offloading settings. Make Ethtool set_flags return -EINVAL in those cases. Reported-by: Ben Hutchings Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 0988c4c7fb5881377ec20a6452f739a722e97c6b Author: Jesse Gross Date: Thu Oct 21 11:30:42 2010 +0000 vlan: Calling vlan_hwaccel_do_receive() is always valid. It is now acceptable to receive vlan tagged packets at any time, even if CONFIG_VLAN_8021Q is not set. This means that calling vlan_hwaccel_do_receive() should not result in BUG() but rather just behave as if there were no vlan devices configured. Reported-by: Vladislav Zolotarov Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit e10117d36ef758da0690c95ecffc09d5dd7da479 Merge: f3270b1 89692c0 Author: Linus Torvalds Date: Thu Oct 21 19:03:38 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (26 commits) include/linux/libata.h: fix typo pata_bf54x: fix return type of bfin_set_devctl Drivers: ata: Makefile: replace the use of -objs with -y libahci: fix result_tf handling after an ATA PIO data-in command pata_sl82c105: implement sff_irq_check() method pata_sil680: implement sff_irq_check() method pata_pdc202xx_old: implement sff_irq_check() method pata_cmd640: implement sff_irq_check() method ata_piix: Add device ID for ICH4-L pata_sil680: make sil680_sff_exec_command() 'static' ata: Intel IDE-R support libata: reorder ata_queued_cmd to remove alignment padding on 64 bit builds libata: Signal that our SATL supports WRITE SAME(16) with UNMAP ata_piix: remove SIDPR locking libata: implement cross-port EH exclusion libata: add @ap to ata_wait_register() and introduce ata_msleep() ata_piix: implement LPM support libata: implement LPM support for port multipliers libata: reimplement link power management libata: implement sata_link_scr_lpm() and make ata_dev_set_feature() global ... commit f3270b16e00f0614fa418dcc50883da5949375b4 Merge: 3044100 2decd65 Author: Linus Torvalds Date: Thu Oct 21 19:01:34 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (48 commits) ocfs2: Avoid to evaluate xattr block flags again. ocfs2/cluster: Release debugfs file elapsed_time_in_ms ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes. Initialize max_slots early When I tried to compile I got the following warning: fs/ocfs2/slot_map.c: In function ‘ocfs2_init_slot_info’: fs/ocfs2/slot_map.c:360: warning: ‘bytes’ may be used uninitialized in this function fs/ocfs2/slot_map.c:360: note: ‘bytes’ was declared here Compiler: gcc version 4.4.3 (GCC) on Mandriva I'm not sure why this warning occurs, I think compiler don't know that variable "bytes" is initialized when it is sent by reference to ocfs2_slot_map_physical_size and it throws that ugly warning. However, a simple initialization of "bytes" variable with 0 will fix it. ocfs2: validate bg_free_bits_count after update ocfs2/cluster: Bump up dlm protocol to version 1.1 ocfs2/cluster: Show per region heartbeat elapsed time ocfs2/cluster: Add mlogs for heartbeat up/down events ocfs2/cluster: Create debugfs dir/files for each region ocfs2/cluster: Create debugfs files for live, quorum and failed region bitmaps ocfs2/cluster: Maintain bitmap of failed regions ocfs2/cluster: Maintain bitmap of quorum regions ocfs2/cluster: Track bitmap of live heartbeat regions ocfs2/cluster: Track number of global heartbeat regions ocfs2/cluster: Maintain live node bitmap per heartbeat region ocfs2/cluster: Reorganize o2hb debugfs init ocfs2/cluster: Check slots for unconfigured live nodes ocfs2/cluster: Print messages when adding/removing nodes ocfs2/cluster: Print messages when adding/removing heartbeat regions ... commit 3044100e58c84e133791c8b60a2f5bef69d732e4 Merge: b515316 67e87f0 Author: Linus Torvalds Date: Thu Oct 21 18:52:11 2010 -0700 Merge branch 'core-memblock-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-memblock-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits) x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S xen: Cope with unmapped pages when initializing kernel pagetable memblock, bootmem: Round pfn properly for memory and reserved regions memblock: Annotate memblock functions with __init_memblock memblock: Allow memblock_init to be called early memblock/arm: Fix memblock_region_is_memory() typo x86, memblock: Remove __memblock_x86_find_in_range_size() memblock: Fix wraparound in find_region() x86-32, memblock: Make add_highpages honor early reserved ranges x86, memblock: Fix crashkernel allocation arm, memblock: Fix the sparsemem build memblock: Fix section mismatch warnings powerpc, memblock: Fix memblock API change fallout memblock, microblaze: Fix memblock API change fallout x86: Remove old bootmem code x86, memblock: Use memblock_memory_size()/memblock_free_memory_size() to get correct dma_reserve x86: Remove not used early_res code x86, memblock: Replace e820_/_early string with memblock_ x86: Use memblock to replace early_res x86, memblock: Use memblock_debug to control debug message print out ... Fix up trivial conflicts in arch/x86/kernel/setup.c and kernel/Makefile commit 89692c03226a066a017048cf7fbacbaa645f0e79 Author: Andrea Gelmini Date: Sat Oct 16 15:19:18 2010 +0200 include/linux/libata.h: fix typo Signed-off-by: Andrea Gelmini Signed-off-by: Jeff Garzik commit c0695733d56ea12ad62ee534c2eed91f917548ae Author: Mike Frysinger Date: Thu Oct 21 04:00:40 2010 -0400 pata_bf54x: fix return type of bfin_set_devctl The new devctl func added for us to the driver has the wrong return type. Which is to say there shouldn't be any. This fixes compile time warnings as there shouldn't be any runtime difference. Signed-off-by: Mike Frysinger Signed-off-by: Jeff Garzik commit 4b1be934110cee3ad8d3f813f1a5bf28a56ca691 Author: Tracey Dent Date: Fri Oct 15 23:41:33 2010 -0400 Drivers: ata: Makefile: replace the use of -objs with -y Changed -objs to -y in Makefile. Signed-off-by: Tracey Dent Signed-off-by: Jeff Garzik commit 6ad601955315b010a117306b994f2204fae85fdc Author: Tejun Heo Date: Fri Oct 15 11:00:08 2010 +0200 libahci: fix result_tf handling after an ATA PIO data-in command ATA devices don't send D2H Reg FIS after an successful ATA PIO data-in command. The host is supposed to take the TF and E_Status of the preceding PIO Setup FIS. Update ahci_qc_fill_rtf() such that it takes TF + E_Status from PIO Setup FIS after a successful ATA PIO data-in command. Without this patch, result_tf for such a command is filled with the content of the previous D2H Reg FIS which belongs to a previous command, which can make the command incorrectly seen as failed. * Patch updated to grab the whole TF + E_Status from PIO Setup FIS instead of just E_Status as suggested by Robert Hancock. Signed-off-by: Tejun Heo Reported-by: Mark Lord Cc: Robert Hancock Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit f7a437dda2b5c104a897405cbff678aa1eb37897 Author: Sergei Shtylyov Date: Fri Oct 8 19:02:13 2010 +0400 pata_sl82c105: implement sff_irq_check() method Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 9b980e10fa7380b8315e8a414325045eab43826f Author: Sergei Shtylyov Date: Fri Oct 8 19:01:08 2010 +0400 pata_sil680: implement sff_irq_check() method Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 606254e3c1faeb091203c58c2da8e3e4433aae6d Author: Sergei Shtylyov Date: Fri Oct 8 18:57:45 2010 +0400 pata_pdc202xx_old: implement sff_irq_check() method Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit c1ce90f25c52201469c71a2a91e2d9b27c3082f2 Author: Sergei Shtylyov Date: Fri Oct 8 18:56:39 2010 +0400 pata_cmd640: implement sff_irq_check() method Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 4bb969db48dd507e5313dafa285215cb1c36704a Author: Ben Hutchings Date: Sun Oct 10 22:42:21 2010 +0100 ata_piix: Add device ID for ICH4-L ICH4-L is a variant of ICH4 lacking USB2 functionality and with some different device IDs. It is documented in Intel specification update 290745-025, currently at , and is included in the device ID table for piix. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit ada5b12ecca3088ddb588c872db56abef322787e Author: Sergei Shtylyov Date: Tue Oct 5 20:31:47 2010 +0400 pata_sil680: make sil680_sff_exec_command() 'static' ... since, of course, it's not used outside this driver. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 60039a5295b3d82a48fe132c699987d2e1408675 Author: Alan Cox Date: Tue Sep 28 13:19:38 2010 +0100 ata: Intel IDE-R support Intel IDE-R devices are part of the Intel AMT management setup. They don't have any special configuration registers or settings so the ata_generic driver will support them fully. Rather than add a huge table of IDs for each chipset and keep sending in new ones this patch autodetects them. Signed-off-by: Alan Cox Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit b34e90429ce8a23546b6b927d4e151df4c113644 Author: Richard Kennedy Date: Fri Sep 10 12:19:43 2010 +0100 libata: reorder ata_queued_cmd to remove alignment padding on 64 bit builds Reorder structure ata_queued_cmd to remove 8 bytes of alignment padding on 64 bit builds & therefore reduce the size of structure ata_port by 256 bytes. Overall this will have little impact, other than reducing the amount of memory that is cleared when allocating ata_ports. Signed-off-by: Richard Kennedy Signed-off-by: Jeff Garzik commit 02e0a60477d839b8f8f974790192f5230f2371d2 Author: Martin K. Petersen Date: Fri Sep 10 01:23:18 2010 -0400 libata: Signal that our SATL supports WRITE SAME(16) with UNMAP Until now identifying that a device supports WRITE SAME(16) with the UNMAP bit set has been black magic. Implement support for the SBC-3 Thin Provisioning VPD page and set the TPWS bit. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 9950110cf0f79db91c0103876f3a58c9069243eb Author: Tejun Heo Date: Mon Sep 6 17:57:40 2010 +0200 ata_piix: remove SIDPR locking Now that libata provides proper cross-port EH exclusion. The SIDPR locking added by commit 213373cf (ata_piix: fix locking around SIDPR access) is no longer necessary. Remove it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c0c362b60e259e3480a36ef70280d545818844f0 Author: Tejun Heo Date: Mon Sep 6 17:57:14 2010 +0200 libata: implement cross-port EH exclusion In libata, the non-EH code paths should always take and release ap->lock explicitly when accessing hardware or shared data structures. However, once EH is active, it's assumed that the port is owned by EH and EH methods don't explicitly take ap->lock unless race from irq handler or other code paths are expected. However, libata EH didn't guarantee exclusion among EHs for ports of the same host. IOW, multiple EHs may execute in parallel on multiple ports of the same controller. In many cases, especially in SATA, the ports are completely independent of each other and this doesn't cause problems; however, there are cases where different ports share the same resource, which lead to obscure timing related bugs such as the one fixed by commit 213373cf (ata_piix: fix locking around SIDPR access). This patch implements exclusion among EHs of the same host. When EH begins, it acquires per-host EH ownership by calling ata_eh_acquire(). When EH finishes, the ownership is released by calling ata_eh_release(). EH ownership is also released whenever the EH thread goes to sleep from ata_msleep() or explicitly and reacquired after waking up. This ensures that while EH is actively accessing the hardware, it has exclusive access to it while allowing EHs to interleave and progress in parallel as they hit waiting stages, which dominate the time spent in EH. This achieves cross-port EH exclusion without pervasive and fragile changes while still allowing parallel EH for the most part. This was first reported by yuanding02@gmail.com more than three years ago in the following bugzilla. :-) https://bugzilla.kernel.org/show_bug.cgi?id=8223 Signed-off-by: Tejun Heo Cc: Alan Cox Reported-by: yuanding02@gmail.com Signed-off-by: Jeff Garzik commit 97750cebb3000a9cc08f8ce8dc8c7143be7d7201 Author: Tejun Heo Date: Mon Sep 6 17:56:29 2010 +0200 libata: add @ap to ata_wait_register() and introduce ata_msleep() Add optional @ap argument to ata_wait_register() and replace msleep() calls with ata_msleep() which take optional @ap in addition to the duration. These will be used to implement EH exclusion. This patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a97c40068fab5d85c4241451fc312cb9025d7e6c Author: Tejun Heo Date: Wed Sep 1 17:50:08 2010 +0200 ata_piix: implement LPM support Now that DIPM can be used independently from HIPM, ata_piix can support LPM too. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6c8ea89cecd780faa4f4c8ed8b3b6ab88f9fa841 Author: Tejun Heo Date: Wed Sep 1 17:50:07 2010 +0200 libata: implement LPM support for port multipliers Port multipliers can do DIPM on fan-out links fine. Implement support for it. Tested w/ SIMG 57xx and marvell PMPs. Both the host and fan-out links enter power save modes nicely. SIMG 37xx and 47xx report link offline on SStatus causing EH to detach the devices. Blacklisted. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6b7ae9545ad9875a289f4191c0216b473e313cb9 Author: Tejun Heo Date: Wed Sep 1 17:50:06 2010 +0200 libata: reimplement link power management The current LPM implementation has the following issues. * Operation order isn't well thought-out. e.g. HIPM should be configured after IPM in SControl is properly configured. Not the other way around. * Suspend/resume paths call ata_lpm_enable/disable() which must only be called from EH context directly. Also, ata_lpm_enable/disable() were called whether LPM was in use or not. * Implementation is per-port when it should be per-link. As a result, it can't be used for controllers with slave links or PMP. * LPM state isn't managed consistently. After a link reset for whatever reason including suspend/resume the actual LPM state would be reset leaving ap->lpm_policy inconsistent. * Generic/driver-specific logic boundary isn't clear. Currently, libahci has to mangle stuff which libata EH proper should be handling. This makes the implementation unnecessarily complex and fragile. * Tied to ALPM. Doesn't consider DIPM only cases and doesn't check whether the device allows HIPM. * Error handling isn't implemented. Given the extent of mismatch with the rest of libata, I don't think trying to fix it piecewise makes much sense. This patch reimplements LPM support. * The new implementation is per-link. The target policy is still port-wide (ap->target_lpm_policy) but all the mechanisms and states are per-link and integrate well with the rest of link abstraction and can work with slave and PMP links. * Core EH has proper control of LPM state. LPM state is reconfigured when and only when reconfiguration is necessary. It makes sure that LPM state is reset when probing for new device on the link. Controller agnostic logic is now implemented in libata EH proper and driver implementation only has to deal with controller specifics. * Proper error handling. LPM config failure is attributed to the device on the link and LPM is disabled for the link if it fails repeatedly. * ops->enable/disable_pm() are replaced with single ops->set_lpm() which takes @policy and @hints. This simplifies driver specific implementation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1152b2617a6e1943b6b82e07c962950e56f1000c Author: Tejun Heo Date: Wed Sep 1 17:50:05 2010 +0200 libata: implement sata_link_scr_lpm() and make ata_dev_set_feature() global Link power management is about to be reimplemented. Prepare for it. * Implement sata_link_scr_lpm(). * Drop static from ata_dev_set_feature() and make it available to other libata files. * Trivial whitespace adjustments. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c93b263e0d4fa8ce5fec0142a98196d1a127e845 Author: Tejun Heo Date: Wed Sep 1 17:50:04 2010 +0200 libata: clean up lpm related symbols and sysfs show/store functions Link power management related symbols are in confusing state w/ mixed usages of lpm, ipm and pm. This patch cleans up lpm related symbols and sysfs show/store functions as follows. * lpm states - NOT_AVAILABLE, MIN_POWER, MAX_PERFORMANCE and MEDIUM_POWER are renamed to ATA_LPM_UNKNOWN and ATA_LPM_{MIN|MAX|MED}_POWER. * Pre/postfixes are unified to lpm. * sysfs show/store functions for link_power_management_policy were curiously named get/put and unnecessarily complex. Renamed to show/store and simplified. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c43d559f0423816bb2918d892131d21c51816c3d Author: Luck, Tony Date: Mon Aug 23 13:18:02 2010 -0700 [libata] Fix section mismatch: ata_sff_exit This build error showed up in linux-next tag next-20100820 for ia64: WARNING: vmlinux.o(.init.text+0x4a952): Section mismatch in reference from the function ata_init() to the function .exit.text:ata_sff_exit() The function __init ata_init() references a function __exit ata_sff_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of ata_sff_exit() so it may be used outside an exit section. Sure enough, dropping the __exit fixes the problem. Signed-off-by: Tony Luck Signed-off-by: Jeff Garzik commit 6a2148c6dc68cd221397a0b9d44ddb89802e5cc0 Author: Jeff Garzik Date: Thu Aug 19 16:11:32 2010 -0400 drivers/ata/libata-transport.c: include linux/slab.h Signed-off-by: Jeff Garzik commit 295124dce4ddfd40b1f12d3ffd2779673e87c701 Author: Grant Grundler Date: Tue Aug 17 10:56:53 2010 -0700 [libata] support for > 512 byte sectors (e.g. 4K Native) This change enables my x86 machine to recognize and talk to a "Native 4K" SATA device. When I started working on this, I didn't know Matthew Wilcox had posted a similar patch 2 years ago: http://git.kernel.org/?p=linux/kernel/git/willy/ata.git;a=shortlog;h=refs/heads/ata-large-sectors Gwendal Grignou pointed me at the the above code and small portions of this patch include Matthew's work. That's why Mathew is first on the "Signed-off-by:". I've NOT included his use of a bitmap to determine 512 vs Native for ATA command block size - just used a simple table. And bugs are almost certainly mine. Lastly, the patch has been tested with a native 4K 'Engineering Sample' drive provided by Hitachi GST. Signed-off-by: Matthew Wilcox Signed-off-by: Grant Grundler Reviewed-by: Gwendal Grignou Signed-off-by: Jeff Garzik commit 1aadf5c3bbbbb0db09dcb5aa26c61326e0d3e9e7 Author: Tejun Heo Date: Fri Jun 25 15:03:34 2010 +0200 libata: always use ata_qc_complete_multiple() for NCQ command completions Currently, sata_fsl, mv and nv call ata_qc_complete() multiple times from their interrupt handlers to indicate completion of NCQ commands. This limits the visibility the libata core layer has into how commands are being executed and completed, which is necessary to support IRQ expecting in generic way. libata already has an interface to complete multiple commands at once - ata_qc_complete_multiple() which ahci and sata_sil24 already use. This patch updates the three drivers to use ata_qc_complete_multiple() too and updates comments on ata_qc_complete[_multiple]() regarding their usages with NCQ completions. This change not only provides better visibility into command execution to the core layer but also simplifies low level drivers. * sata_fsl: It already builds done_mask. Conversion is straight forward. * sata_mv: mv_process_crpb_response() no longer checks for illegal completions, it just returns whether the tag is completed or not. mv_process_crpb_entries() builds done_mask from it and passes it to ata_qc_complete_multiple() which will check for illegal completions. * sata_nv adma: Similar to sata_mv. nv_adma_check_cpb() now just returns the tag status and nv_adma_interrupt() builds done_mask from it and passes it to ata_qc_complete_multiple(). * sata_nv swncq: It already builds done_mask. Drop unnecessary illegal transition checks and call ata_qc_complete_multiple(). In the long run, it might be a good idea to make ata_qc_complete() whine if called when multiple NCQ commands are in flight. Signed-off-by: Tejun Heo Cc: Ashish Kalra Cc: Saeed Bishara Cc: Mark Lord Cc: Robert Hancock Signed-off-by: Jeff Garzik commit d9027470b88631d0956ac37cdadfdeb9cdcf2c99 Author: Gwendal Grignou Date: Tue May 25 12:31:38 2010 -0700 [libata] Add ATA transport class This is a scheleton for libata transport class. All information is read only, exporting information from libata: - ata_port class: one per ATA port - ata_link class: one per ATA port or 15 for SATA Port Multiplier - ata_device class: up to 2 for PATA link, usually one for SATA. Signed-off-by: Gwendal Grignou Reviewed-by: Grant Grundler Signed-off-by: Jeff Garzik commit 489e176c71f36654dcb8835926f7e5717b8b4c19 Author: Kevin Hilman Date: Thu Oct 21 16:30:42 2010 -0700 davinci: fix remaining board support after io_pgoffst removal Some boards that were added after the mass io_pgoffst/io_physio removal, and were not updated in the original patch. Fixup here. c.f. original io_pgoffst/io_physio removal commit 6451d7783ba5ff24eb1a544eaa6665b890f30466 Signed-off-by: Kevin Hilman commit b5153163ed580e00c67bdfecb02b2e3843817b3e Merge: a8cbf22 6451d77 Author: Linus Torvalds Date: Thu Oct 21 16:42:32 2010 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (278 commits) arm: remove machine_desc.io_pg_offst and .phys_io arm: use addruart macro to establish debug mappings arm: return both physical and virtual addresses from addruart arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC ARM: make struct machine_desc definition coherent with its comment eukrea_mbimxsd-baseboard: Pass the correct GPIO to gpio_free cpuimx27: fix compile when ULPI is selected mach-pcm037_eet: fix compile errors Fixing ethernet driver compilation error for i.MX31 ADS board cpuimx51: update board support mx5: add cpuimx51sd module and its baseboard iomux-mx51: fix GPIO_1_xx 's IOMUX configuration imx-esdhc: update devices registration mx51: add resources for SD/MMC on i.MX51 iomux-mx51: fix SD1 and SD2's iomux configuration clock-mx51: rename CLOCK1 to CLOCK_CCGR for better readability clock-mx51: factorize clk_set_parent and clk_get_rate eukrea_mbimxsd: add support for DVI displays cpuimx25 & cpuimx35: fix OTG port registration in host mode i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472 ... commit cdff08e76612e53580139653403aedea979aa639 Author: Steve French Date: Thu Oct 21 22:46:14 2010 +0000 [CIFS] move close processing from cifs_close to cifsFileInfo_put Now that it's feasible for a cifsFileInfo to outlive the filp under which it was created, move the close processing into cifsFileInfo_put. This means that the last user of the filehandle always does the actual on the wire close call. This also allows us to get rid of the closePend flag from cifsFileInfo. If we have an active reference to the file then it's never going to have a close pending. cifs_close is converted to simply put the filehandle. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Signed-off-by: Steve French commit a8cbf22559ceefdcdfac00701e8e6da7518b7e8e Merge: e36f561 9c03439 Author: Linus Torvalds Date: Thu Oct 21 14:53:17 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (26 commits) PM / Wakeup: Show wakeup sources statistics in debugfs PM: Introduce library for device-specific OPPs (v7) PM: Add sysfs attr for rechecking dev hash from PM trace PM: Lock PM device list mutex in show_dev_hash() PM / Runtime: Remove idle notification after failing suspend PM / Hibernate: Modify signature used to mark swap PM / Runtime: Reduce code duplication in core helper functions PM: Allow wakeup events to abort freezing of tasks PM: runtime: add missed pm_request_autosuspend PM / Hibernate: Make some boot messages look less scary PM / Runtime: Implement autosuspend support PM / Runtime: Add no_callbacks flag PM / Runtime: Combine runtime PM entry points PM / Runtime: Merge synchronous and async runtime routines PM / Runtime: Replace boolean arguments with bitflags PM / Runtime: Move code in drivers/base/power/runtime.c sysfs: Add sysfs_merge_group() and sysfs_unmerge_group() PM: Fix potential issue with failing asynchronous suspend PM / Wakeup: Introduce wakeup source objects and event statistics (v3) PM: Fix signed/unsigned warning in dpm_show_time() ... commit e36f561a2c88394ef2708f1ab300fe8a79e9f651 Merge: 70ada77 df9ee29 Author: Linus Torvalds Date: Thu Oct 21 14:37:27 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-irqflags * git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-irqflags: Fix IRQ flag handling naming MIPS: Add missing #inclusions of smc91x: Add missing #inclusion of Drop a couple of unnecessary asm/system.h inclusions SH: Add missing consts to sys_execve() declaration Blackfin: Rename IRQ flags handling functions Blackfin: Add missing dep to asm/irqflags.h Blackfin: Rename DES PC2() symbol to avoid collision Blackfin: Split the BF532 BFIN_*_FIO_FLAG() functions to their own header Blackfin: Split PLL code from mach-specific cdef headers commit 70ada77920723fbc2b35e9b301022fb1e166b41b Merge: b22793f 2764c50 Author: Linus Torvalds Date: Thu Oct 21 14:37:00 2010 -0700 Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 * 'next-spi' of git://git.secretlab.ca/git/linux-2.6: (53 commits) spi/omap2_mcspi: Verify TX reg is empty after TX only xfer with DMA spi/omap2_mcspi: disable channel after TX_ONLY transfer in PIO mode spi/bfin_spi: namespace local structs spi/bfin_spi: init early spi/bfin_spi: check per-transfer bits_per_word spi/bfin_spi: warn when CS is driven by hardware (CPHA=0) spi/bfin_spi: cs should be always low when a new transfer begins spi/bfin_spi: fix typo in comment spi/bfin_spi: reject unsupported SPI modes spi/bfin_spi: use dma_disable_irq_nosync() in irq handler spi/bfin_spi: combine duplicate SPI_CTL read/write logic spi/bfin_spi: reset ctl_reg bits when setup is run again on a device spi/bfin_spi: push all size checks into the transfer function spi/bfin_spi: use nosync when disabling the IRQ from the IRQ handler spi/bfin_spi: sync hardware state before reprogramming everything spi/bfin_spi: save/restore state when suspending/resuming spi/bfin_spi: redo GPIO CS handling Blackfin: SPI: expand SPI bitmasks spi/bfin_spi: use the SPI namespaced bit names spi/bfin_spi: drop extra memory we don't need ... commit b22793f7fdc38d73c4bb4299a313deef56dcfe66 Merge: b653788 c0f37d2 Author: Linus Torvalds Date: Thu Oct 21 14:27:18 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Cannot use register_percpu_irq() from ia64_mca_init() [IA64] Initialize interrupts later (from init_IRQ()) [IA64] enable ARCH_DMA_ADDR_T_64BIT [IA64] ioc3_serial: release resources in error return path [IA64] Stop using the deprecated __do_IRQ() code path [IA64] Remove unnecessary casts of private_data in perfmon.c [IA64] Fix missing iounmap in error path in cyclone.c [IA64] salinfo: sema_init instead of init_MUTEX [IA64] xen: use ARRAY_SIZE macro in xen_pv_ops.c [IA64] Use static const char * const in palinfo.c [IA64] remove asm/compat.h [IA64] Add CONFIG_STACKTRACE_SUPPORT [IA64] Move local_softirq_pending() definition [IA64] iommu: Add a dummy iommu_table.h file in IA64. [IA64] unwind - optimise linked-list searches for modules [IA64] unwind: remove preprocesser noise, and correct comment commit b65378898c2eefb20f419632c1199bc0592e2f79 Merge: 157b6ce 5b917a1 Author: Linus Torvalds Date: Thu Oct 21 14:25:16 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (22 commits) pcmcia: synclink_cs: fix information leak to userland pcmcia: don't call flush_scheduled_work() spuriously serial_cs: drop spurious flush_scheduled_work() call pcmcia/yenta: guide users in case of problems with O2-bridges pcmcia: fix unused function compile warning pcmcia: vrc4173_cardu: Fix error path for pci_release_regions and pci_disable_device pcmcia: add a few debug statements pcmcia: remove obsolete and wrong comments pcmcia: avoid messages on module (un)loading pcmcia: move driver name to struct pcmcia_driver pcmcia: remove the "Finally, report what we've done" message pcmcia: use autoconfiguration feature for ioports and iomem pcmcia: introduce autoconfiguration feature pcmcia: Documentation update pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device pcmcia: move config_{base,index,regs} to struct pcmcia_device pcmcia: simplify IntType pcmcia: simplify Status, ExtStatus register access pcmcia: remove Pin, Copy configuration register access pcmcia: move Vpp setup to struct pcmcia_device ... commit 157b6ceb13e4b4148ee03dd517dbe88748943125 Merge: 4a60cfa 6e96366 Author: Linus Torvalds Date: Thu Oct 21 14:23:48 2010 -0700 Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, iommu: Update header comments with appropriate naming ia64, iommu: Add a dummy iommu_table.h file in IA64. x86, iommu: Fix IOMMU_INIT alignment rules x86, doc: Adding comments about .iommu_table and its neighbors. x86, iommu: Utilize the IOMMU_INIT macros functionality. x86, VT-d: Make Intel VT-d IOMMU use IOMMU_INIT_* macros. x86, GART/AMD-VI: Make AMD GART and IOMMU use IOMMU_INIT_* macros. x86, calgary: Make Calgary IOMMU use IOMMU_INIT_* macros. x86, xen-swiotlb: Make Xen-SWIOTLB use IOMMU_INIT_* macros. x86, swiotlb: Make SWIOTLB use IOMMU_INIT_* macros. x86, swiotlb: Simplify SWIOTLB pci_swiotlb_detect routine. x86, iommu: Add proper dependency sort routine (and sanity check). x86, iommu: Make all IOMMU's detection routines return a value. x86, iommu: Add IOMMU_INIT macros, .iommu_table section, and iommu_table_entry structure commit 4a60cfa9457749f7987fd4f3c956dbba5a281129 Merge: 62bea97 27afdf2 Author: Linus Torvalds Date: Thu Oct 21 14:11:46 2010 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (96 commits) apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets apic, x86: Check if EILVT APIC registers are available (AMD only) x86: ioapic: Call free_irte only if interrupt remapping enabled arm: Use ARCH_IRQ_INIT_FLAGS genirq, ARM: Fix boot on ARM platforms genirq: Fix CONFIG_GENIRQ_NO_DEPRECATED=y build x86: Switch sparse_irq allocations to GFP_KERNEL genirq: Switch sparse_irq allocator to GFP_KERNEL genirq: Make sparse_lock a mutex x86: lguest: Use new irq allocator genirq: Remove the now unused sparse irq leftovers genirq: Sanitize dynamic irq handling genirq: Remove arch_init_chip_data() x86: xen: Sanitise sparse_irq handling x86: Use sane enumeration x86: uv: Clean up the direct access to irq_desc x86: Make io_apic.c local functions static genirq: Remove irq_2_iommu x86: Speed up the irq_remapped check in hot pathes intr_remap: Simplify the code further ... Fix up trivial conflicts in arch/x86/Kconfig commit 62bea97f54d806218a992b18d1f425cfb5060175 Merge: b61f6a5 8af3c15 Author: Linus Torvalds Date: Thu Oct 21 14:08:08 2010 -0700 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ntp: Clamp PLL update interval commit 872a64d7e73f0e4dc435295da393db25332172b8 Author: Peter Ujfalusi Date: Thu Oct 21 15:03:03 2010 +0300 ASoC: tpa6130a2: Error handling for broken chip Correct/Implement handling of broken chip. Fail the i2c_prope if the communication with the chip fails. Signed-off-by: Peter Ujfalusi Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit b61f6a57f1919ef8dbd33f864df9b8b361c65b11 Merge: 0575db8 fb62db2 Author: Linus Torvalds Date: Thu Oct 21 14:06:17 2010 -0700 Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Fix kernel-doc notation & typos futex: Add lock context annotations futex: Mark restart_block.futex.uaddr[2] __user futex: Change 3rd arg of fetch_robust_entry() to unsigned int* commit 0575db881d18a4791013fc93ba756ad08b18fb48 Merge: c029e40 7ada876 Author: Linus Torvalds Date: Thu Oct 21 14:05:55 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Fix errors in nested key ref-counting commit c029e405bd3d4e92d09fbbc97c03952585986ebe Merge: a9ccd80 525906b Author: Linus Torvalds Date: Thu Oct 21 14:04:58 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits) EDAC, MCE: Fix shift warning on 32-bit EDAC, MCE: Add a BIT_64() macro EDAC, MCE: Enable MCE decoding on F12h EDAC, MCE: Add F12h NB MCE decoder EDAC, MCE: Add F12h IC MCE decoder EDAC, MCE: Add F12h DC MCE decoder EDAC, MCE: Add support for F11h MCEs EDAC, MCE: Enable MCE decoding on F14h EDAC, MCE: Fix FR MCEs decoding EDAC, MCE: Complete NB MCE decoders EDAC, MCE: Warn about LS MCEs on F14h EDAC, MCE: Adjust IC decoders to F14h EDAC, MCE: Adjust DC decoders to F14h EDAC, MCE: Rename files EDAC, MCE: Rework MCE injection EDAC: Export edac sysfs class to users. EDAC, MCE: Pass complete MCE info to decoders EDAC, MCE: Sanitize error codes EDAC, MCE: Remove unused function parameter EDAC, MCE: Add HW_ERR prefix ... commit a9ccd80aadadef8c424142d41fddea7c0880f0e9 Merge: 81d1c3a e79f86b Author: Linus Torvalds Date: Thu Oct 21 14:04:25 2010 -0700 Merge branch 'stable/swiotlb-0.9' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6 * 'stable/swiotlb-0.9' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6: swiotlb: Use page alignment for early buffer allocation swiotlb: make io_tlb_overflow static commit 81d1c3a52cd78fdbb9f0d80214fc9e7d49bf22c0 Merge: 5fe8321 3e0f686 Author: Linus Torvalds Date: Thu Oct 21 14:04:03 2010 -0700 Merge branch 'stable/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6 * 'stable/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6: ibft: fix kconfig dependencies commit 5fe8321b8886d814e65952d74b207fe59e1096ea Merge: 709d9f5 fa47f7e Author: Linus Torvalds Date: Thu Oct 21 13:54:05 2010 -0700 Merge branch 'x86-x2apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-x2apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, x2apic: Simplify apic init in SMP and UP builds x86, intr-remap: Remove IRTE setup duplicate code x86, intr-remap: Set redirection hint in the IRTE commit 709d9f54cc1847a2d24224ffedec7fd4d0f3c714 Merge: cca8209 b0f4c06 Author: Linus Torvalds Date: Thu Oct 21 13:53:24 2010 -0700 Merge branch 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, paravirt: Remove alloc_pmd_clone hook, only used by VMI x86, vmware: Remove deprecated VMI kernel support Fix up trivial #include conflict in arch/x86/kernel/smpboot.c commit cca8209ed962f87990345ba073979d2b55dd1187 Merge: d77bdc4 9e9006e Author: Linus Torvalds Date: Thu Oct 21 13:52:01 2010 -0700 Merge branch 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, olpc: XO-1 uses/depends on PCI x86, olpc: Register XO-1 platform devices x86, olpc: Add XO-1 poweroff support x86, olpc: Don't retry EC commands forever x86, olpc: Rework BIOS signature check x86, olpc: Only enable PCI configuration type override on XO-1 commit d77bdc423d6d6efcd18d329bbf8eb9351953dd30 Merge: 87affd0b 351e5a7 Author: Linus Torvalds Date: Thu Oct 21 13:51:41 2010 -0700 Merge branch 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mtrr: Support mtrr lookup for range spanning across MTRR range x86, mtrr: Refactor MTRR type overlap check code commit 87affd0b9416d8f43d2d4de1f3fdfbe7f3559380 Merge: c3b86a2 940b3c7 Author: Linus Torvalds Date: Thu Oct 21 13:47:54 2010 -0700 Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: sfi: Make local functions static x86, earlyprintk: Add hsu early console for Intel Medfield platform x86, earlyprintk: Add earlyprintk for Intel Moorestown platform x86: Add two helper macros for fixed address mapping x86, mrst: A function in a header file needs to be marked "inline" commit 4428bc0990ba545e2ef0dea8ec1b90c256b22958 Author: Dimitris Papastamos Date: Thu Oct 21 12:15:56 2010 +0100 ASoC: max98088: Staticise m98088_eq_band This function is not exported and it does not seem to be called from anywhere else therefore it should be static. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1aafcd4d6966453ab44587c6e1214d463f3e88e2 Author: Dimitris Papastamos Date: Thu Oct 21 13:19:45 2010 +0100 ASoC: soc-core: Fix codec->name memory leak Ensure that the codec->name is freed when unregistering the codec. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c3b86a29429dac1033e3f602f51fa8d00006a8eb Merge: 8d8d2e9 2aeb66d Author: Linus Torvalds Date: Thu Oct 21 13:47:29 2010 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, percpu: Correct the ordering of the percpu readmostly section x86, mm: Enable ARCH_DMA_ADDR_T_64BIT with X86_64 || HIGHMEM64G x86: Spread tlb flush vector between nodes percpu: Introduce a read-mostly percpu API x86, mm: Fix incorrect data type in vmalloc_sync_all() x86, mm: Hold mm->page_table_lock while doing vmalloc_sync x86, mm: Fix bogus whitespace in sync_global_pgds() x86-32: Fix sparse warning for the __PHYSICAL_MASK calculation x86, mm: Add RESERVE_BRK_ARRAY() helper mm, x86: Saving vmcore with non-lazy freeing of vmas x86, kdump: Change copy_oldmem_page() to use cached addressing x86, mm: fix uninitialized addr in kernel_physical_mapping_init() x86, kmemcheck: Remove double test x86, mm: Make spurious_fault check explicitly check the PRESENT bit x86-64, mem: Update all PGDs for direct mapping and vmemmap mapping changes x86, mm: Separate x86_64 vmalloc_sync_all() into separate functions x86, mm: Avoid unnecessary TLB flush commit 8d8d2e9ccd331a1345c88b292ebee9d256fd8749 Merge: 2a8b67f 3b4b682 Author: Linus Torvalds Date: Thu Oct 21 13:46:28 2010 -0700 Merge branch 'x86-mem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mem: Optimize memmove for small size and unaligned cases x86, mem: Optimize memcpy by avoiding memory false dependece x86, mem: Don't implement forward memmove() as memcpy() commit 2a8b67fb72c4c4bc15fe8095e3ed613789c8b82f Merge: b6f7e38 ce5f682 Author: Linus Torvalds Date: Thu Oct 21 13:45:38 2010 -0700 Merge branch 'x86-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, hotplug: In the MWAIT case of play_dead, CLFLUSH the cache line x86, hotplug: Move WBINVD back outside the play_dead loop x86, hotplug: Use mwait to offline a processor, fix the legacy case x86, mwait: Move mwait constants to a common header file commit b6f7e38dbb310557fe890b04b1a376c93f638c3b Merge: 214515b b2b57fe Author: Linus Torvalds Date: Thu Oct 21 13:34:32 2010 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, fpu: Merge fpu_save_init() x86-32, fpu: Rewrite fpu_save_init() x86, fpu: Remove PSHUFB_XMM5_* macros x86, fpu: Remove unnecessary ifdefs from i387 code. x86-32, fpu: Remove math_emulate stub x86-64, fpu: Simplify constraints for fxsave/fxtstor x86-64, fpu: Fix %cs value in convert_from_fxsr() x86-64, fpu: Disable preemption when using TS_USEDFPU x86, fpu: Merge __save_init_fpu() x86, fpu: Merge tolerant_fwait() x86, fpu: Merge fpu_init() x86: Use correct type for %cr4 x86, xsave: Disable xsave in i387 emulation mode Fixed up fxsaveq-induced conflict in arch/x86/include/asm/i387.h commit 214515b5787a1035b2c8807abe8be569de63b2f6 Merge: bf70030 d0ed0c3 Author: Linus Torvalds Date: Thu Oct 21 13:20:32 2010 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Remove pr_ uses of KERN_ therm_throt.c: Trivial printk message fix for a unsuitable abbreviation of 'thermal' x86: Use {push,pop}{l,q}_cfi in more places i386: Add unwind directives to syscall ptregs stubs x86-64: Use symbolics instead of raw numbers in entry_64.S x86-64: Adjust frame type at paranoid_exit: x86-64: Fix unwind annotations in syscall stubs commit bf70030dc0b031f000c74721f2e9c88686b7da6d Merge: d60a279 366d4a4 Author: Linus Torvalds Date: Thu Oct 21 13:18:36 2010 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, cpu: Fix X86_FEATURE_NOPL x86, cpu: Re-run get_cpu_cap() after adjusting the CPUID level commit d60a2793ba562c6ea9bbf62112da3e6342adcf83 Merge: 781c5a6 40ffa93 Author: Linus Torvalds Date: Thu Oct 21 13:18:06 2010 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Remove stale pmtimer_64.c x86, cleanups: Use clear_page/copy_page rather than memset/memcpy x86: Remove unnecessary #ifdef ACPI/X86_IO_ACPI x86, cleanup: Remove obsolete boot_cpu_id variable commit 781c5a67f152c17c3e4a9ed9647f8c0be6ea5ae9 Merge: e990c77 9ea77bd Author: Linus Torvalds Date: Thu Oct 21 13:06:49 2010 -0700 Merge branch 'x86-bios-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-bios-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, bios: Make the x86 early memory reservation a kernel option x86, bios: By default, reserve the low 64K for all BIOSes commit e990c77d06dbacc8e5c5edd2c4a1005d318a4fa6 Merge: 2f0384e d7acb92 Author: Linus Torvalds Date: Thu Oct 21 13:06:00 2010 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64, asm: If the assembler supports fxsave64, use it i386: Make kernel_execve() suitable for stack unwinding commit 2f0384e5fc4766ad909597547d0e2b716c036755 Merge: bc4016f 5c80cc7 Author: Linus Torvalds Date: Thu Oct 21 13:01:08 2010 -0700 Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, amd_nb: Enable GART support for AMD family 0x15 CPUs x86, amd: Use compute unit information to determine thread siblings x86, amd: Extract compute unit information for AMD CPUs x86, amd: Add support for CPUID topology extension of AMD CPUs x86, nmi: Support NMI watchdog on newer AMD CPU families x86, mtrr: Assume SYS_CFG[Tom2ForceMemTypeWB] exists on all future AMD CPUs x86, k8: Rename k8.[ch] to amd_nb.[ch] and CONFIG_K8_NB to CONFIG_AMD_NB x86, k8-gart: Decouple handling of garts and northbridges x86, cacheinfo: Fix dependency of AMD L3 CID x86, kvm: add new AMD SVM feature bits x86, cpu: Fix allowed CPUID bits for KVM guests x86, cpu: Update AMD CPUID feature bits x86, cpu: Fix renamed, not-yet-shipping AMD CPUID feature bit x86, AMD: Remove needless CPU family check (for L3 cache info) x86, tsc: Remove CPU frequency calibration on AMD commit bc4016f48161454a9a8e5eb209b0693c6cde9f62 Merge: 5d70f79 b7dadc3 Author: Linus Torvalds Date: Thu Oct 21 12:55:43 2010 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits) sched: Export account_system_vtime() sched: Call tick_check_idle before __irq_enter sched: Remove irq time from available CPU power sched: Do not account irq time to current task x86: Add IRQ_TIME_ACCOUNTING sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time sched: Add a PF flag for ksoftirqd identification sched: Consolidate account_system_vtime extern declaration sched: Fix softirq time accounting sched: Drop group_capacity to 1 only if local group has extra capacity sched: Force balancing on newidle balance if local group has capacity sched: Set group_imb only a task can be pulled from the busiest cpu sched: Do not consider SCHED_IDLE tasks to be cache hot sched: Drop all load weight manipulation for RT tasks sched: Create special class for stop/migrate work sched: Unindent labels sched: Comment updates: fix default latency and granularity numbers tracing/sched: Add sched_pi_setprio tracepoint sched: Give CPU bound RT tasks preference sched: Try not to migrate higher priority RT tasks ... commit 5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22 Merge: 888a6f7 750ed15 Author: Linus Torvalds Date: Thu Oct 21 12:54:49 2010 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits) tracing: Fix compile issue for trace_sched_wakeup.c [S390] hardirq: remove pointless header file includes [IA64] Move local_softirq_pending() definition perf, powerpc: Fix power_pmu_event_init to not use event->ctx ftrace: Remove recursion between recordmcount and scripts/mod/empty jump_label: Add COND_STMT(), reducer wrappery perf: Optimize sw events perf: Use jump_labels to optimize the scheduler hooks jump_label: Add atomic_t interface jump_label: Use more consistent naming perf, hw_breakpoint: Fix crash in hw_breakpoint creation perf: Find task before event alloc perf: Fix task refcount bugs perf: Fix group moving irq_work: Add generic hardirq context callbacks perf_events: Fix transaction recovery in group_sched_in() perf_events: Fix bogus AMD64 generic TLB events perf_events: Fix bogus context time tracking tracing: Remove parent recording in latency tracer graph options tracing: Use one prologue for the preempt irqs off tracer function tracers ... commit 888a6f77e0418b049f83d37547c209b904d30af4 Merge: 31b7eab 6506cf6c Author: Linus Torvalds Date: Thu Oct 21 12:54:12 2010 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits) sched: fix RCU lockdep splat from task_group() rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp->qsmask value sched: suppress RCU lockdep splat in task_fork_fair net: suppress RCU lockdep false positive in sock_update_classid rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter rcu: Add tracing data to support queueing models rcu: fix sparse errors in rcutorture.c rcu: only one evaluation of arg in rcu_dereference_check() unless sparse kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC rcu: fix _oddness handling of verbose stall warnings rcu: performance fixes to TINY_PREEMPT_RCU callback checking rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes vhost: add __rcu annotations rcu: add comment stating that list_empty() applies to RCU-protected lists rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods rcu: document ways of stalling updates in low-memory situations rcu: repair code-duplication FIXMEs ... commit 31b7eab27a314b153d8fa07ba9e9ec00a98141e1 Merge: 1053e6b 4ba053c Author: Linus Torvalds Date: Thu Oct 21 12:49:31 2010 -0700 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Check the depth of subclass lockdep: Add improved subclass caching affs: Use sema_init instead of init_MUTEX hfs: Convert tree_lock to mutex arm: Bcmring: semaphore cleanup printk: Make console_sem a semaphore not a pseudo mutex drivers/macintosh/adb: Do not claim that the semaphore is a mutex parport: Semaphore cleanup irda: Semaphore cleanup net: Wan/cosa.c: Convert "mutex" to semaphore net: Ppp_async: semaphore cleanup hamradio: Mkiss: semaphore cleanup hamradio: 6pack: semaphore cleanup net: 3c527: semaphore cleanup input: Serio/hp_sdc: semaphore cleanup input: Serio/hil_mlc: semaphore cleanup input: Misc/hp_sdc_rtc: semaphore cleanup lockup_detector: Make callback function static lockup detector: Fix grammar by adding a missing "to" in the comments lockdep: Remove __debug_show_held_locks commit 1053e6bba091d9d18797f7789df6a7ef8735f20c Merge: a8fe150 3d8a1a6 Author: Linus Torvalds Date: Thu Oct 21 12:49:15 2010 -0700 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/amd-iommu: Update copyright headers x86/amd-iommu: Reenable AMD IOMMU if it's mysteriously vanished over suspend AGP: Warn when GATT memory cannot be set to UC x86, GART: Disable GART table walk probes x86, GART: Remove superfluous AMD64_GARTEN commit a8fe1500986c32b46b36118aa250f6badca11bfc Merge: 94ebd23 f0d3d98 Author: Linus Torvalds Date: Thu Oct 21 12:41:19 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (26 commits) selinux: include vmalloc.h for vmalloc_user secmark: fix config problem when CONFIG_NF_CONNTRACK_SECMARK is not set selinux: implement mmap on /selinux/policy SELinux: allow userspace to read policy back out of the kernel SELinux: drop useless (and incorrect) AVTAB_MAX_SIZE SELinux: deterministic ordering of range transition rules kernel: roundup should only reference arguments once kernel: rounddown helper function secmark: export secctx, drop secmark in procfs conntrack: export lsm context rather than internal secid via netlink security: secid_to_secctx returns len when data is NULL secmark: make secmark object handling generic secmark: do not return early if there was no error AppArmor: Ensure the size of the copy is < the buffer allocated to hold it TOMOYO: Print URL information before panic(). security: remove unused parameter from security_task_setscheduler() tpm: change 'tpm_suspend_pcr' to be module parameter selinux: fix up style problem on /selinux/status selinux: change to new flag variable selinux: really fix dependency causing parallel compile failure. ... commit 94ebd235c493f43681f609b0e02733337053e8f0 Merge: f6f0a6d fe5a50a Author: Linus Torvalds Date: Thu Oct 21 12:40:33 2010 -0700 Merge branch 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: virtio_blk: remove BKL leftovers virtio: console: Disable lseek(2) for port file operations virtio: console: Send SIGIO in case of port unplug virtio: console: Send SIGIO on new data arrival on ports virtio: console: Send SIGIO to processes that request it for host events virtio: console: Reference counting portdev structs is not needed virtio: console: Add reference counting for port struct virtio: console: Use cdev_alloc() instead of cdev_init() virtio: console: Add a find_port_by_devt() function virtio: console: Add a list of portdevs that are active virtio: console: open: Use a common path for error handling virtio: console: remove_port() should return void virtio: console: Make write() return -ENODEV on hot-unplug virtio: console: Make read() return -ENODEV on hot-unplug virtio: console: Unblock poll on port hot-unplug virtio: console: Un-block reads on chardev close virtio: console: Check if portdev is valid in send_control_msg() virtio: console: Remove control vq data only if using multiport support virtio: console: Reset vdev before removing device commit f6f0a6d6a7258eff41fd202fc70df18271a2de79 Merge: 2017bd1 33027af Author: Linus Torvalds Date: Thu Oct 21 12:39:53 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (22 commits) GFS2: fixed typo GFS2: Fix type mapping for demote_rq interface GFS2 fatal: filesystem consistency error on rename GFS2: Improve journal allocation via sysfs GFS2: Add "norecovery" mount option as a synonym for "spectator" GFS2: Fix spectator umount issue GFS2: Fix compiler warning from previous patch GFS2: reserve more blocks for transactions GFS2: Fix journal check for spectator mounts GFS2: Remove upgrade mount option GFS2: Remove localcaching mount option GFS2: Remove ignore_local_fs mount argument GFS2: Make . and .. qstrs constant GFS2: Use new workqueue scheme GFS2: Update handling of DLM return codes to match reality GFS2: Don't enforce min hold time when two demotes occur in rapid succession GFS2: Fix whitespace in previous patch GFS2: fallocate support GFS2: Add a bug trap in allocation code GFS2: No longer experimental ... commit 2017bd19454ea7cdae19922d15b6930f6c8088a2 Merge: 9f1ad09 efa4c12 Author: Linus Torvalds Date: Thu Oct 21 12:38:28 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (22 commits) ceph: do not carry i_lock for readdir from dcache fs/ceph/xattr.c: Use kmemdup rbd: passing wrong variable to bvec_kunmap_irq() rbd: null vs ERR_PTR ceph: fix num_pages_free accounting in pagelist ceph: add CEPH_MDS_OP_SETDIRLAYOUT and associated ioctl. ceph: don't crash when passed bad mount options ceph: fix debugfs warnings block: rbd: removing unnecessary test block: rbd: fixed may leaks ceph: switch from BKL to lock_flocks() ceph: preallocate flock state without locks held ceph: add pagelist_reserve, pagelist_truncate, pagelist_set_cursor ceph: use mapping->nrpages to determine if mapping is empty ceph: only invalidate on check_caps if we actually have pages ceph: do not hide .snap in root directory rbd: introduce rados block device (rbd), based on libceph ceph: factor out libceph from Ceph file system ceph-rbd: osdc support for osd call and rollback operations ceph: messenger and osdc changes for rbd ... commit 9f1ad09493451c19d00c004da479acf699eeedd6 Merge: f6f94e2 46bf36e Author: Linus Torvalds Date: Thu Oct 21 12:33:45 2010 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus: (29 commits) hfsplus: fix getxattr return value hfsplus: remove the unused hfsplus_kmap/hfsplus_kunmap helpers hfsplus: create correct initial catalog entries for device files hfsplus: remove superflous rootflags field in hfsplus_inode_info hfsplus: fix link corruption hfsplus: validate btree flags hfsplus: handle more on-disk corruptions without oopsing hfsplus: hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage hfsplus: fix oops on mount with corrupted btree extent records hfsplus: fix rename over directories hfsplus: convert tree_lock to mutex hfsplus: add missing extent locking in hfsplus_write_inode hfsplus: protect readdir against removals from open_dir_list hfsplus: use atomic bitops for the superblock flags hfsplus: add per-superblock lock for volume header updates hfsplus: remove the rsrc_inodes list hfsplus: do not cache and write next_alloc hfsplus: fix error handling in hfsplus_symlink hfsplus: merge mknod/mkdir/creat hfsplus: clean up hfsplus_write_inode ... commit 7940a34b2e1e0485211a17d8c3ab4da1ea3e1330 Merge: 6451d77 8939b35 Author: Kevin Hilman Date: Thu Oct 21 11:21:55 2010 -0700 Merge branch 'davinci-next' into davinci-for-linus Conflicts: arch/arm/mach-davinci/board-da830-evm.c arch/arm/mach-davinci/board-da850-evm.c commit 530719b2341fea925f58a5d6be0353fa43a88baf Author: Grant Likely Date: Thu Oct 21 11:34:55 2010 -0600 of/irq: of_irq.c needs to include linux/irq.h It works on current architectures simply because asm/prom.h includes it, but it broke when x86 turned on CONFIG_OF. Signed-off-by: Grant Likely commit 4c60071c1ea3e204b9dc25c7519f7beef355d47f Author: David Daney Date: Tue Oct 19 15:50:31 2010 -0700 of/mips: Cleanup some include directives/files. The __init directives should go on the definitions of things, not the declaration, also __init is meaningless for inline functions, so remove it from prom.h. This allows us to get rid of a useless #include, but most of the rest of them are useless too, so kill them as well. If of_i2c.c needs irq definitions, it should include linux/irq.h directly, not assume indirect inclusion via asm/prom.h. Signed-off-by: David Daney Acked-by: Ralf Baechle Signed-off-by: Grant Likely commit f2ffa5ab74f4dfd598860f96ca37a71c4d0a28a8 Author: Dezhong Diao Date: Wed Oct 13 00:52:46 2010 -0600 of/mips: Add device tree support to MIPS Add the ability to enable CONFIG_OF on the MIPS architecture. Signed-off-by: Dezhong Diao [grant.likely@secretlab.ca: cleared out obsolete hooks, removed ARCH_HAS_DEVTREE_MEM, remove __init tags from header file, removed debugfs support hunk] [ddaney@linux-mips.org: backed out over aggressive trimming of hooks] Acked-by: Ralf Baechle Tested-by: David Daney Signed-off-by: Grant Likely commit 32c97689c46b272302053778f1a6c2facb0e220c Author: Grant Likely Date: Wed Oct 20 11:45:14 2010 -0600 of/flattree: Eliminate need to provide early_init_dt_scan_chosen_arch This patch refactors the early init parsing of the chosen node so that architectures aren't forced to provide an empty implementation of early_init_dt_scan_chosen_arch. Instead, if an architecture wants to do something different, it can either use a wrapper function around early_init_dt_scan_chosen(), or it can replace it altogether. This patch was written in preparation to adding device tree support to both x86 ad MIPS. Signed-off-by: Grant Likely Tested-by: David Daney commit 7096d0422153ffcc2264eef652fc3a7bca3e6d3c Author: Grant Likely Date: Wed Oct 20 11:45:13 2010 -0600 of/device: Rework to use common platform_device_alloc() for allocating devices The current code allocates and manages platform_devices created from the device tree manually. It also uses an unsafe shortcut for allocating the platform_device and the resource table at the same time. (which I added in the last rework; sorry). This patch refactors the code to use platform_device_alloc() for allocating new devices. This reduces the amount of custom code implemented by of_platform, eliminates the unsafe alloc trick, and has the side benefit of letting the platform_bus code manage freeing the device data and resources when the device is freed. Signed-off-by: Grant Likely Cc: Benjamin Herrenschmidt Cc: Greg Kroah-Hartman Cc: "David S. Miller" Cc: Michal Simek commit 6d7bccc2215c37205ede6c9cf84db64e7c4f9443 Author: Arnd Bergmann Date: Thu Oct 21 15:58:01 2010 +0200 BKL: remove BKL from freevxfs All uses of the BKL in freevxfs were the result of a pushdown into code that doesn't really need it. As Christoph points out, this is a read-only file system, which eliminates most of the races in readdir/lookup. Signed-off-by: Arnd Bergmann Cc: Christoph Hellwig commit 073c21416268658bd1bc573af85eeac2ebb56ed5 Author: Arnd Bergmann Date: Thu Oct 21 15:53:15 2010 +0200 BKL: remove BKL from qnx4 All uses of the BKL in qnx4 were the result of a pushdown into code that doesn't really need it. As Christoph points out, this is a read-only file system, which eliminates most of the races in readdir/lookup. Signed-off-by: Arnd Bergmann Acked-by: Anders Larsen Cc: Christoph Hellwig commit 2198a10b501fd4443430cb17e065a9e859cc58c9 Merge: 9941fb6 db5a753 Author: David S. Miller Date: Thu Oct 21 08:43:05 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/core/dev.c commit 5b917a1420d3d1a9c8da49fb0090692dc9aaee86 Author: Vasiliy Kulikov Date: Sun Oct 17 18:41:24 2010 +0400 pcmcia: synclink_cs: fix information leak to userland Structure new_line is copied to userland with some padding fields unitialized. It leads to leaking of stack memory. Signed-off-by: Vasiliy Kulikov CC: stable@kernel.org Signed-off-by: Dominik Brodowski commit 9941fb62762253774cc6177d0b9172ece5133fe1 Merge: a5190b4 3b1a1ce Author: David S. Miller Date: Thu Oct 21 08:21:34 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 3b1a1ce6f418cb7ab35eb55c8a6575987a524e30 Merge: cc6eb43 b0aeef3 Author: Patrick McHardy Date: Thu Oct 21 16:25:51 2010 +0200 Merge branch 'for-patrick' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6 commit cc6eb433856983e91071469c4ce57accb6947ccb Author: Balazs Scheidler Date: Thu Oct 21 16:21:10 2010 +0200 tproxy: use the interface primary IP address as a default value for --on-ip The REDIRECT target and the older TProxy versions used the primary address of the incoming interface as the default value of the --on-ip parameter. This was unintentionally changed during the initial TProxy submission and caused confusion among users. Since IPv6 has no notion of primary address, we just select the first address on the list: this way the socket lookup finds wildcard bound sockets properly and we cannot really do better without the user telling us the IPv6 address of the proxy. This is implemented for both IPv4 and IPv6. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit b64c9256a9b76fc9f059f71bd08ba88fb0cbba2e Author: Balazs Scheidler Date: Thu Oct 21 16:19:42 2010 +0200 tproxy: added IPv6 support to the socket match The ICMP extraction bits were contributed by Harry Mason. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit a5190b4eea1f1c53ee26b3d1176441cafa8e7f79 Author: stephen hemminger Date: Fri Oct 15 12:43:10 2010 +0000 cxgb3: function namespace cleanup Make local functions static. Remove functions that are defined and never used. Compile tested only. Signed-off-by: Stephen Hemminger Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 6ad7889327a5ee6ab4220bd34e4428c7d0de0f32 Author: Balazs Scheidler Date: Thu Oct 21 16:17:26 2010 +0200 tproxy: added IPv6 support to the TPROXY target This requires a new revision as the old target structure was IPv4 specific. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 3b9afb29917f4ab08decf358ecfd354a72a91ac0 Author: Balazs Scheidler Date: Thu Oct 21 16:12:14 2010 +0200 tproxy: added IPv6 socket lookup function to nf_tproxy_core Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit cc4ce020935eab2d261b7b8d24a9843b56ad594c Author: Somnath Kotur Date: Thu Oct 21 07:11:14 2010 -0700 be2net: Changes to use only priority codes allowed by f/w Changes to use one of the priority codes allowed by CNA f/w for NIC traffic from host. The driver gets the bit map of the priority codes allowed for host traffic through a asynchronous message from the f/w that the driver subscribes to. Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller commit 7f80d734b3b5d23b9851cc03cc20733bca2c724e Author: Chris Bagwell Date: Mon Oct 11 18:47:18 2010 -0500 eeepc-wmi: Add cpufv sysfs interface eeepc-laptop provides a sysfs interface to read and control what it calls cpufv. When WMI is enabled, the ACPI interface changes slightly and becames a write-only control with 3 valid values. Expose cpufv again to allow for user space utils that can extended battery life noticably and come a little closer to parity with eeepc-laptop. Write-only is OK for most user space apps because read status was mostly used to prevent unneeded mode changes. Since this same check to ignore changes to same mode also exists in the DSDT then it was wasted ACPI call. acpi_osi="!Windows 2009" can be used for get back eeepc-laptop's read support of cpufv for debugging things such as behaviour during resume. This patch was tested with EEE PC 1005PE by monitoring powertop output while writing values of "0", "1", and "2" and by reviewing the decompiled DSDT of an 1201NL and comparing it to 1005PE's DSDT. Signed-off-by: Chris Bagwell Signed-off-by: Matthew Garrett commit eda1748418beb1b9a75d0cea3304edf922c66134 Author: Chris Bagwell Date: Mon Oct 11 18:47:17 2010 -0500 eeepc-wmi: add additional hotkeys Added 4 hotkeys using same keymap values as eeepc-latop. These are mousepad toggle, resolution change, screen off, and task manager. These were tested on 1005PE and are the Fn-F3, F4, F7, and F9, respectively. Also, added a new hot key for power toggles (Fn-Space on 1005PE) and is meant to drive cpufv interface from userspace. Signed-off-by: Chris Bagwell Signed-off-by: Matthew Garrett commit e253fb944d3335a29bc392eafbe14c43832e806a Author: Jean Delvare Date: Thu Oct 21 11:50:47 2010 +0200 panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata Function acpi_pcc_retrieve_biosdata is always called with parameters (pcc, pcc->sinf), so we can drop the second parameter. It was dangerous to pass the sinf array separately anyway, as its length is checked as pcc->num_sifr, which pretty much assumed it was pcc->sinf (or at least had the same size.) This change makes the code slightly more compact and thus marginally faster. Signed-off-by: Jean Delvare Cc: Harald Welte Signed-off-by: Matthew Garrett commit aa13857f13c3d5535904781e264d8f9115e30438 Author: Jean Delvare Date: Thu Oct 21 11:48:47 2010 +0200 panasonic-laptop: Handle errors properly if they happen acpi_pcc_retrieve_biosdata() returns success instead of error if HKEY.SINF is invalid. Fix this. Furthermore, if acpi_pcc_retrieve_biosdata() returns an error during device addition, initialization is properly reverted but value 0 is returned, which means success. This would cause a crash when later using or removing the device, so fix this too. Signed-off-by: Jean Delvare Cc: Harald Welte Cc: Bruno Premont Signed-off-by: Matthew Garrett commit 4119617919c243755946699808ffd0f4befa62c7 Author: Axel Lin Date: Fri Oct 8 17:54:31 2010 +0800 intel_pmic_gpio: fix off-by-one value range checking In pmic_irq_type(), we use gpio as array index for trigger, thus the valid value range for gpio should be 0 .. NUM_GPIO - 1. Signed-off-by: Axel Lin Signed-off-by: Matthew Garrett commit 35f0ce032b0f2d6974da516b5a113f49b7b70b09 Author: Vernon Mauery Date: Tue Oct 5 15:47:18 2010 -0700 IBM Real-Time "SMI Free" mode driver -v7 After a period of RFC for this driver, I think it is ready for inclusion in the platform-driver-x86 tree, hopefully to be staged in the next merge window into Linus's tree. --Vernon ------------------------------------------------------------ IBM Real-Time "SMI Free" mode driver This driver supports the Real-Time Linux (RTL) BIOS feature. The RTL feature allows non-fatal System Management Interrupts (SMIs) to be disabled on supported IBM platforms and is intended to be coupled with a user-space daemon to monitor the hardware in a way that can be prioritized and scheduled to better suit the requirements for the system. The Device is presented as a special "_RTL_" table to the OS in the Extended BIOS Data Area. There is a simple protocol for entering and exiting the mode at runtime. This driver creates a simple sysfs interface to allow a simple entry and exit from RTL mode in the UFI/BIOS. Since the driver is specific to IBM SystemX hardware (x86- based servers) it only builds on x86 builds. To reduce the risk of loading on the wrong hardware, the module uses DMI information and checks a list of servers that are known to work. Signed-off-by: Vernon Mauery Signed-off-by: Matthew Garrett commit 260586d2b444909380137de6c6423e5b44edf4db Author: Daniel Drake Date: Tue Oct 5 15:55:21 2010 +0100 Add OLPC XO-1 rfkill driver Add a software rfkill switch for the WLAN interface in the OLPC XO-1 laptop. It uses the OLPC embedded controller to cut/restore power to the Marvell WLAN chip on the motherboard. Signed-off-by: Daniel Drake Signed-off-by: Matthew Garrett commit bd9fc3a72345807683a009c1e19dc0d517f0f4e7 Author: Jean Delvare Date: Tue Oct 5 12:08:57 2010 +0200 Move hdaps driver to platform/x86 The hdaps driver isn't a hardware monitoring driver, so it shouldn't live under driver/hwmon. drivers/platform/x86 seems much more appropriate, as the driver is only useful on x86 laptops. Signed-off-by: Jean Delvare Cc: Guenter Roeck Cc: Matthew Garrett Cc: Frank Seidel Signed-off-by: Matthew Garrett commit 0a513f6af962525ed4b3395f8c8d5daae8682aa9 Author: Balazs Scheidler Date: Thu Oct 21 16:10:03 2010 +0200 tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 6c46862280c5f55eda7750391bc65cd7e08c7535 Author: Balazs Scheidler Date: Thu Oct 21 16:08:28 2010 +0200 tproxy: added tproxy sockopt interface in the IPV6 layer Support for IPV6_RECVORIGDSTADDR sockopt for UDP sockets were contributed by Harry Mason. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit aa976fc011efa1f0e3290c6c9addf7c20757f885 Author: Balazs Scheidler Date: Thu Oct 21 16:05:41 2010 +0200 tproxy: added udp6_lib_lookup function Just like with IPv4, we need access to the UDP hash table to look up local sockets, but instead of exporting the global udp_table, export a lookup function. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 88440ae70eda83d0cc94148d404f4990c9f1289c Author: Balazs Scheidler Date: Thu Oct 21 16:04:33 2010 +0200 tproxy: added const specifiers to udp lookup functions The parameters for various UDP lookup functions were non-const, even though they could be const. TProxy has some const references and instead of downcasting it, I added const specifiers along the path. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit e97c3e278e951501c2f385de70c3ceacdea78c4a Author: Balazs Scheidler Date: Thu Oct 21 16:03:43 2010 +0200 tproxy: split off ipv6 defragmentation to a separate module Like with IPv4, TProxy needs IPv6 defragmentation but does not require connection tracking. Since defragmentation was coupled with conntrack, I split off the two, creating an nf_defrag_ipv6 module, similar to the already existing nf_defrag_ipv4. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 6de5bd128d381ad88ac6d419a5e597048eb468cf Author: Arnd Bergmann Date: Sat Sep 11 18:00:57 2010 +0200 BKL: introduce CONFIG_BKL. With all the patches we have queued in the BKL removal tree, only a few dozen modules are left that actually rely on the BKL, and even there are lots of low-hanging fruit. We need to decide what to do about them, this patch illustrates one of the options: Every user of the BKL is marked as 'depends on BKL' in Kconfig, and the CONFIG_BKL becomes a user-visible option. If it gets disabled, no BKL using module can be built any more and the BKL code itself is compiled out. The one exception is file locking, which is practically always enabled and does a 'select BKL' instead. This effectively forces CONFIG_BKL to be enabled until we have solved the fs/lockd mess and can apply the patch that removes the BKL from fs/locks.c. Signed-off-by: Arnd Bergmann commit 75b2d09a295d3232fdacd0a0a07d91c6f118ca18 Author: Matthew Garrett Date: Tue Oct 5 09:18:30 2010 -0400 ideapad-laptop: Fix Makefile The makefile didn't get updated when the driver changed name, which broke the build. Signed-off-by: Matthew Garrett commit ffcfff3a8d6cc94f1fb598e0b021c64ce35b5036 Author: Alek Du Date: Mon Oct 4 16:40:35 2010 +0100 intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register The intel_scu_ipc_update_register 2nd paramter should the bits and 3rd paramter should be the mask. This typo was introduced during IPC function changing... Reported-by: Ryan Zhou Signed-off-by: Alek Du Signed-off-by: Alan Cox Signed-off-by: Matthew Garrett commit bfa97b7dab708b100040a1335ea0860a8b9ef346 Author: Ike Panhc Date: Fri Oct 1 15:40:22 2010 +0800 ideapad: Add param: no_bt_rfkill Add new module parameter that force module not to register bluetooth rfkill. There is report that saying using this bluetooth rfkill to enable/disable bluetooth will let bluetooth device initial failed when enable on Lenovo ideapad S12. Fortunately there is another rfkill registered by bluetooth driver for S12 and user can shutdown the bluetooth by either bluetooth driver or HW RF switch. For dual OS user, it may have some trouble that using Linux after turning off bluetooth with another OS if we do not register bluetooth rfkill at all. So we will force bluetooth enable when no_bt_rfkill=1. Signed-off-by: Ike Panhc Tested-by: Mario 'BitKoenig' Holbe Signed-off-by: Matthew Garrett commit 57ac3b051cc09693f2e0f4725c87091ab11c7318 Author: Ike Panhc Date: Fri Oct 1 15:40:09 2010 +0800 ideapad: Change the driver name to ideapad-laptop Since the platform drivers doing more for laptops than just using specific ACPI device. It will be good to change the name from *_acpi to *-laptop. Reference: http://lkml.org/lkml/2010/8/14/154 Signed-off-by: Ike Panhc Acked-by: Len Brown Signed-off-by: Matthew Garrett commit fa08359ee29bd0dc52a4281d0e482fff08664b96 Author: Ike Panhc Date: Fri Oct 1 15:39:59 2010 +0800 ideapad: rewrite the sw rfkill set Control power of rf modules by ec commands Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 2b7266bd49efc84f6642cf9bb7fb37d286345d15 Author: Ike Panhc Date: Fri Oct 1 15:39:49 2010 +0800 ideapad: rewrite the hw rfkill notify 1. Read hw rfkill status by ec command 2. Not to touch sw status of each rfkill when hw rfkill notify 3. Initial rfkill status when module loaded Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 26c81d5c9a88af404a5fef43caa259e8637fec94 Author: Ike Panhc Date: Fri Oct 1 15:39:40 2010 +0800 ideapad: use EC command to control camera Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit dfa7f6fe0ad7697ba43303bf37487987409b1b91 Author: Ike Panhc Date: Fri Oct 1 15:39:29 2010 +0800 ideapad: use return value of _CFG to tell if device exist or not There are several bits of the return value of _CFG shows if RF/Camera devices exist or not. Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 6f8371c05e64138c305aa1b6a21857cd7a50e147 Author: Ike Panhc Date: Fri Oct 1 15:39:14 2010 +0800 ideapad: make sure we bind on the correct device By reading from method _CFG to make sure we bind on the correct VPC2004 device. Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 8e7d354370f61cbe82a8b4a0f74224aed900b410 Author: Ike Panhc Date: Fri Oct 1 15:39:05 2010 +0800 ideapad: check VPC bit before sync rfkill hw status Check VPC bit to make sure the HW rfkill is touched. Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 6a09f21dd1e205a68c8f8c4f39e4cff8f63801b6 Author: Ike Panhc Date: Fri Oct 1 15:38:46 2010 +0800 ideapad: add ACPI helpers There are two methods under VPC2004 which is used to access VDAT/VCMD of EC register. Add helpers for read and write these two registers. And add read_method_int for reading the return value from ACPI methods which requires no parameter. Signed-off-by: Ike Panhc Signed-off-by: Matthew Garrett commit 037accfa14b28ecf49d9060063929c4b4cde373f Author: Keng-Yu Lin Date: Tue Sep 28 11:43:31 2010 +0800 dell-laptop: Add debugfs support Export the status of RF killswitch through debugfs. The killswitch status is obtained by the SMI to BIOS. Exporting this status through debugfs can help identify the issue with the misbehaving firmware. Signed-off-by: Keng-Yu Lin Signed-off-by: Matthew Garrett commit c64eefd48c44fa8145ad1f96edabf4a053fffc49 Author: Dmitry Torokhov Date: Thu Aug 26 00:15:30 2010 -0700 WMI: embed struct device directly into wmi_block Instead of creating wmi_blocks and then register corresponding devices on a separate pass do it all in one shot, since lifetime rules for both objects are the same. This also takes care of leaking devices when device_create fails for one of them. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 614ef4322200086447d5e1f79e8876213c94f499 Author: Dmitry Torokhov Date: Thu Aug 26 00:15:25 2010 -0700 WMI: make use of class device's attributres Instead of adding modalias attribute manually set it up as class's device attribute so driver core will create and remove it for us. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 8e07514db8d037a8454e81cd529a9844c9fa7075 Author: Dmitry Torokhov Date: Thu Aug 26 00:15:19 2010 -0700 WMI: use pr_err() and friends This makes source more concise and easier to read. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 762e1a2ff6c1116d8f6f175994753fa2319097f2 Author: Dmitry Torokhov Date: Thu Aug 26 00:15:14 2010 -0700 WMI: use separate list head for storing wmi blocks Do not abuse wmi_block structure to hold the head of list of blocks, use separate list_head for that. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 378306628e26d2945a1ed245f177a693c314e68d Author: Dmitry Torokhov Date: Thu Aug 26 00:15:09 2010 -0700 WMI: simplify handling of returned WMI blocks in parse_wdg() There is no reason why we allocate memory and copy data into an intermediate buffer, it is not like we are working with data coming from userspace. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 3d2c63eb5e0abfd06b19928c8ed43020b3451a3c Author: Dmitry Torokhov Date: Thu Aug 26 00:15:03 2010 -0700 WMI: fix potential NULL pointer dereference Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 64ed0ab8d060d28a7787de29c76178c2efc1dd65 Author: Dmitry Torokhov Date: Thu Aug 26 00:14:58 2010 -0700 WMI: do not leak memory in parse_wdg() If we _WDG returned object that is not buffer we were forgetting to free memory allocated for that object. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 4e4304d7498c85f6ea798ee5fcb5d3bd3741e74f Author: Dmitry Torokhov Date: Thu Aug 26 00:14:53 2010 -0700 WMI: fix wmi_gtoa() to actully terminate the string Courtesy of sparse... Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 2d5ab5551f38793f8977114d78a98aad138cfb4e Author: Dmitry Torokhov Date: Thu Aug 26 00:14:48 2010 -0700 WMI: free wmi blocks when parse_wdg() fails Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 5212cd678af82fef00f6d60d14de01c1211aad56 Author: Dmitry Torokhov Date: Thu Aug 26 00:14:42 2010 -0700 WMI: remove EC region handler when _WDG parsing fails Driver initialization was forgetting to remove EC address space handler in cases when parse_wdg() method failed. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit ac9b1e5b63d5d9829ecf2294f0486ccd270c5db4 Author: Dmitry Torokhov Date: Thu Aug 26 00:12:19 2010 -0700 asus-laptop: use attribute group to manage attributes Instead of registering (and removing) every attribute individually switch to using sysfs attribute group. This makes sure that we properly unwind and do not try to remove non-existent attributes which may not be safe to do in the future. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 209009b2cb29124ad707fbb3ba4c95d3d100a1c4 Author: Alan Cox Date: Mon Sep 13 15:55:05 2010 +0100 scu_ipc: Fix warning caused by include changes We need to include the SFI headers. This is fine as the SCU is only relevant to x86 platforms with SFI. Fixes the -next warning report. Signed-off-by: Alan Cox Signed-off-by: Matthew Garrett commit 392bd8b58414106b129d72a33fa99b999b720237 Author: Andy Shevchenko Date: Sat Sep 11 16:31:02 2010 +0300 platform: x86: throw away custom methods In 2.6.35 the hex_to_bin() was introduced. Signed-off-by: Andy Shevchenko Cc: Carlos Corbacho Cc: Matthew Garrett Cc: platform-driver-x86@vger.kernel.org Signed-off-by: Matthew Garrett commit 91e5d284a7f14c70187914056b0466163a5e2f03 Author: Randy Dunlap Date: Sat Aug 28 10:10:50 2010 -0700 acpi_toshiba: fix kconfig error Fix kconfig recursive dependency error in ACPI_TOSHIBA: it uses both select and depends on for BACKLIGHT_CLASS_DEVICE. drivers/video/backlight/Kconfig:117:error: recursive dependency detected! drivers/video/backlight/Kconfig:117: symbol BACKLIGHT_CLASS_DEVICE is selected by ACPI_TOSHIBA drivers/platform/x86/Kconfig:490: symbol ACPI_TOSHIBA depends on LEDS_CLASS drivers/leds/Kconfig:12: symbol LEDS_CLASS is selected by BACKLIGHT_ADP8860 drivers/video/backlight/Kconfig:285: symbol BACKLIGHT_ADP8860 depends on BACKLIGHT_CLASS_DEVICE Signed-off-by: Randy Dunlap Signed-off-by: Matthew Garrett commit af9902e130d30ce46b5827d18f8dd56e2accbaf1 Author: Pascal de Bruijn Date: Mon Aug 30 09:09:53 2010 +0200 Don't show error if Acer WMI is not found Signed-off-by: Matthew Garrett commit b404ecbf91a5c19c0f448b513aa26696eee09392 Author: Dmitry Torokhov Date: Wed Aug 25 07:45:45 2010 -0700 asus-laptop: remove no longer used keycode_map field The driver uses sparse keymap library and does not use this field anymore. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 23f45c3a76e715217f40ac397c15815c774cad7f Author: Corentin Chary Date: Tue Aug 24 09:30:46 2010 +0200 asus-laptop: fix gps rfkill The GPS rfkill crappy code. The ops_data argument wasn't set, and was totally misused. The fix have been tested on an Asus R2H. Cc: stable@kernel.org Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett commit b58baecddee634903f339b7f7e9db7fc2a1449f1 Author: Corentin Chary Date: Tue Aug 24 09:30:45 2010 +0200 asus-laptop: Add key found on Asus N61JQ Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett commit 71e687dc499819caa0d6ee0f80dcda1d5c24b5b2 Author: Corentin Chary Date: Tue Aug 24 09:30:44 2010 +0200 platform-x86: sync eeepc-laptop and asus-laptop Makes asus-laptop and eeepc-laptop _init/_exit functions looks exactly the same as they do the same thing. Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett commit 384a7cd9ace5b37a17ffea436f09170cdf671c88 Author: Dmitry Torokhov Date: Wed Aug 4 22:30:19 2010 -0700 toshiba-acpi - switch to using sparse keymap Instead of implementing its own version of keymap hanlding switch over to using sparse keymap library. Also, install notify handler only after we allocated input device, otherwise we may risk getting event too early and crash. Similarly, notify handler should be removed before we unregister input device. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 4d291ed7217d617dacbf54b4bd35819b0d08b981 Author: Dmitry Torokhov Date: Wed Aug 4 22:30:13 2010 -0700 Input: hp-wmi - switch to using sparse keymap library Instead of implementing its own version of keymap hanlding switch over to using sparse keymap library. Also make sure that we install notify handler only after we allocated input device and that we remove notify handler before unregistering input device. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 890a7c8e8dc2d0890e795bda9ad3484ebac42c0b Author: Dmitry Torokhov Date: Wed Aug 4 22:30:08 2010 -0700 Input: dell-wmi - switch to using sparse keymap library Instead of implementing its own version of keymap hanlding switch over to using sparse keymap library. Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 1a765cac9a241380511a3b1dd4edf74a41cbfdf9 Author: Dmitry Torokhov Date: Wed Aug 4 22:30:02 2010 -0700 panasonic-laptop - switch to using sparse keymap library nstead of implementing its own version of keymap hanlding switch over to using sparse keymap library. Cc: Harald Welte Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 97490f1cf82cccf2e088aafffb0517802f0ee336 Author: Dmitry Torokhov Date: Wed Aug 4 22:29:57 2010 -0700 topstar-laptop - switch to using sparse keymap library Instead of implementing its own version of keymap hanlding switch over to using sparse keymap library. Acked-by: Herton Ronaldo Krzesinski Signed-off-by: Dmitry Torokhov Signed-off-by: Matthew Garrett commit 39dc948c6921169e13224a97fa53188922acfde8 Merge: a731cd1 f6f94e2 Author: Alex Elder Date: Thu Oct 21 08:29:34 2010 -0500 Merge branch 'v2.6.36' commit 3f9bcca7820a6711307b6499952b13cfcfc31dd6 Author: Suresh Jayaraman Date: Mon Oct 18 23:29:37 2010 +0530 cifs: convert cifs_tcp_ses_lock from a rwlock to a spinlock cifs_tcp_ses_lock is a rwlock with protects the cifs_tcp_ses_list, server->smb_ses_list and the ses->tcon_list. It also protects a few ref counters in server, ses and tcon. In most cases the critical section doesn't seem to be large, in a few cases where it is slightly large, there seem to be really no benefit from concurrent access. I briefly considered RCU mechanism but it appears to me that there is no real need. Replace it with a spinlock and get rid of the last rwlock in the cifs code. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit e5953cbdff26f7cbae7eff30cd9b18c4e19b7594 Author: Nicolas Kaiser Date: Thu Oct 21 14:56:00 2010 +0200 pipe: fix failure to return error code on ->confirm() The arguments were transposed, we want to assign the error code to 'ret', which is being returned. Signed-off-by: Nicolas Kaiser Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 4d1529043705737ba442f5a0048043718e601ce4 Author: Mike Snitzer Date: Thu Oct 21 14:54:19 2010 +0200 Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c Signed-off-by: Mike Snitzer Signed-off-by: Jens Axboe commit 525906bc898d712f21e5bfcfc85ab0e517e3d086 Author: Borislav Petkov Date: Fri Oct 15 15:27:02 2010 +0200 EDAC, MCE: Fix shift warning on 32-bit Fix drivers/edac/mce_amd.c:262: warning: left shift count >= width of type on 32-bit builds. Reported-by: Randy Dunlap Signed-off-by: Borislav Petkov commit cf1d2200dbc214c26a116c4d0c75b7cf27bb19b6 Author: Borislav Petkov Date: Fri Oct 15 15:20:18 2010 +0200 EDAC, MCE: Add a BIT_64() macro Add a macro for 64-bit vectors to use when accessing MSR contents. Signed-off-by: Borislav Petkov commit fda7561f438aeddf074e2db0890e283195aa7779 Author: Borislav Petkov Date: Wed Sep 22 16:12:03 2010 +0200 EDAC, MCE: Enable MCE decoding on F12h Turn on MCE decoding on F12h. Signed-off-by: Borislav Petkov commit cb9d5ecdff66197f65a6be8032ccc1ebf7199684 Author: Borislav Petkov Date: Thu Sep 16 17:36:12 2010 +0200 EDAC, MCE: Add F12h NB MCE decoder F12h is completely covered by the generic path. Signed-off-by: Borislav Petkov commit e7281eb37da045abac5bd795d1169fc2e3eeea49 Author: Borislav Petkov Date: Thu Sep 16 16:45:22 2010 +0200 EDAC, MCE: Add F12h IC MCE decoder ... which is the same as for K8 and F10h. Signed-off-by: Borislav Petkov commit 9be0bb1072e3544934e0ac20f184e50805aecf9c Author: Borislav Petkov Date: Thu Sep 16 15:08:14 2010 +0200 EDAC, MCE: Add F12h DC MCE decoder F12h DC MCE signatures are a subset of F10h's so reuse them. Signed-off-by: Borislav Petkov commit f0157b3afd2ec6331245768a785487249a3c9734 Author: Borislav Petkov Date: Tue Oct 5 19:07:16 2010 +0200 EDAC, MCE: Add support for F11h MCEs F11h has almost the same MCE signatures as K8 except DRAM ECC and MC5 bank errors. Reuse functionality from the other families. Signed-off-by: Borislav Petkov commit 9530d608ef0e1f76b7fd82bb92645062292fc009 Author: Borislav Petkov Date: Mon Sep 6 15:05:45 2010 +0200 EDAC, MCE: Enable MCE decoding on F14h Now that all decoders have been taught about F14h, models < 0x10 MCEs, enable decoding on this family of CPUs. Also, issue a short informational message upon boot that MCE decoding gets enabled. Signed-off-by: Borislav Petkov commit fe4ea2623bec3e595f8e77a8514307c389c096ae Author: Borislav Petkov Date: Tue Aug 31 18:38:24 2010 +0200 EDAC, MCE: Fix FR MCEs decoding Those are N/A on K8, so don't decode them there. Signed-off-by: Borislav Petkov commit 5ce88f6ea6bef929f59f9468413f922c9a486fa4 Author: Borislav Petkov Date: Tue Aug 31 18:28:08 2010 +0200 EDAC, MCE: Complete NB MCE decoders Add support for decoding F14h BU MCEs and improve decoding of the remaining families. Signed-off-by: Borislav Petkov commit ded506232865e8e932bc21c87f48170d50db4d97 Author: Borislav Petkov Date: Fri Aug 27 17:03:34 2010 +0200 EDAC, MCE: Warn about LS MCEs on F14h F14h CPUs do not generate LS MCEs so exit early and warn the user in case this path is ever hit that something else might be going haywire. Signed-off-by: Borislav Petkov commit dd53bce4e8987f6848840d42bbeead5221eff308 Author: Borislav Petkov Date: Thu Aug 26 19:05:49 2010 +0200 EDAC, MCE: Adjust IC decoders to F14h Add support for IC MCEs for F14h CPUs. K8 and F10h are almost identical so use one function for both. Signed-off-by: Borislav Petkov commit 888ab8e6eb2e41179cdc8edf5d0abd1cce0f0370 Author: Borislav Petkov Date: Wed Aug 18 15:11:35 2010 +0200 EDAC, MCE: Adjust DC decoders to F14h Add a per-family data cache decoders. Since there is a certain overlap between the different DC MCE signatures, reuse functionality between the families as far as possible. Signed-off-by: Borislav Petkov commit 47ca08a40b043815134d489e21870b53276f1a4a Author: Borislav Petkov Date: Mon Sep 27 15:30:39 2010 +0200 EDAC, MCE: Rename files Drop "edac_" string from the filenames since they're prefixed with edac/ in their pathname anyway. Signed-off-by: Borislav Petkov commit 9cdeb404a1870c5022915e576dbdc3cde21af5bf Author: Borislav Petkov Date: Thu Sep 2 18:33:24 2010 +0200 EDAC, MCE: Rework MCE injection Add sysfs injection facilities for testing of the MCE decoding code. Remove large parts of amd64_edac_dbg.c, as a result, which did only NB MCE injection anyway and the new injection code supports that functionality already. Add an injection module so that MCE decoding code in production kernels like those in RHEL and SLES can be tested. Signed-off-by: Borislav Petkov commit 30e1f7a8122145f44f45c95366e27b6bb0b08428 Author: Borislav Petkov Date: Thu Sep 2 17:26:48 2010 +0200 EDAC: Export edac sysfs class to users. Move toplevel sysfs class to the stub and make it available to non-modularized code too. Add proper refcounting of its users and move the registration functionality into the reference counting routines. Signed-off-by: Borislav Petkov commit 7cfd4a87441f5ca3018fdd1f7ad67e8a73a05dc2 Author: Borislav Petkov Date: Wed Sep 1 14:45:20 2010 +0200 EDAC, MCE: Pass complete MCE info to decoders ... instead of the MCi_STATUS info only for improved handling of certain types of errors later. Signed-off-by: Borislav Petkov commit 6337583d7dc0dced36ab98dd63de2389c95c22d9 Author: Borislav Petkov Date: Mon Sep 6 18:13:39 2010 +0200 EDAC, MCE: Sanitize error codes Clean up error codes names, shorten to mnemonics, add RRRR boundary checking. Signed-off-by: Borislav Petkov commit 0ee8efa8f4672ce35ee370291c0f21d7b87b1e3f Author: Borislav Petkov Date: Mon Aug 30 12:34:19 2010 +0200 EDAC, MCE: Remove unused function parameter Remove remains from previous functionality. Signed-off-by: Borislav Petkov commit c9f281fd96b29367363ee232021c030d025c52a8 Author: Borislav Petkov Date: Wed Aug 18 18:21:42 2010 +0200 EDAC, MCE: Add HW_ERR prefix .. so that the user knows what she's looking at there in dmesg. Also, fix a minor cosmetic output inconsistency. Signed-off-by: Borislav Petkov commit ca755e0a49ff1272efff0b3bfdf3f1e0b0fc5d57 Author: Borislav Petkov Date: Wed Sep 1 16:32:20 2010 +0200 EDAC: Fix error return We should return a negative value when we cannot get the toplevel edac sysfs class. Signed-off-by: Borislav Petkov commit e83726b0460f4741c8f10e1488fbcc0a9e5f0b7e Author: Eric Dumazet Date: Thu Oct 21 04:39:09 2010 -0700 l2tp: small cleanup Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b0aeef30433ea6854e985c2e9842fa19f51b95cc Author: Julian Anastasov Date: Mon Oct 11 11:23:07 2010 +0300 nf_nat: restrict ICMP translation for embedded header Skip ICMP translation of embedded protocol header if NAT bits are not set. Needed for IPVS to see the original embedded addresses because for IPVS traffic the IPS_SRC_NAT_BIT and IPS_DST_NAT_BIT bits are not set. It happens when IPVS performs DNAT for client packets after using nf_conntrack_alter_reply to expect replies from real server. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 612eef4f4714d5c0e7127b7b245dbfc444d14a4b Author: Marc Kleine-Budde Date: Wed Oct 20 00:02:26 2010 +0000 can: mcp251x: fix generation of error frames The function "mcp251x_error_skb" is used to generate error frames. They are identified by the "CAN_ERR_FLAG" in can_id. The function overwrites the can_id so that the frames show up as normal frames instead of error frames. This patch fixes the problem by or'ing the can_id instead of overwriting it. Signed-off-by: Marc Kleine-Budde Tested-by: Jargalan Nermunkh Signed-off-by: David S. Miller commit 5601b2dfae86198667dd6e075a074fbef0c83423 Author: Marc Kleine-Budde Date: Wed Oct 20 00:02:25 2010 +0000 can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set Commit d3cd15657516141adce387810be8cb377baf020e introduced a bug, the interrupt handler would loop endlessly if the CANINTF_MERRF bit is set, because it's not cleared. This patch fixes the problem by masking out the CANINTF_MERRF and all other non interesting bits. Signed-off-by: Marc Kleine-Budde Signed-off-by: David S. Miller commit 1e55659ce6ddb5247cee0b1f720d77a799902b85 Author: Oliver Hartkopp Date: Tue Oct 19 09:32:04 2010 +0000 can-raw: add msg_flags to distinguish local traffic CAN has no addressing scheme. It is currently impossible for userspace to tell is a received CAN frame comes from another process on the local host, or from a remote CAN device. This patch add support for userspace applications to distinguish between 'own', 'local' and 'remote' CAN traffic. The distinction is made by returning flags in msg->msg_flags in the call to recvmsg(). The added documentation explains the introduced flags. Signed-off-by: Kurt Van Dijck Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 32a875adcdcf5f470bf967250cfd01722e23844f Author: stephen hemminger Date: Tue Oct 19 06:48:16 2010 +0000 9p: client code cleanup Make p9_client_version static since only used in one file. Remove p9_client_auth because it is defined but never used. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ff51bf841587c75b58d25ed77263158619784dd3 Author: stephen hemminger Date: Tue Oct 19 08:08:33 2010 +0000 rds: make local functions/variables static The RDS protocol has lots of functions that should be declared static. rds_message_get/add_version_extension is removed since it defined but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d0c2b0d265a0f1f92922a99a31def9da582197ac Author: stephen hemminger Date: Tue Oct 19 07:12:10 2010 +0000 napi: unexport napi_reuse_skb The function napi_reuse_skb is only used inside core. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a0e00369f1e1ff9142a20efe4785890e52b2e525 Author: Allan Stephens Date: Mon Oct 18 11:43:56 2010 +0000 tipc: delete needless memset from bearer enabling. Eliminates zeroing out of the new bearer structure at the start of activation, since it is already in that state. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker Acked-by: Neil Horman Signed-off-by: David S. Miller commit 13eea19213c1f4b711124ddc08c4bb9344442b64 Author: Julia Lawall Date: Mon Oct 18 04:11:14 2010 +0000 drivers/net/ax88796.c: Return error code in failure In this code, 0 is returned on failure, even though other failures return -ENOMEM or other similar values. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @a@ identifier alloc; identifier ret; constant C; expression x; @@ x = alloc(...); if (x == NULL) { <+... \(ret = -C; \| return -C; \) ...+> } @@ identifier f, a.alloc; expression ret; expression x,e1,e2,e3; @@ ret = 0 ... when != ret = e1 *x = alloc(...) ... when != ret = e2 if (x == NULL) { ... when != ret = e3 return ret; } // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit afed4ccb0d975f1d3c98880ecf19a24f3d842394 Author: James Hogan Date: Sun Oct 17 01:48:59 2010 +0000 b44: fix resume, request_irq after hw reset On resume, call request_irq() after resetting the hardware rather than before. It's a shared interrupt so the handler could be called immediately if another device on the same irq interrupts (and will be called immediately if CONFIG_DEBUG_SHIRQ=y), but unless the hardware is reinitialised with b44_init_hw() the read of the interrupt status register will hang the system. Signed-off-by: James Hogan Signed-off-by: David S. Miller commit 31b9c19bfe32bed7fdf80cd0b1aa9d0f0569844a Author: stephen hemminger Date: Mon Oct 18 05:39:18 2010 +0000 cxgb4: function namespace cleanup (v3) Make functions only used in one file local. Remove lots of dead code, relating to unsupported functions in mainline driver like RSS, IPv6, and TCP offload. Signed-off-by: Stephen Hemminger Acked-by: Dimitris Michailidis Signed-off-by: David S. Miller commit b003f4e171304234eae9cc11c9fd7f1cbaaf0d6b Author: Jan Kiszka Date: Sun Oct 17 05:18:15 2010 +0000 CAPI: Silence lockdep warning on get_capi_appl_by_nr usage As long as we hold capi_controller_lock, we can safely access capi_applications without RCU protection as no one can modify the application list underneath us. Introduce an RCU-free __get_capi_appl_by_nr for this purpose. This silences lockdep warnings on suspicious rcu_dereference usage. Signed-off-by: Jan Kiszka Signed-off-by: David S. Miller commit 1e253c3b8a1aeed51eef6fc366812f219b97de65 Author: Benjamin Poirier Date: Mon Oct 18 16:09:35 2010 +0000 bridge: Forward reserved group addresses if !STP Make all frames sent to reserved group MAC addresses (01:80:c2:00:00:00 to 01:80:c2:00:00:0f) be forwarded if STP is disabled. This enables forwarding EAPOL frames, among other things. Signed-off-by: Benjamin Poirier Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a5c30b349b872aa2ac13babbd5ceb26737f17e95 Author: Tejun Heo Date: Tue Oct 19 06:04:42 2010 +0000 net/neighbour: cancel_delayed_work() + flush_scheduled_work() -> cancel_delayed_work_sync() flush_scheduled_work() is going away. Prepare for it. Signed-off-by: Tejun Heo Signed-off-by: David S. Miller commit db5a753bf198ef7a50e17d2ff358adf37efe8648 Author: Neil Horman Date: Thu Oct 21 01:06:16 2010 +0000 Revert d88dca79d3852a3623f606f781e013d61486828a TIPC needs to have its endianess issues fixed. Unfortunately, the format of a subscriber message is passed in directly from user space, so requiring this message to be in network byte order breaks user space ABI. Revert this change until such time as we can determine how to do this in a backwards compatible manner. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 8c974438085d2c81b006daeaab8801eedbd19758 Author: Neil Horman Date: Thu Oct 21 01:06:15 2010 +0000 Revert c6537d6742985da1fbf12ae26cde6a096fd35b5c Backout the tipc changes to the flags int he subscription message. These changees, while reasonable on the surface, interefere with user space ABI compatibility which is a no-no. This was part of the changes to fix the endianess issues in the TIPC protocol, which would be really nice to do but we need to do so in a way that is backwards compatible with user space. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 093d282321daeb19c107e5f1f16d7f68484f3ade Author: Balazs Scheidler Date: Thu Oct 21 13:06:43 2010 +0200 tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() When __inet_inherit_port() is called on a tproxy connection the wrong locks are held for the inet_bind_bucket it is added to. __inet_inherit_port() made an implicit assumption that the listener's port number (and thus its bind bucket). Unfortunately, if you're using the TPROXY target to redirect skbs to a transparent proxy that assumption is not true anymore and things break. This patch adds code to __inet_inherit_port() so that it can handle this case by looking up or creating a new bind bucket for the child socket and updates callers of __inet_inherit_port() to gracefully handle __inet_inherit_port() failing. Reported by and original patch from Stephen Buck . See http://marc.info/?t=128169268200001&r=1&w=2 for the original discussion. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit d2ed817766987fd05e69b7da65d4861b38f1aa2a Author: Ben Greear Date: Thu Oct 21 04:06:29 2010 -0700 net/core: Allow tagged VLAN packets to flow through VETH devices. When there are VLANs on a VETH device, the packets being transmitted through the VETH device may be 4 bytes bigger than MTU. A check in dev_forward_skb did not take this into account and so dropped these packets. This patch is needed at least as far back as 2.6.34.7 and should be considered for -stable. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit be8c648051048bc66fbca590d00f3e8543ec32af Author: Arnaud Patard Date: Thu Oct 21 03:59:57 2010 -0700 phy/marvell: fix 88e1121 support Commit c477d0447db08068a497e7beb892b2b2a7bff64b added support for RGMII rx/tx delays except that it ends up clearing rx/tx delays bit for modes differents that RGMII*ID. Due to this, ethernet is not working anymore on my guruplug server +. This patch is fixing that. Signed-off-by: Arnaud Patard Signed-off-by: David S. Miller commit 27ab76065c0c6734ea98ccc7080046a72d98455b Author: Yi Zou Date: Wed Oct 20 23:00:30 2010 +0000 ixgbe: add a refcnt when turning on/off FCoE offload capability The FCoE offload is enabled/disabled per adapter, but upper FCoE protocol stack could have multiple FCoE instances created on the same physical network interface, e.g., FCoE on multiple VLAN interfaces on the same physical network interface. In this case we want to turn on FCoE offload at the first request from ndo_fcoe_enable() but only turn off FCoE offload at the very last call to ndo_fcoe_disable(). This is fixed by adding a refcnt in the per adapter FCoE structure and tear down FCoE offload when refcnt decrements to zero. Signed-off-by: Yi Zou Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit de1036b1cea147c5049c65f5bd26fb451f1624cd Author: Eric Dumazet Date: Wed Oct 20 23:00:04 2010 +0000 ixgbe: fix stats handling Current ixgbe stats have following problems : - Not 64 bit safe (on 32bit arches) - Not safe in ixgbe_clean_rx_irq() : All cpus dirty a common location (netdev->stats.rx_bytes & netdev->stats.rx_packets) without proper synchronization. This slow down a bit multiqueue operations, and possibly miss some updates. Fixes : Implement ndo_get_stats64() method to provide accurate 64bit rx|tx bytes/packets counters, using 64bit safe infrastructure. ixgbe_get_ethtool_stats() also use this infrastructure to provide 64bit safe counters. Signed-off-by: Eric Dumazet Acked-by: Don Skidmore Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3a338cbb8bb46a6b86f4dca54bf73b9c78751659 Author: Emil Tantilov Date: Wed Oct 20 22:59:40 2010 +0000 ixgbe: update copyright info Update copyright notice Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e47dfcd81edb7c6065fd2219c818b3b526bd624d Author: Guo-Fu Tseng Date: Mon Oct 18 14:10:44 2010 +0000 jme: Advance version number Advance version number and update copyright info Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 334fbbb747c978ae9171b9c29dfcea881f4a8d57 Author: Guo-Fu Tseng Date: Mon Oct 18 14:10:43 2010 +0000 jme: Adding mii-tool support Adding mii-tool support for some distribution only have mii-tool installed by default. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit ea192aa89c3b26d56113e70c72238f6951d4097f Author: Guo-Fu Tseng Date: Mon Oct 18 14:10:42 2010 +0000 jme: Prevent possible read re-order error Adding read memory barrier in between flag reading and data reading of receive descriptors. This prevents the data being read before hardware complete writing informations. Reported-by: Stefan Hajnoczi Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 3ee94018a9f49ca98e3f77f54a769c784115dbb8 Author: Guo-Fu Tseng Date: Mon Oct 18 14:10:41 2010 +0000 jme: Add comment in jme_set_settings Explains what `fdc` variable is for. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit c8a8684d5cfb0f110a962c93586630c0bf91ebc1 Author: Guo-Fu Tseng Date: Mon Oct 18 14:10:40 2010 +0000 jme: Fix PHY power-off error Adding phy_on in opposition to phy_off. Signed-off-by: Guo-Fu Tseng Cc: Signed-off-by: David S. Miller commit 6006db84a91838813cdad8a6622a4e39efe9ea47 Author: Balazs Scheidler Date: Thu Oct 21 12:47:34 2010 +0200 tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4() Also, inline this function as the lookup_type is always a literal and inlining removes branches performed at runtime. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 106e4c26b1529e559d1aae777f11b4f8f7bafc26 Author: Balazs Scheidler Date: Thu Oct 21 12:45:14 2010 +0200 tproxy: kick out TIME_WAIT sockets in case a new connection comes in with the same tuple Without tproxy redirections an incoming SYN kicks out conflicting TIME_WAIT sockets, in order to handle clients that reuse ports within the TIME_WAIT period. The same mechanism didn't work in case TProxy is involved in finding the proper socket, as the time_wait processing code looked up the listening socket assuming that the listener addr/port matches those of the established connection. This is not the case with TProxy as the listener addr/port is possibly changed with the tproxy rule. Signed-off-by: Balazs Scheidler Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 7bfc47532301a84c575cfc20b4531f5de5c326bc Author: Bandan Das Date: Sat Oct 16 20:19:59 2010 +0000 bonding: cleanup: remove braces from single block statements checkpatch.pl cleanup : Remove braces from single statement blocks. Signed-off-by: Bandan Das Signed-off-by: David S. Miller commit 128ea6c3eece8e87c05813d3a57f4ea079c3dbc7 Author: Bandan Das Date: Sat Oct 16 20:19:58 2010 +0000 bonding: cleanup : add space around operators checkpatch.pl cleanup: Added spaces around operators at various places. Also fixed some c99 style comments that I came across. Signed-off-by: Bandan Das Signed-off-by: David S. Miller commit 7453da829786061e81c9c11b7a34a2834146894f Author: Tracey Dent Date: Fri Oct 15 17:53:29 2010 +0000 Drivers: atm: Makefile: replace the use of -objs with -y Changed -objs to -y in Makefile. Signed-off-by: Tracey Dent Signed-off-by: David S. Miller commit f4e8ab7cc4e819011ca6325e54383b3da7a5d130 Author: Bernard Blackham Date: Mon Oct 18 13:16:39 2010 +0000 smsc95xx: generate random MAC address once, not every ifup The smsc95xx driver currently generates a new random MAC address every time the interface is brought up. This makes it impossible to override using the standard `ifconfig hw ether` approach. Past patches tried to make the MAC address a module parameter or base it off the die ID, but it seems to me much simpler (and hopefully less controversial) to stick with the current random generation scheme, but allow the user to change the address. This patch does exactly that - it moves the random address generation from smsc95xx_reset() into smsc95xx_bind(), so that it is done once on module load, not on every ifup. The user can then override this using the standard mechanisms. Applies against 2.6.35 and linux-2.6 head. Signed-off-by: Bernard Blackham Signed-off-by: David S. Miller commit fdb246f526e422b18b48d578085c01ab28ec2c33 Author: Michael Chan Date: Mon Oct 18 14:30:54 2010 +0000 bnx2: Increase max rx ring size from 1K to 2K A number of customers are reporting packet loss under certain workloads (e.g. heavy bursts of small packets) with flow control disabled. A larger rx ring helps to prevent these losses. No change in default rx ring size and memory consumption. Signed-off-by: Andy Gospodarek Acked-by: John Feeney Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3511c9132f8b1e1b5634e41a3331c44b0c13be70 Author: Changli Gao Date: Sat Oct 16 13:04:08 2010 +0000 net_sched: remove the unused parameter of qdisc_create_dflt() The first parameter dev isn't in use in qdisc_create_dflt(). Signed-off-by: Changli Gao Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 26d8ee75e08cfca8b65ade871d68c8cd96e4ea23 Author: stephen hemminger Date: Fri Oct 15 05:09:34 2010 +0000 bonding: make release_and_destroy static Only used in main file. Signed-off-by: Stephen Hemminger Acked-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 1c4c40c42da468ef02dc04940930c1926c964558 Author: stephen hemminger Date: Fri Oct 15 05:14:19 2010 +0000 xfrm: make xfrm_bundle_ok local Only used in one place. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8d8a0b1cc2a8f9794a3f1f747089b6a93774408d Author: stephen hemminger Date: Fri Oct 15 05:12:01 2010 +0000 rtnetlink: remove rtnl_kill_links The function rtnl_kill_links is defined but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f747aca5e61778190d1e27bdc469f49149f0230 Author: stephen hemminger Date: Fri Oct 15 05:15:59 2010 +0000 xfrm6: make xfrm6_tunnel_free_spi local Function only defined and used in one file. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 191cc6877408348e90f4adb64726b60a93246b8b Author: stephen hemminger Date: Fri Oct 15 11:09:14 2010 +0000 pch_gbe: make local functions static Make routines that are only used in one file static. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ae316bb57d25d73ae9c1ddc9c59fe56d733849bf Author: stephen hemminger Date: Fri Oct 15 11:06:20 2010 +0000 vmxnet3: make bit twiddle routines inline Gcc doesn't usually handle inline across compilation units, and the functions don't have to be global in scope. Move the set/reset flag functions int the existing vmxnet3 header. Signed-off-by: Stephen Hemminger Acked-by: Shreyas Bhatewara Signed-off-by: David S. Miller commit 379b7383413d883ffc4db55914626ca303e6f7f5 Author: stephen hemminger Date: Fri Oct 15 11:02:56 2010 +0000 bonding: make bond_resend_igmp_join_requests_delayed static Signed-off-by: Stephen Hemminger Acked-by: Flavio Leitner Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit d215697fe14a0c5a96765c6279b4751e632587a5 Author: stephen hemminger Date: Mon Oct 18 05:27:31 2010 +0000 sfc: make functions static Make local functions and variable static. Do some rearrangement of the string table stuff to put it where it gets used. Signed-off-by: Stephen Hemminger Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit d0280232813a6a5e2bfca6e9257b866352115c09 Author: stephen hemminger Date: Mon Oct 18 14:03:21 2010 +0000 bridge: make br_parse_ip_options static Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 11165f1457181e4499e5eada442434a07827ffd8 Author: stephen hemminger Date: Mon Oct 18 14:27:29 2010 +0000 socket: localize functions A couple of functions in socket.c are only used there and should be localized. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7e12bb0adb5b3114a73098d3536b3c45635e6c95 Author: stephen hemminger Date: Mon Oct 18 17:40:10 2010 +0000 netxen: make local function static. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b0c290e78d667e6a483bde8c7cef7dd15f49017 Author: Eric Dumazet Date: Wed Oct 20 22:03:38 2010 +0000 fib: introduce fib_alias_accessed() helper Perf tools session at NFWS 2010 pointed out a false sharing on struct fib_alias that can be avoided pretty easily, if we set FA_S_ACCESSED bit only if needed (ie : not already set) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7b5edbc4cfe2297b0915adea5aa1eafcafadbf06 Author: Eric Dumazet Date: Fri Oct 15 19:22:34 2010 +0000 net/sched: fix missing spinlock init Under network load, doing : tc qdisc del dev eth0 root triggers : [ 167.193087] BUG: spinlock bad magic on CPU#3, udpflood/4928 [ 167.193139] lock: c15bc324, .magic: 00000000, .owner: /-1, .owner_cpu: -1 [ 167.193193] Pid: 4928, comm: udpflood Not tainted 2.6.36-rc7-11417-g215340c-dirty #323 [ 167.193245] Call Trace: [ 167.193292] [] ? printk+0x18/0x20 [ 167.193342] [] spin_bug+0xa3/0xf0 [ 167.193389] [] do_raw_spin_lock+0x7d/0x160 [ 167.193440] [] ? __dev_xmit_skb+0x27e/0x2b0 [ 167.193496] [] ? trace_hardirqs_on+0xb/0x10 [ 167.193545] [] _raw_spin_lock+0x3a/0x40 [ 167.193593] [] ? __dev_xmit_skb+0x27e/0x2b0 [ 167.193641] [] __dev_xmit_skb+0x27e/0x2b0 commit 79640a4ca695 (add additional lock to qdisc to increase throughput) forgot to initialize noop_qdisc and noqueue_qdisc busylock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0d79641a96d612aaa6d57a4d4f521d7ed9c9ccdd Author: Julian Anastasov Date: Sun Oct 17 16:46:17 2010 +0300 ipvs: provide address family for debugging As skb->protocol is not valid in LOCAL_OUT add parameter for address family in packet debugging functions. Even if ports are not present in AH and ESP change them to use ip_vs_tcpudp_debug_packet to show at least valid addresses as before. This patch removes the last user of skb->protocol in IPVS. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 3233759be7eeca9998c514b8f49e8cf2b85e64d3 Author: Julian Anastasov Date: Sun Oct 17 16:43:36 2010 +0300 ipvs: inherit forwarding method in backup Connections in backup server should inherit the forwarding method from real server. It is a way to fix a problem where the forwarding method in backup connection is damaged by logical OR operation with the real server's connection flags. And the change is needed for setups where the backup server uses different forwarding method for the same real servers. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit cb59155f21d4c0507d2034c2953f6a3f7806913d Author: Julian Anastasov Date: Sun Oct 17 16:40:51 2010 +0300 ipvs: changes for local client This patch deals with local client processing. Prefer LOCAL_OUT hook for scheduling connections from local clients. LOCAL_IN is still supported if the packets are not marked as processed in LOCAL_OUT. The idea to process requests in LOCAL_OUT is to alter conntrack reply before it is confirmed at POST_ROUTING. If the local requests are processed in LOCAL_IN the conntrack can not be updated and matching by state is impossible. Add the following handlers: - ip_vs_reply[46] at LOCAL_IN:99 to process replies from remote real servers to local clients. Now when both replies from remote real servers (ip_vs_reply*) and local real servers (ip_vs_local_reply*) are handled it is safe to remove the conn_out_get call from ip_vs_in because it does not support related ICMP packets. - ip_vs_local_request[46] at LOCAL_OUT:-98 to process requests from local client Handling in LOCAL_OUT causes some changes: - as skb->dev, skb->protocol and skb->pkt_type are not defined in LOCAL_OUT make sure we set skb->dev before calling icmpv6_send, prefer skb_dst(skb) for struct net and remove the skb->protocol checks from TUN transmitters. [ horms@verge.net.au: removed trailing whitespace ] Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit fc604767613b6d2036cdc35b660bc39451040a47 Author: Julian Anastasov Date: Sun Oct 17 16:38:15 2010 +0300 ipvs: changes for local real server This patch deals with local real servers: - Add support for DNAT to local address (different real server port). It needs ip_vs_out hook in LOCAL_OUT for both families because skb->protocol is not set for locally generated packets and can not be used to set 'af'. - Skip packets in ip_vs_in marked with skb->ipvs_property because ip_vs_out processing can be executed in LOCAL_OUT but we still have the conn_out_get check in ip_vs_in. - Ignore packets with inet->nodefrag from local stack - Require skb_dst(skb) != NULL because we use it to get struct net - Add support for changing the route to local IPv4 stack after DNAT depending on the source address type. Local client sets output route and the remote client sets input route. It looks like IPv6 does not need such rerouting because the replies use addresses from initial incoming header, not from skb route. - All transmitters now have strict checks for the destination address type: redirect from non-local address to local real server requires NAT method, local address can not be used as source address when talking to remote real server. - Now LOCALNODE is not set explicitly as forwarding method in real server to allow the connections to provide correct forwarding method to the backup server. Not sure if this breaks tools that expect to see 'Local' real server type. If needed, this can be supported with new flag IP_VS_DEST_F_LOCAL. Now it should be possible connections in backup that lost their fwmark information during sync to be forwarded properly to their daddr, even if it is local address in the backup server. By this way backup could be used as real server for DR or TUN, for NAT there are some restrictions because tuple collisions in conntracks can create problems for the traffic. - Call ip_vs_dst_reset when destination is updated in case some real server IP type is changed between local and remote. [ horms@verge.net.au: removed trailing whitespace ] Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit f5a41847acc535e2e2018e397b1876ba7577d9d9 Author: Julian Anastasov Date: Sun Oct 17 16:35:46 2010 +0300 ipvs: move ip_route_me_harder for ICMP Currently, ip_route_me_harder after ip_vs_out_icmp is called even if packet is not related to IPVS connection. Move it into handle_response_icmp. Also, force rerouting if sending to local client because IPv4 stack uses addresses from the route. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 1ca5bb5450aa2401fa272efeb741ebb260d0fbb0 Author: Julian Anastasov Date: Sun Oct 17 16:32:29 2010 +0300 ipvs: create ip_vs_defrag_user Create new function ip_vs_defrag_user to return correct IP_DEFRAG_xxx user depending on the hooknum. It will be needed when we add handlers in LOCAL_OUT. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 4256f1aaa662697c1faa0984b7a698c2c8c57735 Author: Julian Anastasov Date: Sun Oct 17 16:29:40 2010 +0300 ipvs: fix CHECKSUM_PARTIAL for TUN method The recent change in IP_VS_XMIT_TUNNEL to set CHECKSUM_NONE is not correct. After adding IPIP header skb->csum becomes invalid but the CHECKSUM_PARTIAL case must be supported. So, use skb_forward_csum() which is most suitable for us to allow local clients to send IPIP to remote real server. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 489fdedaed5ddb437dd2840eb93df37a6dd8c7de Author: Julian Anastasov Date: Sun Oct 17 16:27:31 2010 +0300 ipvs: stop ICMP from FORWARD to local Delivering locally ICMP from FORWARD hook is not supported. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 190ecd27cd7294105e3b26ca71663c7d940acbbb Author: Julian Anastasov Date: Sun Oct 17 16:24:37 2010 +0300 ipvs: do not schedule conns from real servers This patch is needed to avoid scheduling of packets from local real server when we add ip_vs_in in LOCAL_OUT hook to support local client. Currently, when ip_vs_in can not find existing connection it tries to create new one by calling ip_vs_schedule. The default indication from ip_vs_schedule was if connection was scheduled to real server. If real server is not available we try to use the bypass forwarding method or to send ICMP error. But in some cases we do not want to use the bypass feature. So, add flag 'ignored' to indicate if the scheduler ignores this packet. Make sure we do not create new connections from replies. We can hit this problem for persistent services and local real server when ip_vs_in is added to LOCAL_OUT hook to handle local clients. Also, make sure ip_vs_schedule ignores SYN packets for Active FTP DATA from local real server. The FTP DATA connection should be created on SYN+ACK from client to assign correct connection daddr. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit cf356d69db0afef692cd640917bc70f708c27f14 Author: Julian Anastasov Date: Sun Oct 17 16:21:07 2010 +0300 ipvs: switch to notrack mode Change skb->ipvs_property semantic. This is preparation to support ip_vs_out processing in LOCAL_OUT. ipvs_property=1 will be used to avoid expensive lookups for traffic sent by transmitters. Now when conntrack support is not used we call ip_vs_notrack method to avoid problems in OUTPUT and POST_ROUTING hooks instead of exiting POST_ROUTING as before. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 8b27b10f5863a5b63e46304a71aa01463d1efac4 Author: Julian Anastasov Date: Sun Oct 17 16:17:20 2010 +0300 ipvs: optimize checksums for apps Avoid full checksum calculation for apps that can provide info whether csum was broken after payload mangling. For now only ip_vs_ftp mangles payload and it updates the csum, so the full recalculation is avoided for all packets. Add CHECKSUM_UNNECESSARY for snat_handler (TCP and UDP). It is needed to support SNAT from local address for the case when csum is fully recalculated. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04 Author: Julian Anastasov Date: Sun Oct 17 16:14:31 2010 +0300 ipvs: fix CHECKSUM_PARTIAL for TCP, UDP Fix CHECKSUM_PARTIAL handling. Tested for IPv4 TCP, UDP not tested because it needs network card with HW CSUM support. May be fixes problem where IPVS can not be used in virtual boxes. Problem appears with DNAT to local address when the local stack sends reply in CHECKSUM_PARTIAL mode. Fix tcp_dnat_handler and udp_dnat_handler to provide vaddr and daddr in right order (old and new IP) when calling tcp_partial_csum_update/udp_partial_csum_update (CHECKSUM_PARTIAL). Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit d827d86b6fe87b420ef3c0685ab580290ae64beb Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:43 2010 +0000 r8169: print errors when dma mapping fail If dma mapping fail we are dropping packages or fail to open device. But exact reason of drop/fail stays unknow for a user, so print errors. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit fccec10b33503a2b1197c8e7a3abd30443bedb08 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:42 2010 +0000 r8169: (re)init phy on resume Fix switching device to low-speed mode after resume reported in: https://bugzilla.redhat.com/show_bug.cgi?id=502974 Reported-and-tested-by: Laurentiu Badea Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 323bb6857533d7132e1d4fd9cc8edc599a06f5e6 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:41 2010 +0000 r8169: changing mtu clean up Since we do not change rx buffer size any longer, we can clean up rtl8169_change_mtu and in consequence rtl8169_down. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit cac4b22f3d6a2601d896e9ae5147d173342c66f8 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:40 2010 +0000 r8169: do not account fragments as packets Only increase tx_{packets,dropped} statistics when transmit or drop full skb, not just fragment. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 48addcc9edd551d09063148886bd6f3467d74c15 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:39 2010 +0000 r8169: use pointer to struct device as local variable Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 231aee63c1e270353fc0dc7fd4d5605a96562ec0 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:38 2010 +0000 r8169: replace PCI_DMA_{TO,FROM}DEVICE to DMA_{TO,FROM}_DEVICE Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 0ecbe1cadd406cb48424c796450bfaa18cb0b3ac Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:37 2010 +0000 r8169: init rx ring cleanup Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 3eafe50708deca10d155ccff597a91dcecc2d869 Author: Stanislaw Gruszka Date: Wed Oct 20 22:25:36 2010 +0000 r8169: check dma mapping failures Check possible dma mapping errors and do clean up if it happens. Fix overwrap bug in rtl8169_tx_clear on the way. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 11a691bea48887c27425cc40bf291e74c922df25 Author: Geert Uytterhoeven Date: Thu Oct 21 10:32:29 2010 +0200 block: Turn bvec_k{un,}map_irq() into static inline functions Convert bvec_k{un,}map_irq() from macros to static inline functions if !CONFIG_HIGHMEM, so we can easier detect mistakes like the one fixed in 93055c31045a2d5599ec613a0c6cdcefc481a460 ("ps3disk: passing wrong variable = to bvec_kunmap_irq()") Signed-off-by: Geert Uytterhoeven Signed-off-by: Jens Axboe commit 9bcc08939223c5a2bad42748ee53ab69f5338a32 Author: Hao Zheng Date: Wed Oct 20 13:56:11 2010 +0000 bnx2x: Update bnx2x to use new vlan accleration. Make the bnx2x driver use the new vlan accleration model. Signed-off-by: Hao Zheng Signed-off-by: Jesse Gross CC: Eilon Greenstein Signed-off-by: David S. Miller commit f62bbb5e62c6e4a91fb222d22bc46e8d4d7e59ef Author: Jesse Gross Date: Wed Oct 20 13:56:10 2010 +0000 ixgbe: Update ixgbe to use new vlan accleration. Make the ixgbe driver use the new vlan accleration model. Signed-off-by: Jesse Gross CC: Peter Waskiewicz CC: Emil Tantilov CC: Jeff Kirsher Signed-off-by: David S. Miller commit 7d0fd2117e3d0550d7987b3aff2bfbc0244cf7c6 Author: Jesse Gross Date: Wed Oct 20 13:56:09 2010 +0000 bnx2: Update bnx2 to use new vlan accleration. Make the bnx2 driver use the new vlan accleration model. Signed-off-by: Jesse Gross CC: Michael Chan Signed-off-by: David S. Miller commit 361ff8a6cf90d62c0071b7e532e37369bfd3ae77 Author: Jesse Gross Date: Wed Oct 20 13:56:08 2010 +0000 bridge: Add support for TX vlan offload. If some of the underlying devices support it, enable vlan offload on transmit for bridge devices. This allows senders to take advantage of the hardware support, similar to other forms of acceleration. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit d5dbda23804156ae6f35025ade5307a49d1db6d7 Author: Jesse Gross Date: Wed Oct 20 13:56:07 2010 +0000 ethtool: Add support for vlan accleration. Now that vlan acceleration is handled consistently regardless of usage, it is possible to enable and disable it at will. This adds support for Ethtool operations that change the offloading status for debugging purposes, similar to other forms of hardware acceleration. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 3701e51382a026cba10c60b03efabe534fba4ca4 Author: Jesse Gross Date: Wed Oct 20 13:56:06 2010 +0000 vlan: Centralize handling of hardware acceleration. Currently each driver that is capable of vlan hardware acceleration must be aware of the vlan groups that are configured and then pass the stripped tag to a specialized receive function. This is different from other types of hardware offload in that it places a significant amount of knowledge in the driver itself rather keeping it in the networking core. This makes vlan offloading function more similarly to other forms of offloading (such as checksum offloading or TSO) by doing the following: * On receive, stripped vlans are passed directly to the network core, without attempting to check for vlan groups or reconstructing the header if no group * vlans are made less special by folding the logic into the main receive routines * On transmit, the device layer will add the vlan header in software if the hardware doesn't support it, instead of spreading that logic out in upper layers, such as bonding. There are a number of advantages to this: * Fixes all bugs with drivers incorrectly dropping vlan headers at once. * Avoids having to disable VLAN acceleration when in promiscuous mode (good for bridging since it always puts devices in promiscuous mode). * Keeps VLAN tag separate until given to ultimate consumer, which avoids needing to do header reconstruction as in tg3 unless absolutely necessary. * Consolidates common code in core networking. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 65ac6a5fa658b90f1be700c55e7cd72e4611015d Author: Jesse Gross Date: Wed Oct 20 13:56:05 2010 +0000 vlan: Avoid hash table lookup to find group. A struct net_device always maps to zero or one vlan groups and we always know the device when we are looking up a group. We currently do a hash table lookup on the device to find the group but it is much simpler to just store a pointer. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 7b9c60903714bf0a19d746b228864bad3497284e Author: Jesse Gross Date: Wed Oct 20 13:56:04 2010 +0000 vlan: Enable software emulation for vlan accleration. Currently users of hardware vlan accleration need to know whether the device supports it before generating packets. However, vlan acceleration will soon be available in a more flexible manner so knowing ahead of time becomes much more difficult. This adds a software fallback path for vlan packets on devices without the necessary offloading support, similar to other types of hardware accleration. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit eab6d18d20fc5b5ba04a7e7fcd6f357197870e51 Author: Jesse Gross Date: Wed Oct 20 13:56:03 2010 +0000 vlan: Don't check for vlan group before vlan_tx_tag_present. Many (but not all) drivers check to see whether there is a vlan group configured before using a tag stored in the skb. There's not much point in this check since it just throws away data that should only be present in the expected circumstances. However, it will soon be legal and expected to get a vlan tag when no vlan group is configured, so remove this check from all drivers to avoid dropping the tags. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit b738127dfb469bb9f595cdace30e7f881e8146b2 Author: Jesse Gross Date: Wed Oct 20 13:56:02 2010 +0000 vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID. VLAN_GROUP_ARRAY_LEN is simply the number of possible vlan VIDs. Since vlan groups will soon be more of an implementation detail for vlan devices, rename the constant to be descriptive of its actual purpose. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 13937911f93ef52ae652f4652761aea6a58d3193 Author: Jesse Gross Date: Wed Oct 20 13:56:01 2010 +0000 ebtables: Allow filtering of hardware accelerated vlan frames. An upcoming commit will allow packets with hardware vlan acceleration information to be passed though more parts of the network stack, including packets trunked through the bridge. This adds support for matching and filtering those packets through ebtables. Signed-off-by: Jesse Gross Signed-off-by: David S. Miller commit 53c90536e96218ed6d60e7ea7a69a92b68805cdf Author: Vasanthy Kolluri Date: Wed Oct 20 10:17:19 2010 +0000 enic: Fix log message Fix a log message Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit d058590976cb76defb636d78999cca353a09695b Author: Vasanthy Kolluri Date: Wed Oct 20 10:17:14 2010 +0000 enic: Change min MTU Change min MTU to 68. Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 2db77e0f331d343511d08e204be5e22f934e1a68 Author: Vasanthy Kolluri Date: Wed Oct 20 10:17:09 2010 +0000 enic: Replace firmware devcmd CMD_ENABLE with CMD_ENABLE_WAIT Replace no wait CMD_ENABLE firmware devcmd with CMD_ENABLE_WAIT Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit c76fd32d0504c0450edb0e00890aa32e3ff1f73d Author: Vasanthy Kolluri Date: Wed Oct 20 10:17:04 2010 +0000 enic: Make firmware cognizant of the user set mac address Let the firmware know about the mac address set by the user using ndo_set_mac_address Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 717258ba4b3ecca9c7c0ef2b76d7aa5800242bad Author: Vasanthy Kolluri Date: Wed Oct 20 10:16:59 2010 +0000 enic: Add support for multiple hardware receive queues Add support for multiple hardware receive queues. The ingress traffic is hashed into one of the receive queues based on IP or TCP or both headers. The max no. of receive queues supported is 8. Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit e0e8ab596012d8c2147beb3c8b70d2d6ab90acda Author: Denis Kirjanov Date: Wed Oct 20 04:21:51 2010 +0000 ibmveth: Free irq on error path Free irq on error path. Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 88426f2acae0cf887446013db9eab776871610e7 Author: Denis Kirjanov Date: Wed Oct 20 04:21:13 2010 +0000 ibmveth: Cleanup error handling inside ibmveth_open Remove duplicated code in one place. Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 45aafd32996e27bfc4862654ff31231bdddbe200 Author: Artem Bityutskiy Date: Wed Oct 20 11:54:58 2010 +0300 UBI: tighten the corrupted PEB criteria If we get a bit-flip of ECC error while reading the data area, do not add it to corrupted list, because it is possible that this is just unstable PEB with corruptions caused by unclean reboots. This patch also improves commentaries. Signed-off-by: Artem Bityutskiy commit df3fca4cdddfa6e1f51b65214d4342660649bd1f Author: Artem Bityutskiy Date: Wed Oct 20 11:51:21 2010 +0300 UBI: fix check_data_ff return code When the data does not contain all 0xFF bytes, 'check_data_ff()' should return 1, not -EINVAL; Also, the caller ('process_eb()') should not add the PEB to the "corrupted" list if there was a read error. Signed-off-by: Artem Bityutskiy commit fb22b59b2c38054cc847f6acc5c46daa26dc6dd3 Author: Artem Bityutskiy Date: Tue Oct 19 22:00:11 2010 +0300 UBI: remember copy_flag while scanning While scanning the flash we read all VID headers and store some important information in 'struct ubi_scan_leb'. Store also the 'copy_flag' value there as it is needed when comparing LEBs. We do not increase memory consumption because this is just one bit and we have plenty of spare bits in 'struct ubi_scan_leb' (sizeof(struct ubi_scan_leb) is 48 both with and without this patch). Signed-off-by: Artem Bityutskiy commit 6599fcbd01baf9d57e847db103d215ea4ec088f9 Author: Artem Bityutskiy Date: Mon Oct 18 10:00:40 2010 +0300 UBIFS: do not allocate unneeded scan buffer In 'ubifs_replay_journal()' we allocate 'sbuf' for scanning the log. However, we already have 'c->sbuf' for these purposes, so do not allocate yet another one. This reduces UBIFS memory consumption while recovering. Signed-off-by: Artem Bityutskiy commit 3601ba27353a968df843454e4b81155376682505 Author: Artem Bityutskiy Date: Mon Oct 18 08:32:35 2010 +0300 UBIFS: do not forget to cancel timers This is a bug-fix: when we unmount, and we are currently in R/O mode because of an error - we do not sync write-buffers, which means we also do not cancel write-buffer timers we may possibly have armed. This patch fixes the issue. The issue can easily be reproduced by enabling UBIFS failure debug mode (echo 4 > /sys/module/ubifs/parameters/debug_tsts) and unmounting as soon as a failure happen. At some point the system oopses because we have an armed hrtimer but UBIFS is unmounted already. Signed-off-by: Artem Bityutskiy commit 39037559e651c417fb68b828926dc61cd5d6e5e2 Author: Artem Bityutskiy Date: Mon Oct 18 08:28:50 2010 +0300 UBIFS: remove a bit of unneeded code This is a clean-up patch which: 1. Removes explicite 'hrtimer_cancel()' after 'ubifs_wbuf_sync()' in 'ubifs_remount_ro()', because the timers will be canceled by 'ubifs_wbuf_sync()', no need to cancel them for the second time. 2. Remove "if (c->jheads)" check from 'ubifs_put_super()', because at journal heads must always be allocated there, since we checked earlier that we were mounted R/W, and the olny situation when journal heads are not allocated is when mounter or re-mounted R/O. Signed-off-by: Artem Bityutskiy commit d836b31e164e15a5f366199f4ee757c6be7dc91e Merge: 4993e0d 6d97e55 Author: David S. Miller Date: Thu Oct 21 01:08:39 2010 -0700 Merge branch 'vhost-net' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 00cd0bb7307970b745aefd2b3e1db929792b43bd Author: Takashi Iwai Date: Thu Oct 21 09:57:40 2010 +0200 ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 Multiple Acer laptops with the SSID 1025:04xx require the quirk mode=ideapad, so let's use mask to apply to all these. Signed-off-by: Takashi Iwai commit 4993e0d211105bc72d4ffc62ba20232d25ad418a Merge: 4c2a1b8 d793fe8 Author: David S. Miller Date: Thu Oct 21 00:54:29 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 4c2a1b86644a6f3fc6b788d3a591563aff71f836 Merge: e226930 f6f94e2 Author: David S. Miller Date: Thu Oct 21 00:54:21 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 2aeb66d3036dbafc297ac553a257a40283dadb3e Author: H. Peter Anvin Date: Thu Oct 21 00:15:00 2010 -0700 x86-32, percpu: Correct the ordering of the percpu readmostly section Checkin c957ef2c59e952803766ddc22e89981ab534606f had inconsistent ordering of .data..percpu..page_aligned and .data..percpu..readmostly; the still-broken version affected x86-32 at least. The page aligned version really must be page aligned... Signed-off-by: H. Peter Anvin LKML-Reference: <1287544022.4571.7.camel@sli10-conroe.sh.intel.com> Cc: Shaohua Li Cc: Eric Dumazet commit fe5a50a10c7b3bf38e47045eadc6b87a5c157f44 Author: Christoph Hellwig Date: Wed Sep 15 01:27:23 2010 +0200 virtio_blk: remove BKL leftovers Remove the BKL usage added in "block: push down BKL into .locked_ioctl". Virtio-blk doesn't use the BKL for anything, and doesn't implement any ioctl command by itself, but only uses the generic scsi_cmd_ioctl which is fine without the BKL. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 299fb61c08c2fcd1bb6d3a4e87e53dc368475416 Author: Amit Shah Date: Thu Sep 16 14:43:09 2010 +0530 virtio: console: Disable lseek(2) for port file operations The ports are char devices; do not have seeking capabilities. Calling nonseekable_open() from the fops_open() call and setting the llseek fops pointer to no_llseek ensures an lseek() call from userspace returns -ESPIPE. Signed-off-by: Amit Shah CC: Arnd Bergmann Signed-off-by: Rusty Russell commit a461e11e7b8ca2705889bcf9582f6a8f84884bd2 Author: Amit Shah Date: Thu Sep 2 18:47:54 2010 +0530 virtio: console: Send SIGIO in case of port unplug If a port has registered for SIGIO signals, let the application know that the port is getting unplugged. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 55f6bcce3691f68476a530daa6666b66c43420a8 Author: Amit Shah Date: Thu Sep 2 18:47:53 2010 +0530 virtio: console: Send SIGIO on new data arrival on ports Send a SIGIO signal when new data arrives on a port. This is sent only when the process has requested for the signal to be sent using fcntl(). Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 3eae0adea949d8fdd8fa3e5301192901219d2c64 Author: Amit Shah Date: Thu Sep 2 18:47:52 2010 +0530 virtio: console: Send SIGIO to processes that request it for host events A process can request for SIGIO on host connect / disconnect events using the O_ASYNC file flag using fcntl(). If that's requested, and if the guest-side connection for the port is open, any host-side open/close events for that port will raise a SIGIO. The process can then use poll() within the signal handler to find out which port triggered the signal. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit e062013c7d22e40ee634b818d28fd615db36998e Author: Amit Shah Date: Thu Sep 2 18:38:30 2010 +0530 virtio: console: Reference counting portdev structs is not needed Explain in a comment why there's no need to reference-count the portdev struct: when a device is yanked out, we can't do anything more with it anyway so just give up doing anything more with the data or the vqs and exit cleanly. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit b353a6b821627053f82b4e7b907e824cb7a6879c Author: Amit Shah Date: Thu Sep 2 18:38:29 2010 +0530 virtio: console: Add reference counting for port struct When a port got hot-unplugged, when a port was open, any file operation after the unplugging resulted in a crash. This is fixed by ref-counting the port structure, and releasing it only when the file is closed. This splits the unplug operation in two parts: first marks the port as unavailable, removes all the buffers in the vqs and removes the port from the per-device list of ports. The second stage, invoked when all references drop to zero, releases the chardev and frees all other memory. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit d22a69892bd8f29e3096f6f54c2c00d8aec2e796 Author: Amit Shah Date: Thu Sep 2 18:20:59 2010 +0530 virtio: console: Use cdev_alloc() instead of cdev_init() This moves to using cdev on the heap instead of it being embedded in the ports struct. This helps individual refcounting and will allow us to properly remove cdev structs after hot-unplugs and close operations. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 04950cdf071b6e5aa4794c93ad3e3ce8a1c4aa8c Author: Amit Shah Date: Thu Sep 2 18:20:58 2010 +0530 virtio: console: Add a find_port_by_devt() function To convert to using cdev as a pointer to avoid kref troubles, we have to use a different method to get to a port from an inode than the current container_of method. Add find_port_by_devt() that looks up all portdevs and ports with those portdevs to find the right port. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 6bdf2afd02ae12bf8ac93e6d14c4b4dfef7c4c59 Author: Amit Shah Date: Thu Sep 2 18:11:49 2010 +0530 virtio: console: Add a list of portdevs that are active The virtio_console.c driver is capable of handling multiple devices at a time. Maintain a list of devices for future traversal. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 8ad37e83c8dc413f92b10c3d9bdeabe9237f521d Author: Amit Shah Date: Thu Sep 2 18:11:48 2010 +0530 virtio: console: open: Use a common path for error handling Just re-arrange code for future patches. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 7a2853178dfba9553d58f356113f47fd582e9cc6 Author: Amit Shah Date: Thu Sep 2 18:11:47 2010 +0530 virtio: console: remove_port() should return void When a port is removed, we have to assume the port is gone. So a success/failure return value doesn't make sense. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit f4028119714e452f9b49377ec55e0ed1e5d1dfa4 Author: Amit Shah Date: Thu Sep 2 18:11:46 2010 +0530 virtio: console: Make write() return -ENODEV on hot-unplug When a port is hot-unplugged while an app was blocked on a write() call, the call was unblocked but would not get an error returned. Return -ENODEV to ensure the app knows the port has gone away. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit b3dddb9e6ddab74327f5557c1a6640ea0f56ad1c Author: Amit Shah Date: Thu Sep 2 18:11:45 2010 +0530 virtio: console: Make read() return -ENODEV on hot-unplug When a port is hot-unplugged while an app was blocked on a read() call, the call was unblocked but would not get an error returned. Return -ENODEV to ensure the app knows the port has gone away. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 8529a504273d4efa6bb004dcd6ef28fe67b64ae9 Author: Amit Shah Date: Thu Sep 2 18:11:44 2010 +0530 virtio: console: Unblock poll on port hot-unplug When a port is hot-unplugged while an app is blocked on poll(), unblock the poll() and return. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 3709ea7ae7d698b428576c2db0bbb6e08a18cf12 Author: Amit Shah Date: Thu Sep 2 18:11:43 2010 +0530 virtio: console: Un-block reads on chardev close If a chardev is closed, any blocked read / poll calls should just return and not attempt to use other state. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 84ec06c59a14d0941dd58ca6793b24a7e86b3b85 Author: Amit Shah Date: Thu Sep 2 18:11:42 2010 +0530 virtio: console: Check if portdev is valid in send_control_msg() A portdev may have been hot-unplugged while a port was open()ed. Skip sending control messages when the portdev isn't valid. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 96eb872b2a041b1536ccc6ae2fa87eb28f6e2bb2 Author: Amit Shah Date: Thu Sep 2 18:11:41 2010 +0530 virtio: console: Remove control vq data only if using multiport support If a portdev isn't using multiport support, it won't have any control vq data to remove. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 02238959944ce031f066f21e541a14933aca6575 Author: Amit Shah Date: Thu Sep 2 18:11:40 2010 +0530 virtio: console: Reset vdev before removing device The virtqueues should be disabled before attempting to remove the device. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 14d34f166c57e77e3d7f9bc8b43d349186d922c1 Author: Takashi Iwai Date: Thu Oct 21 09:03:25 2010 +0200 ALSA: hda - Add some workarounds for Creative IBG Creative HD-audio controller chips require some workarounds: - Additional delay before RIRB response - Set the initial RIRB counter to 0xc0 The latter seems to be done in general in Windows driver, so we may use this value later for all types if it's confirmed to work better. Reported-by: Wai Yew CHAY Cc: Signed-off-by: Takashi Iwai commit 24b55c69b66eb2a122842820ec14ab215fc8572f Author: Takashi Iwai Date: Thu Oct 21 08:55:13 2010 +0200 ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 The dig_out_nid field must take a digital-converter widget, but the current ca0110 parser passed the pin wrongly instead. Reported-by: Wai Yew CHAY Cc: Signed-off-by: Takashi Iwai commit 693194f3b8af349a510604dffad9bdbbcf1c7db8 Author: Kailang Yang Date: Thu Oct 21 08:51:48 2010 +0200 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit bf1b022588eba78c990fd58fd2471cd92c2c5683 Author: Kailang Yang Date: Thu Oct 21 08:49:56 2010 +0200 ALSA: hda - Add alc_init_jacks() call to other codecs Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit a1dfe9c7c9b780865f7a847d3a12fe9214005a58 Author: Michal Simek Date: Thu Oct 7 17:39:03 2010 +1000 fbdev/xilinxfb: Microblaze driver support DCR bus is natively used for PowerPC. Microblaze has no infrastructure for compile DCR that's why is necessary to exclude it. Signed-off-by: Michal Simek Acked-by: Grant Likely CC: Andrei Konovalov CC: "David S. Miller" CC: linux-kernel@vger.kernel.org commit 1180b28ca82c529972bfd438467d5cd71cca5372 Author: Michal Simek Date: Sat Oct 9 14:05:58 2010 +1000 microblaze: Support C optimized lib functions for little-endian Optimized C library functions can rapidly speedup the kernel. memset doesn't need to be optimized because there is no difference in behavior on little/big endian cpu. Signed-off-by: Michal Simek commit 93e2e85139509338c68279c7260ebb68177b23a9 Author: Michal Simek Date: Sat Oct 9 13:58:24 2010 +1000 microblaze: Separate library optimized functions memcpy/memmove/memset Signed-off-by: Michal Simek commit ccea0e6e49e4db8ee7968c183ecddb3e399c5f54 Author: Michal Simek Date: Thu Oct 7 17:39:21 2010 +1000 microblaze: Support timer on AXI lite New microblaze systems uses two buses. One for memories and flashes and the second for low-speed peripherals which can run on different CLK. This is the reason why the kernel is trying to read clock-frequency directly from node. If there is then the kernel will work with it. If not then cpu CLK is used. Signed-off-by: Michal Simek commit 02b08045a0306c38131c6d7155c4034a775d40b1 Author: Michal Simek Date: Tue Sep 28 16:04:14 2010 +1000 microblaze: Add support for little-endian Microblaze Microblaze little-endian toolchain exports __MICROBLAZEEL__ which is used in the kernel to identify little/big endian. The most of the changes are in loading values from DTB which is always big endian. Little endian platforms are based on new AXI bus which has impact to early uartlite initialization. Signed-off-by: Michal Simek commit e4f29092272ee91a34d3660c31f15ed103057aa0 Author: Michal Simek Date: Tue Sep 28 15:49:17 2010 +1000 microblaze: KGDB little endian support Just need to use little-endian opcode for brki r16, 0x18 Signed-off-by: Michal Simek CC: Jason Wessel commit 8e2ad016b20f98790d5995aae1d157d1613ab9e6 Author: Michal Simek Date: Fri Aug 13 12:47:42 2010 +0200 microblaze: Add PVR for endians plus detection Upcomming microblaze version will support little-endian. Signed-off-by: Michal Simek Acked-by: Grant Likely commit 44180a573ec936cd989a7c0478f5fd1cf8e1ebc3 Author: Michal Simek Date: Fri Sep 10 13:22:35 2010 +0200 net: emaclite: Add support for little-endian platforms Upcomming Microblaze is little endian that's why is necessary to fix protocol and length loading. Signed-off-by: Michal Simek Acked-by: Grant Likely Acked-by: David S. Miller CC: Eric Dumazet CC: netdev@vger.kernel.org CC: linux-kernel@vger.kernel.org CC: devicetree-discuss@lists.ozlabs.org commit b4dcaee50a3859bc3c7e6bace5daeec1d903e239 Author: Michal Simek Date: Fri Sep 10 12:58:37 2010 +0200 microblaze: trivial: Add comment for AXI pvr AXI and OPB share some PVR macros. Signed-off-by: Michal Simek commit 6c3bbdd6609aefa6494ee3020f80108dbdccf755 Author: Nishanth Aravamudan Date: Wed Sep 15 11:05:51 2010 -0700 microblaze: pci-common cleanup Use set_dma_ops and remove now used-once oddly named temp pointer sd. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Michal Simek commit 67f4aaa21cf8cf09726cd26b506f3407ad7f11f9 Author: Michal Simek Date: Tue Sep 28 16:17:03 2010 +1000 microblaze: Support early console on uart16550 Early console support reuse setting from U-BOOT that's why it is not necessary to setup baudrates, etc. Signed-off-by: Michal Simek commit 51f5fa50942ab013aa2e321bdfdba1c34ebf3256 Author: Michal Simek Date: Tue Sep 28 16:40:00 2010 +1000 microblaze: Do not compile early console support for uartlite if is disabled Kconfig blocks to select any other early console support that's why this patch has no real impact on current kernel version. But it is done because of uart16550. Signed-off-by: Michal Simek commit 9a7e8d805ea042a7f37c8d3cef8350db63df9d57 Author: Michal Simek Date: Tue Sep 28 16:38:28 2010 +1000 microblaze: Setup early console dynamically Just setup pointer early console in run time. Signed-off-by: Michal Simek commit 2af9ebe951bb12434e9f10cd1f0f83943ef3f54b Author: Michal Simek Date: Tue Sep 28 16:33:53 2010 +1000 microblaze: Rename all uartlite early printk functions This is done because of uart16550 early printk support Signed-off-by: Michal Simek commit 96a5ff42298d0ea44d5aa321a56aeba280b52645 Author: Michal Simek Date: Tue Sep 28 16:27:49 2010 +1000 microblaze: remove early printk uarlite console dependency from header This dependency is resolved in menuconfig. Signed-off-by: Michal Simek commit e65f1e2843d31d9ed74c7cce273adc0d97b5140f Author: Michal Simek Date: Tue Sep 14 08:09:37 2010 +0200 microblaze: Remove additional compatible properties Device-tree BSP generates longer compatible properties that's why we can remove extra/old one. Signed-off-by: Michal Simek commit a7d8355008e4f6bbdcb8f998328afa685cec959c Author: Michal Simek Date: Tue Sep 28 15:43:59 2010 +1000 microblaze: Remove hardcoded asm instraction for PVR loading It comes from past where pvr wasn't supported in msr instruction. Signed-off-by: Michal Simek commit 92ee8bd468b43938319d6ff51afb071b6e9ef758 Author: Joe Perches Date: Mon Sep 13 21:23:49 2010 -0700 microblaze: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: Michal Simek commit 099a2f4284eba5da2708d0e8fe0797dc095d47ca Author: Michal Simek Date: Fri Sep 10 12:43:42 2010 +0200 microblaze: Define VMALLOC_START/END per cpu changes requires VMALLOC_START/END to be define even for noMMU systems. Signed-off-by: Michal Simek commit bd3b492a29a5221fef1c24ecfd00bb335945dce9 Author: Michal Simek Date: Thu Aug 12 13:06:59 2010 +0200 microblaze: Export missing symbols for modules Several kernel modules requires empty_zero_page and mbc to be exported. Signed-off-by: Michal Simek commit 4e07dba7cb8c9c76a52d0e32b69f13bb583a9674 Author: Michal Simek Date: Thu Aug 12 14:28:53 2010 +0200 microblaze: Add libgcc function directly to kernel Replaced libgcc functions with asm optimized implementation. Signed-off-by: Michal Simek commit cec051671dc2bb72cc2870aa149d7101ea494b8b Author: Michal Simek Date: Tue Aug 17 11:49:24 2010 +0200 microblaze: support gpio_to_irq() gpiolib returns -ENXIO if struct gpio_chip::to_irq isn't set, so it's safe to always call. Based on PPC patch "powerpc/gpio: support gpio_to_irq()" 78331aded913d76c7ff996a1a0747d54b057460b Signed-off-by: Michal Simek commit ac2e7c92ee071d398b72a7848a298664b80f9712 Author: Michal Simek Date: Tue Aug 17 11:48:36 2010 +0200 microblaze: Define empty mmiowb mmiowb is required by any driver. Signed-off-by: Michal Simek commit 4d24d7f7aeca897bada4936a2bd10c33c4f23308 Author: Michal Simek Date: Mon Aug 16 10:52:20 2010 +0200 microblaze: wire up prlimit64 and fanotify* syscalls Signed-off-by: Michal Simek commit b9b12fd147553676c6b9483bdc9e3eae0b449aa0 Author: FUJITA Tomonori Date: Sat Aug 14 16:18:26 2010 +0900 microblaze: use asm-generic/pci-dma-compat.h Use asm-generic/pci-dma-compat.h instead of the homegrown pci_set_dma_mask and pci_set_consistent_dma_mask. Signed-off-by: FUJITA Tomonori commit 6d5f2f6d4114578e2504ed3f675d450cbde5a161 Author: Michal Simek Date: Fri Aug 13 12:47:18 2010 +0200 microblaze: Add PVR for BTC Signed-off-by: Michal Simek commit f66efecad0b468214f574b295f4152aa95d74d4e Author: Michal Simek Date: Fri Aug 13 12:44:17 2010 +0200 microblaze: Add new microblaze versions PVR for 7.30.b, 8.00.a versions. Signed-off-by: Michal Simek commit b3ea83809347a6f717daa01854677582a7e47a62 Author: Michal Simek Date: Thu Aug 12 14:27:28 2010 +0200 microblaze: remove OUTPUT_FORMAT from linker script OUTPUT_FORMAT setup bigendian platform. Microblaze Linux port is becoming bi endian that's why it is removed. Signed-off-by: Michal Simek commit 600eb6110a3f15aedffc3cce31b6065a09e7cb31 Author: Michal Simek Date: Mon Aug 9 14:37:42 2010 +0200 microblaze: Fix r16 and r17 reg saving r16 and r17 should be saved across interrupt and exception handling. Signed-off-by: Michal Simek commit 36cf089dc648f542622eb43daaa35b3a90f510a6 Author: Christian Dietrich Date: Tue Aug 10 14:00:52 2010 +0200 microblaze: Removing dead CONTIGUOUS_PAGE_ALLOC config option CONFIG_CONTIGUOUS_PAGE_ALLOC doesn't exist in Kconfig, therefore removing all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Michal Simek commit 69717607f028d7d4f4b355afb86556f3dd9363fc Author: Michal Simek Date: Fri Aug 6 14:13:13 2010 +0200 microblaze: Report if only one timer is used Kernel needs two timers because of clocksource and clockevent. It is better to show warning message directly on early console if available. If it isn't available kernel log buffer contains it. Signed-off-by: Michal Simek commit 7d4320956f0f8aa2c36c23f209acc3e4c3ae52d6 Author: Michal Simek Date: Fri Aug 6 10:42:30 2010 +0200 microblaze: Clear return value in pt_regs Signal code uses r3 value which saved in restore_sigcontext to rt_sigframe but it require to be zeroed. If is not zero rt_sigframe contains wrong values. Signed-off-by: Michal Simek commit 791d0a169b912220d58e0ce4564d7bf1e68146a8 Author: Michal Simek Date: Fri Aug 6 10:36:02 2010 +0200 microblaze: Fix sys_rt_sigreturn_wrapper Do not save return registers before rt_sigreturn is called. _user_exception(syscall handler) already setup return address that's why it is removed from rt_sigreturn_wrapper. Signed-off-by: Michal Simek commit 06d1973490199d38a65029101199e04004fbe8f3 Author: Michal Simek Date: Fri Aug 6 08:51:54 2010 +0200 microblaze: remove unused TIF_KERNEL_TRACE TIF_KERNEL_TRACE is not used anywhere. Signed-off-by: Michal Simek commit 68c6ac3366764730c6cc6bcc7003b233bd6b6571 Author: Michal Simek Date: Fri Aug 6 08:50:35 2010 +0200 microblaze: Add seccomp support Add seccomp support. Signed-off-by: Michal Simek commit 0425609680927f3368b0e0270452d41759d43b3f Author: Michal Simek Date: Tue Aug 3 11:32:20 2010 +0200 microblaze: Remove old user debugging gdb stub Old gdb uses priviledged exception handler to handle gdb exception. New gdb uses brki r16, 0x18 that's why we can remove old gdb support. Signed-off-by: Michal Simek commit 95d3a8cd1596b7d34b873d1fa5a70bbc656f5410 Author: Michal Simek Date: Fri Aug 6 08:49:13 2010 +0200 microblaze: trivial: thread_info cleanup Coding style cleanup. Signed-off-by: Michal Simek commit 5f0cb3e01ec41b35b8452856f2ddd7a9f36fb80b Author: Michal Simek Date: Mon Aug 16 11:02:18 2010 +0200 microblaze: Fix pmd_populate macro Compilation warning: mm/memory.c: In function '__pte_alloc': mm/memory.c:421: warning: assignment makes integer from pointer without a cast Signed-off-by: Michal Simek commit f859f0a235d4d9e7eae49bf10bab6b0967d328f6 Author: Michal Simek Date: Tue Aug 10 08:19:03 2010 +0200 microblaze: kgdb: Remove unused variable and fix return value I forget to remove unused variable from kgdb_arch_handle_exception. Fix return value in microblaze_kgdb_break function. Error log: arch/microblaze/kernel/kgdb.c: In function 'microblaze_kgdb_break': arch/microblaze/kernel/kgdb.c:83: warning: 'return' with a value, in function returning void arch/microblaze/kernel/kgdb.c: In function 'kgdb_arch_handle_exception': arch/microblaze/kernel/kgdb.c:119: warning: unused variable 'cpu' Signed-off-by: Michal Simek commit 4bdfd9ebc3bb6e111309b711a601bce7a8ae6857 Author: Michal Simek Date: Tue Aug 10 08:57:45 2010 +0200 microblaze: Fix generic DTS to ensure OF requirements LL Temac dts nodes should contain ranges property. It is sufficient to use empty ranges property. Signed-off-by: Michal Simek commit c4554c32a7a6f81e9226084c43a3b8e17853c535 Author: Joe Perches Date: Sat Sep 11 22:10:51 2010 -0700 microblaze: Remove pr_ uses of KERN_ Signed-off-by: Joe Perches Signed-off-by: Michal Simek commit a405f833f4cd6490caaf381efe58a5628b545733 Author: Greg Ungerer Date: Wed Oct 13 13:42:22 2010 +1000 m68knommu: support the external GPIO based interrupts of the 5272 The external GPIO interrupts of the ColdFire 5272 SoC are edge triggered, unlike the internal interrupt sources (which are level triggered). Add proper support for these interrupts. Signed-off-by: Greg Ungerer commit 730251f27df1ed0177609d1e49817f0c3ada0b1a Author: Greg Ungerer Date: Thu Oct 7 17:16:56 2010 +1000 m68knommu: mask of vector bits in exception word properly The vector field of the processors exception frame actually contains both the vector exception number and fault status field bits. The exception processing code was not correctly masking out the fault status field bits before switching on the vector number. The default case was catching the bad check, but we are reporting the wrong kind of exception in some cases. Reported-by: Alexander Stein Signed-off-by: Greg Ungerer commit dea2aff876c004cccf29549242c93b208787aa64 Author: matt mooney Date: Wed Sep 22 23:50:45 2010 -0700 m68knommu: change to new flag variables Replace EXTRA_CFLAGS with ccflags-y and EXTRA_AFLAGS with asflags-y. Signed-off-by: matt mooney Signed-off-by: Greg Ungerer commit 48a232d14c0853854497fb44207fc96d8b7e7dff Author: Philippe De Muyter Date: Tue Sep 21 17:14:36 2010 +0200 m68knommu: Fix MCFUART_TXFIFOSIZE for m548x. Serial lines on the MCF548x have really big fifos : 512 bytes. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit ea49f8ffae6262e8de9a0d3e9fcdd384156c7e05 Author: Philippe De Muyter Date: Mon Sep 20 13:11:11 2010 +0200 m68knommu: add basic mmu-less m548x support Add a very basic mmu-less support for coldfire m548x family. This is perhaps also valid for m547x family. The port comprises the serial, tick timer and reboot support. The gpio part compiles but is empty. This gives a functional albeit limited linux for the m548x coldfire family. This has been tested on a Freescale M548xEVB Lite board with a M5484 processor and the default dbug monitor. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit a7c681f620e75cb0efbe7da092723a6ecd17bc01 Author: Philippe De Muyter Date: Wed Sep 8 15:01:43 2010 +0200 m68knommu: .gitignore vmlinux.lds Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 04570b46215f81001c94b2baea4af3284d6161ec Author: Greg Ungerer Date: Thu Sep 9 17:12:53 2010 +1000 m68knommu: stop using __do_IRQ The use of __do_IRQ is deprecated, so lets stop using it. Generally the interrupts on the supported processors here are level triggered, so this is strait forward to switch over to using the standard handle_level_irq flow handler. (Although some ColdFire parts support edge triggered GPIO line interrupts we have no support for them yet). Signed-off-by: Greg Ungerer commit eb497e7b4996c4c6d2afaa19ee6a32aba867ae4c Author: Philippe De Muyter Date: Mon Aug 30 13:17:17 2010 +0200 m68knommu: rename PT_OFF_VECTOR to PT_OFF_FORMATVEC. In m68k/m68knommu assembly files, the same value is called sometimes PT_OFF_VECTOR, but more frequently PT_OFF_FORMATVEC. Standardize name to PT_OFF_FORMATVEC. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 8851338dd09ed3544bb9a427ae04f1c481ce5456 Author: Philippe De Muyter Date: Wed Sep 1 15:23:28 2010 +0200 m68knommu: add support for Coldfire 547x/548x interrupt controller The Coldfire MCF547x/MCF548x have the same interrupt controller as the MCF528x e.g., but only one, not two as in the MCF528x. Modify intc-2.c to support only one interrupt controller if MCFICM_INTC1 is not defined. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit aa108e4eae67c9aa6ad77e4fc17b044caffd135c Author: Philippe De Muyter Date: Wed Aug 18 18:27:34 2010 +0200 m68k{nommu}: Remove unused DEFINE's from asm-offsets.c m68k{nommu}/asm-offsets.c define many constants which are not used anymore anywhere; remove IRQ_DEVID, IRQ_HANDLER, IRQ_NEXT, STAT_IRQ, TASK_ACTIVE_MM, TASK_BLOCKED, TASK_FLAGS, TASK_PTRACE, TASK_STATE, TASK_THREAD_INFO, TI_CPU, TI_EXECDOMAIN and TI_TASK. Signed-off-by: Philippe De Muyter Acked-by: Geert Uytterhoeven Signed-off-by: Greg Ungerer commit 5061ea2cceca043ec99a52dd89f569567fc2cede Author: Philippe De Muyter Date: Tue Aug 17 18:52:39 2010 +0200 m68knommu: whitespace cleanup in 68328/entry.S Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 03cbc3852710d30aa8548387ed1b1d87214f8ddb Author: Philippe De Muyter Date: Thu Aug 19 19:04:58 2010 +0200 m68knommu: Document supported chips in intc-2.c and intc-simr.c. The chips lists were in commit logs, but should also be in source files. This way it is easier to choose the right source file for a not yet supported Coldfire. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit c8a2786b107873e34d540b8e3e54bd3cef03bc56 Author: Philippe De Muyter Date: Tue Aug 17 18:58:29 2010 +0200 m68knommu: fix strace support for 68328/68360 strace enabled is marked using the `flags' field of the `thread_info' struct. 68360 version of entry.S did test a wrong bit in a wrong structure (task_struct). 68328 version of entry.S did test the right bit in the right structure, but wrongly, because the `flags' field is 32 bit wide, while the used assembler insn (btst) only accesses a 8 bit byte in memory. Fix both using code already used in the coldfire version of entry.S Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 47422259b44e53e670b4ee375ff98f0603e6dd45 Author: Philippe De Muyter Date: Fri Aug 6 17:47:13 2010 +0200 m68knommu: fix default starting date Currently m68knommu boards without RTC chip start with an unexpected default date of 1999-11-30 (Actually the source asks for 2000-00-00) Make that 1970-01-01 instead, as expected. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 713e919e09492342eb8cd56f5aa7e3b33f672968 Author: Christian Dietrich Date: Wed Aug 4 14:42:43 2010 +0200 arch/m68knommu: Removing dead 68328_SERIAL_UART2 config option CONFIG_68328_SERIAL_UART2 doesn't exist in Kconfig, therefore removing all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Greg Ungerer commit 4a33fbcb3cdb0172e6e355a4ced3ca4d16622ffd Author: Christian Dietrich Date: Wed Aug 4 14:42:34 2010 +0200 arch/m68knommu: Removing dead RAM_{16,32}_MB config option CONFIG_RAM_{16,32}_MB doesn't exist in Kconfig, therefore removing all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Greg Ungerer commit a37f6aeeeabd2aefa55f4101454510bec98b20ca Author: Christian Dietrich Date: Wed Aug 4 14:42:19 2010 +0200 arch/m68knommu: Removing dead M68KFPU_EMU config option CONFIG_M68KFPU_EMU doesn't exist in Kconfig, therefore removing all references to it from the source. This Flags seems to exist only on m68k with mmu, and this dead blocks are copy paste. Signed-off-by: Christian Dietrich Signed-off-by: Greg Ungerer commit 7f19756325e4b30ed608bd358a4f0561308c9b6b Author: Christian Dietrich Date: Wed Aug 4 14:42:08 2010 +0200 arch/m68knommu: Removing dead RELOCATE config option CONFIG_RELOCATE doesn't exist in Kconfig, therefore removing all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Greg Ungerer commit cb8a5565cbab5d03501bb0c05dda05078a7295fd Author: Christian Dietrich Date: Wed Aug 4 14:41:59 2010 +0200 arch/m68knommu: Removing dead M68000 config option CONFIG_M68000 doesn't exist in Kconfig, therefore removing all references to it from the source. Signed-off-by: Christian Dietrich Signed-off-by: Greg Ungerer commit f0d3d9894e43fc68d47948e2c6f03e32da88b799 Author: Stephen Rothwell Date: Wed Oct 20 16:08:00 2010 +1100 selinux: include vmalloc.h for vmalloc_user Include vmalloc.h for vmalloc_user (fixes ppc build warning). Acked-by: Eric Paris Signed-off-by: James Morris commit ff660c80d00b52287f1f67ee6c115dc0057bcdde Author: Eric Paris Date: Tue Oct 19 18:17:32 2010 -0400 secmark: fix config problem when CONFIG_NF_CONNTRACK_SECMARK is not set When CONFIG_NF_CONNTRACK_SECMARK is not set we accidentally attempt to use the secmark fielf of struct nf_conn. Problem is when that config isn't set the field doesn't exist. whoops. Wrap the incorrect usage in the config. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 845ca30fe9691f1bab7cfbf30b6d11c944eb4abd Author: Eric Paris Date: Wed Oct 13 17:50:31 2010 -0400 selinux: implement mmap on /selinux/policy /selinux/policy allows a user to copy the policy back out of the kernel. This patch allows userspace to actually mmap that file and use it directly. Signed-off-by: Eric Paris Signed-off-by: James Morris commit cee74f47a6baba0ac457e87687fdcf0abd599f0a Author: Eric Paris Date: Wed Oct 13 17:50:25 2010 -0400 SELinux: allow userspace to read policy back out of the kernel There is interest in being able to see what the actual policy is that was loaded into the kernel. The patch creates a new selinuxfs file /selinux/policy which can be read by userspace. The actual policy that is loaded into the kernel will be written back out to userspace. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 00d85c83ac52e2c1a66397f1abc589f80c543425 Author: Eric Paris Date: Wed Oct 13 17:50:19 2010 -0400 SELinux: drop useless (and incorrect) AVTAB_MAX_SIZE AVTAB_MAX_SIZE was a define which was supposed to be used in userspace to define a maximally sized avtab when userspace wasn't sure how big of a table it needed. It doesn't make sense in the kernel since we always know our table sizes. The only place it is used we have a more appropiately named define called AVTAB_MAX_HASH_BUCKETS, use that instead. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 4419aae1f4f380a3fba0f4f12ffbbbdf3f267c51 Author: Eric Paris Date: Wed Oct 13 17:50:14 2010 -0400 SELinux: deterministic ordering of range transition rules Range transition rules are placed in the hash table in an (almost) arbitrary order. This patch inserts them in a fixed order to make policy retrival more predictable. Signed-off-by: Eric Paris Signed-off-by: James Morris commit b28efd54d9d5c8005a29cd8782335beb9daaa32d Author: Eric Paris Date: Wed Oct 13 17:50:08 2010 -0400 kernel: roundup should only reference arguments once Currently the roundup macro references it's arguments more than one time. This patch changes it so it will only use its arguments once. Suggested-by: Andrew Morton Signed-off-by: Eric Paris Signed-off-by: James Morris commit 686a0f3d71203bbfcc186900bbb8ac2cfc3d803c Author: Eric Paris Date: Wed Oct 13 17:50:02 2010 -0400 kernel: rounddown helper function The roundup() helper function will round a given value up to a multiple of another given value. aka roundup(11, 7) would give 14 = 7 * 2. This new function does the opposite. It will round a given number down to the nearest multiple of the second number: rounddown(11, 7) would give 7. I need this in some future SELinux code and can carry the macro myself, but figured I would put it in the core kernel so others might find and use it if need be. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1ae4de0cdf855305765592647025bde55e85e451 Author: Eric Paris Date: Wed Oct 13 16:25:00 2010 -0400 secmark: export secctx, drop secmark in procfs The current secmark code exports a secmark= field which just indicates if there is special labeling on a packet or not. We drop this field as it isn't particularly useful and instead export a new field secctx= which is the actual human readable text label. Signed-off-by: Eric Paris Acked-by: Patrick McHardy Signed-off-by: James Morris commit 1cc63249adfa957b34ca51effdee90ff8261d63f Author: Eric Paris Date: Wed Oct 13 16:24:54 2010 -0400 conntrack: export lsm context rather than internal secid via netlink The conntrack code can export the internal secid to userspace. These are dynamic, can change on lsm changes, and have no meaning in userspace. We should instead be sending lsm contexts to userspace instead. This patch sends the secctx (rather than secid) to userspace over the netlink socket. We use a new field CTA_SECCTX and stop using the the old CTA_SECMARK field since it did not send particularly useful information. Signed-off-by: Eric Paris Reviewed-by: Paul Moore Acked-by: Patrick McHardy Signed-off-by: James Morris commit d5630b9d276bd389299ffea620b7c340ab19bcf5 Author: Eric Paris Date: Wed Oct 13 16:24:48 2010 -0400 security: secid_to_secctx returns len when data is NULL With the (long ago) interface change to have the secid_to_secctx functions do the string allocation instead of having the caller do the allocation we lost the ability to query the security server for the length of the upcoming string. The SECMARK code would like to allocate a netlink skb with enough length to hold the string but it is just too unclean to do the string allocation twice or to do the allocation the first time and hold onto the string and slen. This patch adds the ability to call security_secid_to_secctx() with a NULL data pointer and it will just set the slen pointer. Signed-off-by: Eric Paris Reviewed-by: Paul Moore Signed-off-by: James Morris commit 2606fd1fa5710205b23ee859563502aa18362447 Author: Eric Paris Date: Wed Oct 13 16:24:41 2010 -0400 secmark: make secmark object handling generic Right now secmark has lots of direct selinux calls. Use all LSM calls and remove all SELinux specific knowledge. The only SELinux specific knowledge we leave is the mode. The only point is to make sure that other LSMs at least test this generic code before they assume it works. (They may also have to make changes if they do not represent labels as strings) Signed-off-by: Eric Paris Acked-by: Paul Moore Acked-by: Patrick McHardy Signed-off-by: James Morris commit 15714f7b58011cf3948cab2988abea560240c74f Author: Eric Paris Date: Tue Oct 12 11:40:08 2010 -0400 secmark: do not return early if there was no error Commit 4a5a5c73 attempted to pass decent error messages back to userspace for netfilter errors. In xt_SECMARK.c however the patch screwed up and returned on 0 (aka no error) early and didn't finish setting up secmark. This results in a kernel BUG if you use SECMARK. Signed-off-by: Eric Paris Acked-by: Paul Moore Signed-off-by: James Morris commit 3ed02ada2a5e695e2fbb5e4a0008cfcb0f50feaa Author: John Johansen Date: Sat Oct 9 00:47:53 2010 -0700 AppArmor: Ensure the size of the copy is < the buffer allocated to hold it Actually I think in this case the appropriate thing to do is to BUG as there is currently a case (remove) where the alloc_size needs to be larger than the copy_size, and if copy_size is ever greater than alloc_size there is a mistake in the caller code. Signed-off-by: John Johansen Acked-by: Kees Cook Signed-off-by: James Morris commit 9f1c1d426b0402b25cd0d7ca719ffc8e20e46d5f Author: Tetsuo Handa Date: Fri Oct 8 14:43:22 2010 +0900 TOMOYO: Print URL information before panic(). Configuration files for TOMOYO 2.3 are not compatible with TOMOYO 2.2. But current panic() message is too unfriendly and is confusing users. Signed-off-by: Tetsuo Handa Reviewed-by: KOSAKI Motohiro Signed-off-by: James Morris commit b0ae19811375031ae3b3fecc65b702a9c6e5cc28 Author: KOSAKI Motohiro Date: Fri Oct 15 04:21:18 2010 +0900 security: remove unused parameter from security_task_setscheduler() All security modules shouldn't change sched_param parameter of security_task_setscheduler(). This is not only meaningless, but also make a harmful result if caller pass a static variable. This patch remove policy and sched_param parameter from security_task_setscheduler() becuase none of security module is using it. Cc: James Morris Signed-off-by: KOSAKI Motohiro Signed-off-by: James Morris commit 9b3056cca09529d34af2d81305b2a9c6b622ca1b Author: Dmitry Torokhov Date: Fri Oct 1 14:16:39 2010 -0700 tpm: change 'tpm_suspend_pcr' to be module parameter Fix the following warning: drivers/char/tpm/tpm.c:1085: warning: `tpm_suspend_setup' defined but not used and make the workaround operable in case when TPM is compiled as a module. As a side-effect the option will be called tpm.suspend_pcr. Signed-off-by: Dmitry Torokhov Cc: Rajiv Andrade Cc: David Safford Cc: James Morris Cc: Debora Velarde Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 36f7f28416c97dbb725154930066d115b4447e17 Author: KaiGai Kohei Date: Thu Sep 30 11:49:55 2010 +0900 selinux: fix up style problem on /selinux/status This patch fixes up coding-style problem at this commit: 4f27a7d49789b04404eca26ccde5f527231d01d5 selinux: fast status update interface (/selinux/status) Signed-off-by: KaiGai Kohei Signed-off-by: James Morris commit 8b0c543e5cb1e47a54d3ea791b8a03b9c8a715db Author: matt mooney Date: Wed Sep 22 23:50:06 2010 -0700 selinux: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Signed-off-by: James Morris commit 60272da0341e9eaa136e1dc072bfef72c995d851 Author: Paul Gortmaker Date: Wed Sep 15 20:14:53 2010 -0400 selinux: really fix dependency causing parallel compile failure. While the previous change to the selinux Makefile reduced the window significantly for this failure, it is still possible to see a compile failure where cpp starts processing selinux files before the auto generated flask.h file is completed. This is easily reproduced by adding the following temporary change to expose the issue everytime: - cmd_flask = scripts/selinux/genheaders/genheaders ... + cmd_flask = sleep 30 ; scripts/selinux/genheaders/genheaders ... This failure happens because the creation of the object files in the ss subdir also depends on flask.h. So simply incorporate them into the parent Makefile, as the ss/Makefile really doesn't do anything unique. With this change, compiling of all selinux files is dependent on completion of the header file generation, and this test case with the "sleep 30" now confirms it is functioning as expected. Signed-off-by: Paul Gortmaker Signed-off-by: James Morris commit ceba72a68d17ee36ef24a71b80dde39ee934ece8 Author: Paul Gortmaker Date: Mon Aug 9 17:34:25 2010 -0400 selinux: fix parallel compile error Selinux has an autogenerated file, "flask.h" which is included by two other selinux files. The current makefile has a single dependency on the first object file in the selinux-y list, assuming that will get flask.h generated before anyone looks for it, but that assumption breaks down in a "make -jN" situation and you get: selinux/selinuxfs.c:35: fatal error: flask.h: No such file or directory compilation terminated. remake[9]: *** [security/selinux/selinuxfs.o] Error 1 Since flask.h is included by security.h which in turn is included nearly everywhere, make the dependency apply to all of the selinux-y list of objs. Signed-off-by: Paul Gortmaker Signed-off-by: James Morris commit 119041672592d1890d89dd8f194bd0919d801dc8 Author: KaiGai Kohei Date: Tue Sep 14 18:28:39 2010 +0900 selinux: fast status update interface (/selinux/status) This patch provides a new /selinux/status entry which allows applications read-only mmap(2). This region reflects selinux_kernel_status structure in kernel space. struct selinux_kernel_status { u32 length; /* length of this structure */ u32 sequence; /* sequence number of seqlock logic */ u32 enforcing; /* current setting of enforcing mode */ u32 policyload; /* times of policy reloaded */ u32 deny_unknown; /* current setting of deny_unknown */ }; When userspace object manager caches access control decisions provided by SELinux, it needs to invalidate the cache on policy reload and setenforce to keep consistency. However, the applications need to check the kernel state for each accesses on userspace avc, or launch a background worker process. In heuristic, frequency of invalidation is much less than frequency of making access control decision, so it is annoying to invoke a system call to check we don't need to invalidate the userspace cache. If we can use a background worker thread, it allows to receive invalidation messages from the kernel. But it requires us an invasive coding toward the base application in some cases; E.g, when we provide a feature performing with SELinux as a plugin module, it is unwelcome manner to launch its own worker thread from the module. If we could map /selinux/status to process memory space, application can know updates of selinux status; policy reload or setenforce. A typical application checks selinux_kernel_status::sequence when it tries to reference userspace avc. If it was changed from the last time when it checked userspace avc, it means something was updated in the kernel space. Then, the application can reset userspace avc or update current enforcing mode, without any system call invocations. This sequence number is updated according to the seqlock logic, so we need to wait for a while if it is odd number. Signed-off-by: KaiGai Kohei Acked-by: Eric Paris -- security/selinux/include/security.h | 21 ++++++ security/selinux/selinuxfs.c | 56 +++++++++++++++ security/selinux/ss/Makefile | 2 +- security/selinux/ss/services.c | 3 + security/selinux/ss/status.c | 129 +++++++++++++++++++++++++++++++++++ 5 files changed, 210 insertions(+), 1 deletions(-) Signed-off-by: James Morris commit 4b04a7cfc5ccb573ca3752429c81d37f8dd2f7c6 Author: Yong Zhang Date: Sat Aug 28 10:25:09 2010 +0800 .gitignore: ignore apparmor/rlim_names.h Signed-off-by: Yong Zhang Signed-off-by: John Johansen Signed-off-by: James Morris commit 065d78a0603cc6f8d288e96dbf761b96984b634f Author: Tetsuo Handa Date: Sat Aug 28 14:58:44 2010 +0900 LSM: Fix security_module_enable() error. We can set default LSM module to DAC (which means "enable no LSM module"). If default LSM module was set to DAC, security_module_enable() must return 0 unless overridden via boot time parameter. Signed-off-by: Tetsuo Handa Acked-by: Serge E. Hallyn Signed-off-by: James Morris commit daa6d83a2863c28197b0c7dabfdf1e0606760b78 Author: Eric Paris Date: Tue Aug 3 15:26:05 2010 -0400 selinux: type_bounds_sanity_check has a meaningless variable declaration type is not used at all, stop declaring and assigning it. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 68eda8f59081c74a51d037cc29893bd7c9b3c2d8 Author: Dan Carpenter Date: Sun Aug 8 00:17:51 2010 +0200 tomoyo: cleanup. don't store bogus pointer If domain is NULL then &domain->list is a bogus address. Let's leave head->r.domain NULL instead of saving an unusable pointer. This is just a cleanup. The current code always checks head->r.eof before dereferencing head->r.domain. Signed-off-by: Dan Carpenter Acked-by: Tetsuo Handa commit 66f2b061546974b96b7b238a92ce89a87ecf0754 Author: FUJITA Tomonori Date: Wed Oct 20 15:55:35 2010 -0700 x86, mm: Enable ARCH_DMA_ADDR_T_64BIT with X86_64 || HIGHMEM64G Set CONFIG_ARCH_DMA_ADDR_T_64BIT when we set dma_addr_t to 64 bits in ; this allows Kconfig decisions based on this property. Signed-off-by: FUJITA Tomonori LKML-Reference: <201010202255.o9KMtZXu009370@imap1.linux-foundation.org> Acked-by: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit efa4c1206eaff047c474af2136748a58eb8cc33b Author: Sage Weil Date: Mon Oct 18 14:04:31 2010 -0700 ceph: do not carry i_lock for readdir from dcache We were taking dcache_lock inside of i_lock, which introduces a dependency not found elsewhere in the kernel, complicationg the vfs locking scalability work. Since we don't actually need it here anyway, remove it. We only need i_lock to test for the I_COMPLETE flag, so be careful to do so without dcache_lock held. Signed-off-by: Sage Weil commit 61413c2f594e6b63db2b14c70c2e7d8cf02f9c00 Author: Julia Lawall Date: Sun Oct 17 21:55:21 2010 +0200 fs/ceph/xattr.c: Use kmemdup Convert a sequence of kmalloc and memcpy to use kmemdup. The semantic patch that performs this transformation is: (http://coccinelle.lip6.fr/) // @@ expression a,flag,len; expression arg,e1,e2; statement S; @@ a = - \(kmalloc\|kzalloc\)(len,flag) + kmemdup(arg,len,flag) <... when != a if (a == NULL || ...) S ...> - memcpy(a,arg,len+1); // Signed-off-by: Julia Lawall Signed-off-by: Sage Weil commit 85b5aaa624aac568b8a3a88dbe4de6628c7cc527 Author: Dan Carpenter Date: Mon Oct 11 21:15:11 2010 +0200 rbd: passing wrong variable to bvec_kunmap_irq() We should be passing "buf" here insead of "bv". This is tricky because it's not the same as kmap() and kunmap(). GCC does warn about it if you compile on i386 with CONFIG_HIGHMEM. Signed-off-by: Dan Carpenter Signed-off-by: Sage Weil commit b8d0638a98aa4a42ff322234b882487cd74e5c52 Author: Dan Carpenter Date: Mon Oct 11 21:14:23 2010 +0200 rbd: null vs ERR_PTR ceph_alloc_page_vector() returns ERR_PTR(-ENOMEM) on errors. Signed-off-by: Dan Carpenter Signed-off-by: Sage Weil commit 240634e9b3a8ae2a9e2b7effeea3b9a5b30d68fb Author: Sage Weil Date: Tue Oct 5 12:03:23 2010 -0700 ceph: fix num_pages_free accounting in pagelist Decrement the free page counter when removing a page from the free_list. Signed-off-by: Sage Weil commit 571dba52a34015a5a7aa5d480a86936878444a6f Author: Greg Farnum Date: Fri Sep 24 14:56:40 2010 -0700 ceph: add CEPH_MDS_OP_SETDIRLAYOUT and associated ioctl. Signed-off-by: Sage Weil commit 010e3b48fca57920557d2b80b83f8b2899fb5d1e Author: Yehuda Sadeh Date: Thu Sep 30 11:58:31 2010 -0700 ceph: don't crash when passed bad mount options This only happened when parse_extra_token was not passed to ceph_parse_option() (hence, only happened in rbd). Signed-off-by: Yehuda Sadeh commit 6f453ed6c07dbed83b368269c9c0fb170866ee71 Author: Randy Dunlap Date: Tue Sep 28 09:53:10 2010 -0700 ceph: fix debugfs warnings Include "super.h" outside of CONFIG_DEBUG_FS to eliminate a compiler warning: fs/ceph/debugfs.c:266: warning: 'struct ceph_fs_client' declared inside parameter list fs/ceph/debugfs.c:266: warning: its scope is only this definition or declaration, which is probably not what you want fs/ceph/debugfs.c:271: warning: 'struct ceph_fs_client' declared inside parameter list Signed-off-by: Randy Dunlap Signed-off-by: Yehuda Sadeh commit f4cf3deef4c474381e8fee2e6099d49edd9105cb Author: Yehuda Sadeh Date: Mon Sep 27 10:51:53 2010 -0700 block: rbd: removing unnecessary test rbd_get_segment() can't return a negative value, we don't need to check the return output. Signed-off-by: Yehuda Sadeh commit 28f259b7cd78eb29d38b7ae6b475d656e08fd348 Author: Vasiliy Kulikov Date: Sun Sep 26 12:59:37 2010 +0400 block: rbd: fixed may leaks rbd_client_create() doesn't free rbdc, this leads to many leaks. seg_len in rbd_do_op() is unsigned, so (seg_len < 0) makes no sense. Also if fixed check fails then seg_name is leaked. Signed-off-by: Vasiliy Kulikov Signed-off-by: Yehuda Sadeh commit 496e59553c51ce18acc836de070106b583926b87 Author: Sage Weil Date: Wed Sep 22 19:57:10 2010 -0700 ceph: switch from BKL to lock_flocks() Switch from using the BKL explicitly to the new lock_flocks() interface. Eventually this will turn into a spinlock. Signed-off-by: Sage Weil commit fca4451acfdcf894154e4809529ca28a09db88ff Author: Greg Farnum Date: Fri Sep 17 10:24:02 2010 -0700 ceph: preallocate flock state without locks held When the lock_kernel() turns into lock_flocks() and a spinlock, we won't be able to do allocations with the lock held. Preallocate space without the lock, and retry if the lock state changes out from underneath us. Signed-off-by: Greg Farnum Signed-off-by: Sage Weil commit ac0b74d8a1ced8ea86147467daf06b15b130dd94 Author: Greg Farnum Date: Fri Sep 17 10:10:55 2010 -0700 ceph: add pagelist_reserve, pagelist_truncate, pagelist_set_cursor These facilitate preallocation of pages so that we can encode into the pagelist in an atomic context. Signed-off-by: Greg Farnum Signed-off-by: Sage Weil commit 18a38193efcaac1fb3c94ad8fa04bb117850a3c2 Author: Sage Weil Date: Fri Sep 17 10:46:44 2010 -0700 ceph: use mapping->nrpages to determine if mapping is empty This is simpler and faster. Signed-off-by: Sage Weil commit 93afd449aa3c0430ef409c13e1cb2b3f0458fc10 Author: Sage Weil Date: Fri Sep 17 08:38:25 2010 -0700 ceph: only invalidate on check_caps if we actually have pages The i_rdcache_gen value only implies we MAY have cached pages; actually check the mapping to see if it's worth bothering with an invalidate. Signed-off-by: Sage Weil commit 4c32f5dda5ffe23687a55da1538b7cc426710d1a Author: Sage Weil Date: Tue Aug 24 16:27:36 2010 -0700 ceph: do not hide .snap in root directory Snaps in the root directory are now supported by the MDS, and harmless on older versions. Signed-off-by: Sage Weil commit 602adf400201636e95c3fed9f31fba54a3d7e844 Author: Yehuda Sadeh Date: Thu Aug 12 16:11:25 2010 -0700 rbd: introduce rados block device (rbd), based on libceph The rados block device (rbd), based on osdblk, creates a block device that is backed by objects stored in the Ceph distributed object storage cluster. Each device consists of a single metadata object and data striped over many data objects. The rbd driver supports read-only snapshots. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit 3d14c5d2b6e15c21d8e5467dc62d33127c23a644 Author: Yehuda Sadeh Date: Tue Apr 6 15:14:15 2010 -0700 ceph: factor out libceph from Ceph file system This factors out protocol and low-level storage parts of ceph into a separate libceph module living in net/ceph and include/linux/ceph. This is mostly a matter of moving files around. However, a few key pieces of the interface change as well: - ceph_client becomes ceph_fs_client and ceph_client, where the latter captures the mon and osd clients, and the fs_client gets the mds client and file system specific pieces. - Mount option parsing and debugfs setup is correspondingly broken into two pieces. - The mon client gets a generic handler callback for otherwise unknown messages (mds map, in this case). - The basic supported/required feature bits can be expanded (and are by ceph_fs_client). No functional change, aside from some subtle error handling cases that got cleaned up in the refactoring process. Signed-off-by: Sage Weil commit ae1533b62b3369e6ae32338f4a77d64d0e88f676 Author: Yehuda Sadeh Date: Tue May 18 16:38:08 2010 -0700 ceph-rbd: osdc support for osd call and rollback operations This will be used for rbd snapshots administration. Signed-off-by: Yehuda Sadeh commit 68b4476b0bc13fef18266b4140309a30e86739d2 Author: Yehuda Sadeh Date: Tue Apr 6 15:01:27 2010 -0700 ceph: messenger and osdc changes for rbd Allow the messenger to send/receive data in a bio. This is added so that we wouldn't need to copy the data into pages or some other buffer when doing IO for an rbd block device. We can now have trailing variable sized data for osd ops. Also osd ops encoding is more modular. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit 3499e8a5d4dbb083324efd942e2c4fb7eb65f27c Author: Yehuda Sadeh Date: Tue Apr 6 14:51:47 2010 -0700 ceph: refactor osdc requests creation functions The osd requests creation are being decoupled from the vino parameter, allowing clients using the osd to use other arbitrary object names that are not necessarily vino based. Also, calc_raw_layout now takes a snap id. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit 7669a2c95e502a77f93f27e5449fc93a00d588b6 Author: Yehuda Sadeh Date: Mon May 17 12:31:35 2010 -0700 ceph: lookup pool in osdmap by name Implement a pool lookup by name. This will be used by rbd. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit 932967202182743c01a2eee4bdfa2c42697bc586 Author: Shaohua Li Date: Wed Oct 20 11:07:03 2010 +0800 x86: Spread tlb flush vector between nodes Currently flush tlb vector allocation is based on below equation: sender = smp_processor_id() % 8 This isn't optimal, CPUs from different node can have the same vector, this causes a lot of lock contention. Instead, we can assign the same vectors to CPUs from the same node, while different node has different vectors. This has below advantages: a. if there is lock contention, the lock contention is between CPUs from one node. This should be much cheaper than the contention between nodes. b. completely avoid lock contention between nodes. This especially benefits kswapd, which is the biggest user of tlb flush, since kswapd sets its affinity to specific node. In my test, this could reduce > 20% CPU overhead in extreme case.The test machine has 4 nodes and each node has 16 CPUs. I then bind each node's kswapd to the first CPU of the node. I run a workload with 4 sequential mmap file read thread. The files are empty sparse file. This workload will trigger a lot of page reclaim and tlbflush. The kswapd bind is to easy trigger the extreme tlb flush lock contention because otherwise kswapd keeps migrating between CPUs of a node and I can't get stable result. Sure in real workload, we can't always see so big tlb flush lock contention, but it's possible. [ hpa: folded in fix from Eric Dumazet to use this_cpu_read() ] Signed-off-by: Shaohua Li LKML-Reference: <1287544023.4571.8.camel@sli10-conroe.sh.intel.com> Cc: Eric Dumazet Signed-off-by: H. Peter Anvin commit c957ef2c59e952803766ddc22e89981ab534606f Author: Shaohua Li Date: Wed Oct 20 11:07:02 2010 +0800 percpu: Introduce a read-mostly percpu API Add a new readmostly percpu section and API. This can be used to avoid dirtying data lines which are generally not written to, which is especially important for data which may be accessed by processors other than the one for which the percpu area belongs to. [ hpa: moved it *after* the page-aligned section, for obvious reasons. ] Signed-off-by: Shaohua Li LKML-Reference: <1287544022.4571.7.camel@sli10-conroe.sh.intel.com> Cc: Eric Dumazet Signed-off-by: H. Peter Anvin commit b40827fa7268fda8a62490728a61c2856f33830b Author: Borislav Petkov Date: Sat Aug 28 15:58:33 2010 +0200 x86-32, mm: Add an initial page table for core bootstrapping This patch adds an initial page table with low mappings used exclusively for booting APs/resuming after ACPI suspend/machine restart. After this, there's no need to add low mappings to swapper_pg_dir and zap them later or create own swsusp PGD page solely for ACPI sleep needs - we have initial_page_table for that. Signed-off-by: Borislav Petkov LKML-Reference: <20101020070526.GA9588@liondog.tnic> Signed-off-by: H. Peter Anvin commit d25e6b0b326278a1096e8334584c3e64517057a3 Merge: e44dea3 40ffa93 Author: H. Peter Anvin Date: Wed Oct 20 14:22:45 2010 -0700 Merge branch 'x86/cleanups' into x86/trampoline commit e44dea35ccb78ab7dc3a75ccec71d7d6f35017c4 Merge: 51ea8a8 b0f4c06 Author: H. Peter Anvin Date: Wed Oct 20 13:18:17 2010 -0700 Merge branch 'x86/vmware' into x86/trampoline commit f01f7c56a1425b9749a99af821e1de334fb64d7e Author: Borislav Petkov Date: Tue Oct 19 22:17:37 2010 +0000 x86, mm: Fix incorrect data type in vmalloc_sync_all() arch/x86/mm/fault.c: In function 'vmalloc_sync_all': arch/x86/mm/fault.c:238: warning: assignment makes integer from pointer without a cast introduced by 617d34d9e5d8326ec8f188c616aa06ac59d083fe. Signed-off-by: Borislav Petkov LKML-Reference: <20101020103642.GA3135@kryptos.osrc.amd.com> Signed-off-by: H. Peter Anvin commit 2764c500be0c1f057349ee6c81557239de060f87 Author: Ilkka Koskinen Date: Tue Oct 19 17:07:31 2010 +0300 spi/omap2_mcspi: Verify TX reg is empty after TX only xfer with DMA In case of TX only with DMA, the driver assumes that the data has been transferred once DMA callback in invoked. However, SPI's shift register may still contain data. Thus, the driver is supposed to verify that the register is empty and the end of the SPI transfer has been reached. Signed-off-by: Ilkka Koskinen Tested-by: Tuomas Katila Acked-by: Tony Lindgren Signed-off-by: Grant Likely commit e1993ed6420afd4421336d75e73641f75da87a7f Author: Jason Wang Date: Tue Oct 19 18:03:27 2010 +0800 spi/omap2_mcspi: disable channel after TX_ONLY transfer in PIO mode In the TX_ONLY transfer, the SPI controller also receives data simultaneously and saves them in the rx register. After the TX_ONLY transfer, the rx register will hold the random data received during the last tx transaction. If the direct following transfer is RX_ONLY, this random data has the possibility to affect this transfer like this: When the SPI controller is changed from TX_ONLY to RX_ONLY, the random data makes the rx register full immediately and triggers a dummy write automatically(in SPI RX_ONLY transfers, we need a dummy write to trigger the first transaction). So the first data received in the RX_ONLY transfer will be that random data instead of something meaningful. We can avoid this by inserting a Disable/Re-enable toggle of the channel after the TX_ONLY transfer, since it purges the rx register. Signed-off-by: Jason Wang Tested-by: Grazvydas Ignotas Acked-by: Tony Lindgren Signed-off-by: Grant Likely commit cb174681a9ececa6702f114b85bdf82144b6a5af Author: Jiri Slaby Date: Tue Oct 19 11:29:55 2010 +0200 HID: hidraw: fix window in hidraw_release There is a window between hidraw_table check and its dereference. In that window, the device may be unplugged and removed form the system and we will then dereference NULL. Lock that place properly so that either we get NULL and jump out or we can work with real pointer. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 569b10a506c4d5bc7398d040930539d84d3a2186 Author: Antonio Ospite Date: Tue Oct 19 16:13:10 2010 +0200 HID: hid-sony: override usbhid_output_raw_report for Sixaxis Override usbhid_output_raw_report in order to force output reports (sent via hidraw_write, for instance) on the control endpoint. The Sony Sixaxis (PS3 Controller) accepts output reports only on the control endpoint, it silently discards them when they arrive over the interrupt endpoint where usbhid would normally deliver them. Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit f3305da35a26def93b476051f4d7b6bc791e561e Merge: 83fc3bc0 5de9e45 Author: Takashi Iwai Date: Wed Oct 20 12:22:11 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit 27b75c95f10d249574d9c4cb9dab878107faede8 Author: Eric Dumazet Date: Fri Oct 15 05:44:11 2010 +0000 net: avoid RCU for NOCACHE dst There is no point using RCU for dst we allocate for a very short time (used once). Change dst_release() to take DST_NOCACHE into account, but also change skb_dst_set_noref() to force a refcount increment for such dst. This is a _huge_ gain, because we dont waste memory to store xx thousand of dsts. Instead of queueing them to RCU, we can free them instantly. CPU caches can stay hot, re-using same memory blocks to hold temporary dsts. Note : remove unneeded smp_mb__before_atomic_dec(); in dst_release(), since atomic_dec_return() implies a full memory barrier. Stress test, 160.000.000 udp frames sent, IP route cache disabled (DDOS). Before: real 0m38.091s user 0m13.189s sys 7m53.018s After: real 0m29.946s user 0m12.157s sys 7m40.605s For reference, if IP route cache was enabled : real 0m32.030s user 0m10.521s sys 8m15.243s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e6484930d7c73d324bccda7d43d131088da697b9 Author: Tom Herbert Date: Mon Oct 18 18:04:39 2010 +0000 net: allocate tx queues in register_netdevice This patch introduces netif_alloc_netdev_queues which is called from register_device instead of alloc_netdev_mq. This makes TX queue allocation symmetric with RX allocation. Also, queue locks allocation is done in netdev_init_one_queue. Change set_real_num_tx_queues to fail if requested number < 1 or greater than number of allocated queues. Signed-off-by: Tom Herbert Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit bd25fa7ba59cd26094319dfba0011b48465f7355 Author: Tom Herbert Date: Mon Oct 18 18:00:16 2010 +0000 net: cleanups in RX queue allocation Clean up in RX queue allocation. In netif_set_real_num_rx_queues return error on attempt to set zero queues, or requested number is greater than number of allocated queues. In netif_alloc_rx_queues, do BUG_ON if queue_count is zero. Signed-off-by: Tom Herbert Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 55513fb4281464e97aa1ff2b9c906ca5aed917c5 Author: Tom Herbert Date: Mon Oct 18 17:55:58 2010 +0000 net: fail alloc_netdev_mq if queue count < 1 In alloc_netdev_mq fail if requested queue_count < 1. Signed-off-by: Tom Herbert Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 5eeaa2db162f1f6d83e988d4d28f4ba7be600e44 Merge: c5e90f5 c64557d Author: David S. Miller Date: Wed Oct 20 01:59:48 2010 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit c5e90f562047ff9713183cf5e18f5e8997bc7373 Author: Changli Gao Date: Tue Oct 19 21:51:03 2010 +0000 phonet: remove the unused variable pn Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit f13d493d9cf772d510d78ae00bb9f4d680b3170b Author: Neil Horman Date: Tue Oct 19 07:04:26 2010 +0000 netpoll: Revert napi_poll fix for bonding driver In an erlier patch I modified napi_poll so that devices with IFF_MASTER polled the per_cpu list instead of the device list for napi. I did this because the bonding driver has no napi instances to poll, it instead expects to check the slave devices napi instances, which napi_poll was unaware of. Looking at this more closely however, I now see this isn't strictly needed. As the bond driver poll_controller calls the slaves poll_controller via netpoll_poll_dev, which recursively calls poll_napi on each slave, allowing those napi instances to get serviced. The earlier patch isn't at all harmfull, its just not needed, so lets revert it to make the code cleaner. Sorry for the noise, Signed-off-by: Neil Horman Reviewed-by: WANG Cong Signed-off-by: David S. Miller commit 9ff76c951c5194d44a7cdce51d807d67fc3ae514 Author: Neil Horman Date: Tue Oct 19 07:04:25 2010 +0000 netpoll: Remove netpoll blocking from uninit path Some recent testing in netpoll with bonding showed this backtrace ------------[ cut here ]------------ kernel BUG at drivers/net/bonding/bonding.h:134! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1d.2/usb7/devnum CPU 0 Pid: 1876, comm: rmmod Not tainted 2.6.36-rc3+ #10 D26928/ RIP: 0010:[] [] bond_uninit+0x6f4/0x7a0 RSP: 0018:ffff88003b1b5d58 EFLAGS: 00010296 RAX: ffff88003b9b6200 RBX: ffff8800373e8e00 RCX: 00000000000f4240 RDX: 00000000ffffffff RSI: 0000000000000286 RDI: 0000000000000286 RBP: ffff88003b1b5dc8 R08: 0000000000000000 R09: 00000001af7de920 R10: 0000000000000000 R11: ffff880002495e98 R12: ffff880037922700 R13: ffff880038c31000 R14: ffff880037922730 R15: 0000000000000286 FS: 00007f90e6d72700(0000) GS:ffff880002400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 000000346f0d9ad0 CR3: 000000003b263000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process rmmod (pid: 1876, threadinfo ffff88003b1b4000, task ffff88003b36aa80) Stack: 00000000ffffffff ffff88003b1b5d7a ffff8800379221e8 ffff880037922000 <0> ffff88003b1b5dc8 ffffffff813eb5fb ffff88003b1b5da8 0000000031b177a3 <0> ffff88003b1b5da8 ffff880037922000 ffff88003b1b5e48 ffff88003b1b5e48 Call Trace: [] ? rtmsg_ifinfo+0xcb/0xf0 [] rollback_registered_many+0x168/0x280 [] unregister_netdevice_many+0x19/0x80 [] __rtnl_kill_links+0x63/0x90 [] __rtnl_link_unregister+0x2b/0x60 [] rtnl_link_unregister+0x1e/0x30 [] bonding_exit+0x37/0x51 [bonding] [] sys_delete_module+0x19e/0x270 [] ? audit_syscall_entry+0x252/0x280 [] system_call_fastpath+0x16/0x1b RIP [] bond_uninit+0x6f4/0x7a0 [bonding] RSP ---[ end trace 1395ad691cea24d1 ]--- It occurs because of my recent netpoll blocking patches, which I added to avoid recursive deadlock in the bonding driver. It relies on some per cpu bits, but the shutdown path forces some rescheduling as we cancel workqueues for the driver and wait for some device refcounts. If after the forced reschedule, we wind up on a different cpu we trigger the bughalt in unblock_netpoll_tx. The fix is to remove the netpoll block/unblock calls from bond_release_all. This is safe to do because bond_uninit, which is called via ndo_uninit in rollback_registered_many, doesn't occur until we send a NETDEV_UNREGISTER event, which triggers netconsole to remove us as a netpoll client, so we are guaranteed not to recurse into our own tx path here. Signed-off-by: Neil Horman Reviewed-by: WANG Cong Signed-off-by: David S. Miller commit 5de9e45fcfccdf8151a82fc1a521e7042cbe482a Author: Jaroslav Kysela Date: Wed Oct 20 09:33:03 2010 +0200 ALSA: snd-aloop - add pause support Signed-off-by: Jaroslav Kysela commit dd04bb12d047a4d4461772093472a40dbe171e5f Author: Jaroslav Kysela Date: Wed Oct 20 08:27:02 2010 +0200 ALSA: snd-aloop - fix locking issues (running flag updates) On SMP machines, the cable->running update must be atomic, otherwise stream is not started correctly sometimes. Signed-off-by: Jaroslav Kysela commit 6451d7783ba5ff24eb1a544eaa6665b890f30466 Author: Nicolas Pitre Date: Thu Oct 14 22:21:46 2010 -0400 arm: remove machine_desc.io_pg_offst and .phys_io Since we're now using addruart to establish the debug mapping, we can remove the io_pg_offst and phys_io members of struct machine_desc. The various declarations were removed using the following script: grep -rl MACHINE_START arch/arm | xargs \ sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }' [ Initial patch was from Jeremy Kerr, example script from Russell King ] Signed-off-by: Nicolas Pitre Acked-by: Eric Miao commit c293393faa8e11a5a80a9e358718432b8697f451 Author: Jeremy Kerr Date: Wed Jul 7 11:19:48 2010 +0800 arm: use addruart macro to establish debug mappings Since we can get both physical and virtual addresses from the addruart macro, we can use this to establish the debug mappings. In the case of CONFIG_DEBUG_ICEDCC, we don't need any mappings, but may still need to setup r7 correctly. Incorporating ASM changes from Nicolas Pitre . Signed-off-by: Jeremy Kerr Tested-by: Kevin Hilman commit 0ea1293009826da45e1019f45dfde1e557bb30df Author: Jeremy Kerr Date: Tue Jul 6 18:30:06 2010 +0800 arm: return both physical and virtual addresses from addruart Rather than checking the MMU status in every instance of addruart, do it once in kernel/debug.S, and change the existing addruart macros to return both physical and virtual addresses. The main debug code can then select the appropriate address to use. This will also allow us to retreive the address of a uart for the MMU state that we're not current in. Updated with fixes for OMAP from Jason Wang and Tony Lindgren , and fix for versatile express from Lorenzo Pieralisi . Signed-off-by: Jeremy Kerr Signed-off-by: Lorenzo Pieralisi Signed-off-by: Jason Wang Signed-off-by: Tony Lindgren Tested-by: Kevin Hilman commit 1ea64615601229f0dc16dee91dc5b50216411baa Author: Jeremy Kerr Date: Wed Jul 21 10:40:50 2010 +0200 arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC We have the same (empty) macro for all IDEDCC flavours, so consolidate it to one. Signed-off-by: Jeremy Kerr commit d71e3eb5894dbb626dc7e28cfd4f33ebee9a739a Author: Nicolas Pitre Date: Thu Oct 14 22:37:52 2010 -0400 ARM: make struct machine_desc definition coherent with its comment As mentioned in the comment right at the top, the first four fields are directly accessed by assembly code in head.S. Move nr_irqs so the comment is true again. Signed-off-by: Nicolas Pitre commit 27afdf2008da0b8878a73e32e4eb12381b84e224 Author: Robert Richter Date: Wed Oct 6 12:27:54 2010 +0200 apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets We want the BIOS to setup the EILVT APIC registers. The offsets were hardcoded and BIOS settings were overwritten by the OS. Now, the subsystems for MCE threshold and IBS determine the LVT offset from the registers the BIOS has setup. If the BIOS setup is buggy on a family 10h system, a workaround enables IBS. If the OS determines an invalid register setup, a "[Firmware Bug]: " error message is reported. We need this change also for upcomming cpu families. Signed-off-by: Robert Richter LKML-Reference: <1286360874-1471-3-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit a68c439b1966c91f0ef474e2bf275d6792312726 Author: Robert Richter Date: Wed Oct 6 12:27:53 2010 +0200 apic, x86: Check if EILVT APIC registers are available (AMD only) This patch implements checks for the availability of LVT entries (APIC500-530) and reserves it if used. The check becomes necessary since we want to let the BIOS provide the LVT offsets. The offsets should be determined by the subsystems using it like those for MCE threshold or IBS. On K8 only offset 0 (APIC500) and MCE interrupts are supported. Beginning with family 10h at least 4 offsets are available. Since offsets must be consistent for all cores, we keep track of the LVT offsets in software and reserve the offset for the same vector also to be used on other cores. An offset is freed by setting the entry to APIC_EILVT_MASKED. If the BIOS is right, there should be no conflicts. Otherwise a "[Firmware Bug]: ..." error message is generated. However, if software does not properly determines the offsets, it is not necessarily a BIOS bug. Signed-off-by: Robert Richter LKML-Reference: <1286360874-1471-2-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 14d4962dc863ab42e898d66d4837aa6c3afedc3b Merge: 9717967 2b666ca Author: Ingo Molnar Date: Wed Oct 20 04:38:56 2010 +0200 Merge branch 'linus' into irq/core Merge reason: update to almost-final-.36 Signed-off-by: Ingo Molnar commit 6eaa61496fb3b93cceface7a296415fc4c030bce Author: Trond Myklebust Date: Mon Oct 4 17:59:08 2010 -0400 NFSv4: Don't call nfs4_reclaim_complete() on receiving NFS4ERR_STALE_CLIENTID If the server sends us an NFS4ERR_STALE_CLIENTID while the state management thread is busy reclaiming state, we do want to treat all state that wasn't reclaimed before the STALE_CLIENTID as if a network partition occurred (see the edge conditions described in RFC3530 and RFC5661). What we do not want to do is to send an nfs4_reclaim_complete(), since we haven't yet even started reclaiming state after the server rebooted. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit ae1007d37e00144b72906a4bdc47d517ae91bcc1 Author: Trond Myklebust Date: Mon Oct 4 17:59:08 2010 -0400 NFSv4: Don't call nfs4_state_mark_reclaim_reboot() from error handlers In the case of a server reboot, the state recovery thread starts by calling nfs4_state_end_reclaim_reboot() in order to avoid edge conditions when the server reboots while the client is in the middle of recovery. However, if the client has already marked the nfs4_state as requiring reboot recovery, then the above behaviour will cause the recovery thread to treat the open as if it was part of such an edge condition: the open will be recovered as if it was part of a lease expiration (and all the locks will be lost). Fix is to remove the call to nfs4_state_mark_reclaim_reboot from nfs4_async_handle_error(), and nfs4_handle_exception(). Instead we leave it to the recovery thread to do this for us. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit b0ed9dbc24f1fd912b2dd08b995153cafc1d5b1c Author: Trond Myklebust Date: Mon Oct 4 17:59:08 2010 -0400 NFSv4: Fix open recovery NFSv4 open recovery is currently broken: since we do not clear the state->flags states before attempting recovery, we end up with the 'can_open_cached()' function triggering. This again leads to no OPEN call being put on the wire. Reported-by: Sachin Prabhu Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit bc4866b6e0b44f8ea0df22a16e5927714beb4983 Author: Trond Myklebust Date: Mon Oct 4 17:59:08 2010 -0400 NFS: Don't SIGBUS if nfs_vm_page_mkwrite races with a cache invalidation In the case where we lock the page, and then find out that the page has been thrown out of the page cache, we should just return VM_FAULT_NOPAGE. This is what block_page_mkwrite() does in these situations. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 9c034392533f3e9f00656d5c58478cff2560ef81 Author: Rafael J. Wysocki Date: Tue Oct 19 23:42:49 2010 +0200 PM / Wakeup: Show wakeup sources statistics in debugfs There may be wakeup sources that aren't associated with any devices and their statistics information won't be available from sysfs. Also, for debugging purposes it is convenient to have all of the wakeup sources statistics available from one place. For these reasons, introduce new file "wakeup_sources" in debugfs containing those statistics. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit 3234282f33b29d349bcada40204fc7c8fda7fe72 Author: Jan Beulich Date: Tue Oct 19 14:52:26 2010 +0100 x86, asm: Fix CFI macro invocations to deal with shortcomings in gas gas prior to (perhaps) 2.16.90 has problems with passing non- parenthesized expressions containing spaces to macros. Spaces, however, get inserted by cpp between any macro expanding to a number and a subsequent + or -. For the +, current x86 gas then removes the space again (future gas may not do so), but for the - the space gets retained and is then considered a separator between macro arguments. Fix the respective definitions for both the - and + cases, so that they neither contain spaces nor make cpp insert any (the latter by adding seemingly redundant parentheses). Signed-off-by: Jan Beulich LKML-Reference: <4CBDBEBA020000780001E05A@vpn.id2.novell.com> Cc: Alexander van Heukelum Signed-off-by: H. Peter Anvin commit 809b4e00baf006a990a73329ba381d536c6fa277 Merge: a0a5568 79a94c3 Author: Russell King Date: Tue Oct 19 22:06:36 2010 +0100 Merge branch 'devel-stable' into devel commit 79a94c3538bda6869d7bb150b5e02dd3a72314dd Merge: f779b7d f1de161 Author: Russell King Date: Tue Oct 19 22:04:42 2010 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 617d34d9e5d8326ec8f188c616aa06ac59d083fe Author: Jeremy Fitzhardinge Date: Tue Sep 21 12:01:51 2010 -0700 x86, mm: Hold mm->page_table_lock while doing vmalloc_sync Take mm->page_table_lock while syncing the vmalloc region. This prevents a race with the Xen pagetable pin/unpin code, which expects that the page_table_lock is already held. If this race occurs, then Xen can see an inconsistent page type (a page can either be read/write or a pagetable page, and pin/unpin converts it between them), which will cause either the pin or the set_p[gm]d to fail; either will crash the kernel. vmalloc_sync_all() should be called rarely, so this extra use of page_table_lock should not interfere with its normal users. The mm pointer is stashed in the pgd page's index field, as that won't be otherwise used for pgds. Reported-by: Ian Campbell Originally-by: Jan Beulich LKML-Reference: <4CB88A4C.1080305@goop.org> Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 44235dcde416104b8e1db7606c283f4c0149c760 Author: Jeremy Fitzhardinge Date: Thu Oct 14 17:04:59 2010 -0700 x86, mm: Fix bogus whitespace in sync_global_pgds() Whitespace cleanup only. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit f779b7dd3259ec138c7aba793f0602b20262af83 Merge: 3c00079 fe0cdec Author: Russell King Date: Tue Oct 19 20:12:24 2010 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable Conflicts: arch/arm/mach-at91/include/mach/system.h arch/arm/mach-imx/mach-cpuimx27.c AT91 conflict resolution: Acked-by: Anders Larsen IMX conflict resolution confirmed by Uwe Kleine-König. commit 3e24e132878c83910b61eb7704511a6d96a0389f Author: Tejun Heo Date: Tue Oct 19 17:55:54 2010 +0200 cifs: cancel_delayed_work() + flush_scheduled_work() -> cancel_delayed_work_sync() flush_scheduled_work() is going away. Signed-off-by: Tejun Heo Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 89f150f401c32b0a587dcb98d3bcfafe0b9c1c70 Author: Shirish Pargaonkar Date: Tue Oct 19 11:47:52 2010 -0500 Clean up two declarations of blob_len - Eliminate double declaration of variable blob_len - Modify function build_ntlmssp_auth_blob to return error code as well as length of the blob. Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 3c00079b31f910309b30ed5c2fd2b7a2d86bba60 Merge: 7f9c7e2 88b5227 Author: Russell King Date: Tue Oct 19 19:55:59 2010 +0100 Merge branch 'msm-core' of git://codeaurora.org/quic/kernel/dwalker/linux-msm into devel-stable commit 750ed158bf6c782d2813da1bca2c824365a0b777 Merge: 3f7edb1 7e40798 Author: Ingo Molnar Date: Tue Oct 19 20:41:38 2010 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit f1de1613da54f754d5d2bbf79fcacbd5ed965537 Author: Fabio Estevam Date: Thu Oct 14 08:38:04 2010 -0700 eukrea_mbimxsd-baseboard: Pass the correct GPIO to gpio_free Pass the correct GPIO to gpio_free Signed-off-by: Fabio Estevam Acked-by: Eric BĂ©nard Signed-off-by: Sascha Hauer commit 4e6898a731c7060facc837f2ab2cb27205228c25 Author: Eric BĂ©nard Date: Fri Oct 8 10:37:40 2010 +0200 cpuimx27: fix compile when ULPI is selected without this patch we get : arch/arm/mach-imx/built-in.o: In function `eukrea_cpuimx27_init': eukrea_mbimx27-baseboard.c:(.init.text+0x44c): undefined reference to `mxc_ulpi_access_ops' Signed-off-by: Eric BĂ©nard Signed-off-by: Uwe Kleine-König commit c0f832bca9672831fc5bdab1a0f93f80592dac4c Author: Eric BĂ©nard Date: Fri Oct 15 01:00:01 2010 +0200 mach-pcm037_eet: fix compile errors this patch fix the following errors : arch/arm/mach-mx3/mach-pcm037_eet.c:62: error: implicit declaration of function 'MXC_SPI_CS' arch/arm/mach-mx3/mach-pcm037_eet.c:185: error: implicit declaration of function 'imx35_add_spi_imx0' from the Kconfig pcm037 is i.MX31 based and not i.MX35 so replace imx35_add_spi_imx0 by imx31_add_spi_imx0 Signed-off-by: Eric BĂ©nard [ukl: remove unneeded #include ] Signed-off-by: Uwe Kleine-König commit d24d96e05565c9bd81becba695131b0144c01707 Author: Ian Lartey Date: Thu Oct 14 12:07:33 2010 +0100 Fixing ethernet driver compilation error for i.MX31 ADS board This is only a partial revert of "ARM: mx3/mx31ads: fold board header in its only user" [commit ccfa7c269843001077df02d98918c6c9bde91395)] As some of the the board defines are also used in the cs89x0 ethernet driver by the i.MX31 ADS. Signed-off-by: Ian Lartey Signed-off-by: Sascha Hauer commit a3927416bf7f5cc9a0cfddab1e36035738bc287c Author: Eric BĂ©nard Date: Tue Oct 12 16:29:20 2010 +0200 cpuimx51: update board support add NAND, SDHC Signed-off-by: Eric BĂ©nard commit 70b1726820ba85febfd067471534a19a9902ea60 Author: Eric BĂ©nard Date: Tue Oct 12 16:12:36 2010 +0200 mx5: add cpuimx51sd module and its baseboard Signed-off-by: Eric BĂ©nard commit b545d9ed1b92f169d0326afac091328be5e76620 Author: Eric BĂ©nard Date: Tue Oct 12 14:16:16 2010 +0200 iomux-mx51: fix GPIO_1_xx 's IOMUX configuration this patch really configure the GPIO in GPIO mode. Signed-off-by: Eric BĂ©nard commit c074512905c0a08be2a91670bdd69cd1de4e2823 Author: Eric BĂ©nard Date: Tue Oct 12 13:12:32 2010 +0200 imx-esdhc: update devices registration Tested on i.MX25 and i.MX35 and i.MX51 Signed-off-by: Eric BĂ©nard commit 6a001b886c8c4ff7477a3692a2d87a9dbdd860ee Author: Eric BĂ©nard Date: Mon Oct 11 17:59:47 2010 +0200 mx51: add resources for SD/MMC on i.MX51 the attached patch allows SD to work on i.MX51 with Wolfram's drivers Tested on i.MX51. Based on original patch from: Richard Zhu Signed-off-by: Eric BĂ©nard commit 217f580ba643eff91bac04a474a7db6d40863d5b Author: Eric BĂ©nard Date: Tue Oct 12 12:29:37 2010 +0200 iomux-mx51: fix SD1 and SD2's iomux configuration Based on original patch from: Richard Zhu Signed-off-by: Eric BĂ©nard commit 7e5a747113cabb71ec855411bb7666e8963a75b7 Author: Eric BĂ©nard Date: Tue Oct 12 12:26:32 2010 +0200 clock-mx51: rename CLOCK1 to CLOCK_CCGR for better readability Signed-off-by: Eric BĂ©nard commit 0076232d54b3fb2908c7fcf19bf699c4e8376213 Author: Eric BĂ©nard Date: Mon Oct 11 21:55:24 2010 +0200 clock-mx51: factorize clk_set_parent and clk_get_rate Signed-off-by: Eric BĂ©nard commit c0550c4bf1a6b868ac98b63f88ffd1a7ebdbeaeb Author: Eric BĂ©nard Date: Fri Oct 8 10:56:10 2010 +0200 eukrea_mbimxsd: add support for DVI displays Signed-off-by: Eric BĂ©nard commit 52d084fc90f754a7aed7e7d6e1484be45454aba3 Author: Eric BĂ©nard Date: Tue Oct 5 18:02:30 2010 +0200 cpuimx25 & cpuimx35: fix OTG port registration in host mode the PHY is UTMI so don't create an ULPI viewpoint. Signed-off-by: Eric BĂ©nard commit 4a66b5d980a244c403c3f6cb42c762ef5c112956 Author: Eric BĂ©nard Date: Tue Oct 5 11:20:21 2010 +0200 i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472 Without this exiting WFI can result in cache corruption. Code taken from Freescale's 2.6.27 BSP and tested on i.MX35 Signed-off-by: Eric BĂ©nard commit ec4aac206b65d9764d601a7ee433e161878623b9 Author: Eric BĂ©nard Date: Tue Oct 12 14:08:42 2010 +0200 mx25: fix compile error in platform-imx-dma.c this patch fix the following errors : arch/arm/plat-mxc/devices/platform-imx-dma.c:44: error: ‘MX25_SDMA_BASE_ADDR’ undeclared here (not in a function) arch/arm/plat-mxc/devices/platform-imx-dma.c:44: error: ‘MX25_INT_SDMA’ undeclared here (not in a function) Signed-off-by: Eric BĂ©nard Acked-by: Uwe Kleine-König commit e482b3bee66d627356904746c217f8f1bf891e60 Author: Eric BĂ©nard Date: Tue Oct 12 19:26:34 2010 +0200 mx25: fix clock's calculation * get_rate_arm : when 400MHz clock is selected (cctl & 1<<14), ARM clock is 400MHz (MPLL * 3 / 4) and not 800MHz * get_rate_per : peripherals's clock is derived from AHB and not from IPG (ref manual : figure 5-1) * can2_clk : use the correct ID * without this patch, peripherals getting their clock from PER clocks work fine because of the 2 errors which fix themselves (ARM clock x 2 and per clock actually based on IPG which is AHB/2) but flexcan can't work as it gets its clock from IPG and thus calculates its bitrate using a reference value which is twice what it really is. Signed-off-by: Eric BĂ©nard commit 6136a6ddc9db50d909344bb7e6f45dbe631f2e29 Author: Marc Kleine-Budde Date: Wed Oct 13 10:00:10 2010 +0200 ARM: imx: add lost 3rd imx-i2c device for mx35 During the reorganisation of the imx-i2c devices (in 64de5ec168d9743903e6ec482c3e9f37af49f9c1) the 3rd imx-i2c device for the mx35 got lost. This patch adds the missing device. Signed-off-by: Marc Kleine-Budde Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 68a2f7301ae3a97bf7b1713d20de7618c9b9a5f5 Author: Dinh Nguyen Date: Tue Oct 12 11:29:01 2010 -0500 ARM: imx: Add iram allocator functions Add IRAM(Internal RAM) allocation functions using GENERIC_ALLOCATOR. The allocation size is 4KB multiples to guarantee alignment. The idea for these functions is for i.MX platforms to use them to dynamically allocate IRAM usage. Applies on 2.6.36-rc7 Signed-off-by: Dinh Nguyen Reviewed-by: Amit Kucheria Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 0683e31ad5d9b4cab3cc32d033269e8cf675823a Author: Dmitry Kravkov Date: Tue Oct 19 05:13:00 2010 +0000 bnx2x: update version to 1.60.00-3 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f4a66897e77277335ae98ffeb1f4ebb9cf24ed6d Author: Vladislav Zolotarov Date: Tue Oct 19 05:13:09 2010 +0000 bnx2x: prevent false parity error in MSI-X memory of HC block Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a0fd065cd5d8f758b27c13cafabbbcf59d1eb8ec Author: Dmitry Kravkov Date: Tue Oct 19 05:13:05 2010 +0000 bnx2x: fix possible deadlock in HC hw block The possible deadlock (on 57710 devices only) will prevent from the device to generate interrupts. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d86bef73b4a24e59e7c1f896a72bbf38430ac2c6 Author: Eduardo Blanco Date: Tue Oct 19 10:26:47 2010 +0100 Fixed race condition at ip_vs.ko module init. Lists were initialized after the module was registered. Multiple ipvsadm processes at module load triggered a race condition that resulted in a null pointer dereference in do_ip_vs_get_ctl(). As a result, __ip_vs_mutex was left locked preventing all further ipvsadm commands. Signed-off-by: Eduardo J. Blanco Signed-off-by: Simon Horman commit 7e40798f406fe73f9bac496a390daabd8768a8f7 Author: Steven Rostedt Date: Tue Oct 19 10:56:19 2010 -0400 tracing: Fix compile issue for trace_sched_wakeup.c The function start_func_tracer() was incorrectly added in the #ifdef CONFIG_FUNCTION_TRACER condition, but is still used even when function tracing is not enabled. The calls to register_ftrace_function() and register_ftrace_graph() become nops (and their arguments are even ignored), thus there is no reason to hide start_func_tracer() when function tracing is not enabled. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 5fc01ab6934c43b42c41bc753fe1123c16d7f38f Author: Artem Bityutskiy Date: Fri Sep 3 23:08:15 2010 +0300 UBI: preserve corrupted PEBs Currently UBI erases all corrupted eraseblocks, irrespectively of the nature of corruption: corruption due to power cuts and non-power cut corruption. The former case is OK, but the latter is not, because UBI may destroy potentially important data. With this patch, during scanning, when UBI hits a PEB with corrupted VID header, it checks whether this PEB contains only 0xFF data. If yes, it is safe to erase this PEB and it is put to the 'erase' list. If not, this may be important data and it is better to avoid erasing this PEB. Instead, UBI puts it to the corr list and moves out of the pool of available PEB. IOW, UBI preserves this PEB. Such corrupted PEB lessen the amount of available PEBs. So the more of them we accumulate, the less PEBs are available. The maximum amount of non-power cut corrupted PEBs is 8. This patch is a response to UBIFS problem where reporter (Matthew L. Creech ) observes that UBIFS index points to an unmapped LEB. The theory is that corresponding PEB somehow got corrupted and UBI wiped it. This patch (actually a series of patches) tries to make sure such PEBs are preserved - this would make it is easier to analyze the corruption. Signed-off-by: Artem Bityutskiy commit feeba4b872e5166ca64c44fbb5bbec234dfce199 Author: Artem Bityutskiy Date: Fri Sep 3 22:50:53 2010 +0300 UBI: add truly corrupted PEBs to corrupted list Start using the 'corr' list and add there PEBs which look truly corrupted, which means they have corrupted VID header and the data which follows the corrupted header does not contain all 0xFF bytes. At the moment, this does not change UBI functionality much because these PEBs will be erase when scanning finishes. But the plan is to teach UBI preserving them. Signed-off-by: Artem Bityutskiy commit 315324947cbc7264af86b7ecdc2d5fb5f8556222 Author: Artem Bityutskiy Date: Fri Sep 3 22:27:46 2010 +0300 UBI: introduce debugging helper function Introduce a helper function to print hexdump: 'ubi_dbg_print_hex_dump()'. It is compiled out if debugging is enabled. Will be used in the next patch. Signed-off-by: Artem Bityutskiy commit bb00e180a93a6c8e89c3b2d1f9473781e1e2d2a4 Author: Artem Bityutskiy Date: Sat Jul 31 09:37:34 2010 +0300 UBI: make check_pattern function non-static This patch turns static function 'check_pattern()' into a non-static 'ubi_check_pattern()'. This is just a preparation for the chages which are coming in the next patches. Signed-off-by: Artem Bityutskiy commit 0525dac9fd31e5a12fb934238abd09e2752a5967 Author: Artem Bityutskiy Date: Fri Sep 3 17:11:37 2010 +0300 UBI: do not put eraseblocks to the corrupted list unnecessarily Currently UBI maintains 2 lists of PEBs during scanning: 1. 'erase' list - PEBs which have no corruptions but should be erased 2. 'corr' list - PEBs which have some corruptions and should be erased But we do not really need 2 lists for PEBs which should be erased after scanning is done - this is redundant. So this patch makes sure all PEBs which are corrupted are moved to the head of the 'erase' list. We add them to the head to make sure they are erased first and we get rid of corruption ASAP. However, we do not remove the 'corr' list and realted functions, because the plan is to use this list for other purposes. Namely, we plan to put eraseblocks with corruption which does not look like it was caused by unclean power cut. Then we'll preserve thes PEBs in order to avoid killing potentially valuable user data. This patch also amends PEBs accounting, because it was closely tight to the 'erase'/'corr' lists separation. Signed-off-by: Artem Bityutskiy commit 3fb34124da9d5e37576d9f87d7a5005ba1d82dd7 Author: Artem Bityutskiy Date: Fri Sep 3 15:36:12 2010 +0300 UBI: separate out corrupted list This patch introduces 'add_corrupted()' function and separates out 'corr' list manipulation from the common 'add_to_list()' function. This is just a preparation for further changes - this patch does not change functionality. Signed-off-by: Artem Bityutskiy commit b33215084c1c06258a2d9deb035d343aafa4066e Author: Artem Bityutskiy Date: Fri Sep 3 14:40:55 2010 +0300 UBI: change cascade of ifs to switch statements This patch improves readability and simplifies scanning code by changing a long cascade of 'if' statements to a switch statement. This should presumably be a little faster as well. Signed-off-by: Artem Bityutskiy commit e0e718c281ce1dd4006681e1255535cc6f2857d4 Author: Artem Bityutskiy Date: Fri Sep 3 14:53:23 2010 +0300 UBI: rename a local variable Rename local variable 'ec_corr' into 'ec_err' to make the code a little bit more readable. 'ec_err' is more appropriate because it sounds more like 'error when EC was read' and it looks more logical because we use it together with 'err'. Just a minor nicification which should improve the rather complex scanning code. Signed-off-by: Artem Bityutskiy commit 92e1a7d9e7e07fb1cf0cbbcdf202938d0819b54d Author: Artem Bityutskiy Date: Fri Sep 3 14:22:17 2010 +0300 UBI: handle bit-flips when no header found Currently UBI has one small flaw - when we read EC or VID header, but find only 0xFF bytes, we return UBI_IO_FF and do not report whether we had bit-flips or not. In case of the VID header, the scanning code adds this PEB to the free list, even though there were bit-flips. Imagine the following situation: we start writing VID header to a PEB and have a power cut, so the PEB becomes unstable. When we scan and read the PEB, we get a bit-flip. Currently, UBI would just ignore this and treat the PEB as free. This patch changes UBI behavior and now UBI will schedule this PEB for erasure. Signed-off-by: Artem Bityutskiy commit 74d82d2660058e32644f0c673656b2a1d01d3688 Author: Artem Bityutskiy Date: Fri Sep 3 02:11:20 2010 +0300 UBI: remove duplicate IO error codes The 'UBI_IO_PEB_EMPTY' and 'UBI_IO_PEB_FREE' are essentially the same and mean that there are only 0xFF bytes instead of headers. Simplify UBI a little by turning them into a single 'UBI_IO_FF' error code. Also, stop maintaining commentaries in 'ubi_io_read_vid_hdr()' which are almost identical to commentaries in 'ubi_io_read_ec_hdr()'. Signed-off-by: Artem Bityutskiy commit 756e1df1d2b8b572a92dd1b82d2a432d5b280b1c Author: Artem Bityutskiy Date: Fri Sep 3 01:30:16 2010 +0300 UBI: rename IO error code Rename UBI_IO_BAD_HDR_READ into UBI_IO_BAD_HDR_EBADMSG which is presumably more self-documenting and readable. Indeed, the '_READ' suffix does not tell much and even confuses, while '_EBADMSG' tells about uncorrectable ECC error, because we use -EBADMSG all over the place to represent ECC errors. Signed-off-by: Artem Bityutskiy commit c174a08c72ae77a05be59d0d810dc13239b81e8e Author: Artem Bityutskiy Date: Fri Sep 3 15:11:17 2010 +0300 UBI: fix small 80 characters limit style issue One line was longer than 80 lines, make it shorter. Signed-off-by: Artem Bityutskiy commit 1dd786328ff42b239a00fdbcdaed6fd9709042bf Author: H Hartley Sweeten Date: Thu Aug 19 17:28:50 2010 -0700 UBI: cleanup and simplify Kconfig Cleanup the Kconfig for UBI by using menuconfig to enable/disable the entire driver. Remove the dependency checks for MTD_UBI and MTD_UBI_DEBUG by wrapping the options in if/endif blocks and remove any redundant checks. Remove all default n since that is the Kconfig default. Change menu "Additional UBI debugging messages" into a comment to remove one menu level. Signed-off-by: H Hartley Sweeten Signed-off-by: Artem Bityutskiy commit e2269308359d5863b6aa1fcb95a425a2ab255f1f Author: Ben Hutchings Date: Thu Oct 14 17:41:53 2010 +0000 r6040: Fix multicast filter some more This code has been broken forever, but in several different and creative ways. So far as I can work out, the R6040 MAC filter has 4 exact-match entries, the first of which the driver uses for its assigned unicast address, plus a 64-entry hash-based filter for multicast addresses (maybe unicast as well?). The original version of this code would write the first 4 multicast addresses as exact-match entries from offset 1 (bug #1: there is no entry 4 so this could write to some PHY registers). It would fill the remainder of the exact-match entries with the broadcast address (bug #2: this would overwrite the last used entry). If more than 4 multicast addresses were configured, it would set up the hash table, write some random crap to the MAC control register (bug #3) and finally walk off the end of the list when filling the exact-match entries (bug #4). All of this seems to be pointless, since it sets the promiscuous bit when the interface is made promiscuous or if >4 multicast addresses are enabled, and never clears it (bug #5, masking bug #2). The recent(ish) changes to the multicast list fixed bug #4, but completely removed the limit on iteration over the exact-match entries (bug #6). Bug #4 was reported as and more recently as . Florian Fainelli attempted to fix these in commit 3bcf8229a8c49769e48d3e0bd1e20d8e003f8106, but that actually dealt with bugs #1-3, bug #4 having been fixed in mainline at that point. That commit fixes the most important current bug #6. Signed-off-by: Ben Hutchings Cc: stable@kernel.org [2.6.35 only] Signed-off-by: David S. Miller commit 6d388b43d2c4ef6f0806c9bb9a5edebf00a23c6a Author: Tracey Dent Date: Tue Oct 19 20:52:26 2010 +0800 crypto: Makefile - replace the use of -objs with -y Changed -objs to -y in Makefile. Signed-off-by: Tracey Dent Signed-off-by: Herbert Xu commit f4e523f2ad179f6bf5691ddc3cd2893856fafc66 Author: Tejun Heo Date: Tue Oct 19 20:50:23 2010 +0800 crypto: hifn_795x - use cancel_delayed_work_sync() Make hifn_795x::hifn_remove() call cancel_delayed_work_sync() instead of calling cancel_delayed_work() followed by flush_scheduled_work(). This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Signed-off-by: Herbert Xu commit 3f7edb1656e5beba2b5e617d31e4064e1eed0bc0 Author: Heiko Carstens Date: Tue Oct 12 11:03:44 2010 +0200 [S390] hardirq: remove pointless header file includes Remove a couple of pointless header file includes. Fixes a compile bug caused by header file include dependencies with "irq: Add tracepoint to softirq_raise" within linux-next. Reported-by: Sachin Sant Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky [ cherry-picked from the s390 tree to fix "2bf2160: irq: Add tracepoint to softirq_raise" ] Signed-off-by: Ingo Molnar commit 3c4ea5b4985ecf831e22034d5d5db6e6391f3911 Author: Tony Luck Date: Mon Sep 20 13:15:07 2010 -0700 [IA64] Move local_softirq_pending() definition Ugly #include dependencies. We need to have local_softirq_pending() defined before it gets used in . But provides the definition *after* this #include chain: Signed-off-by: Tony Luck [ cherry-picked from the ia64 tree to fix "2bf2160: irq: Add tracepoint to softirq_raise" ] Signed-off-by: Ingo Molnar commit 8723e1b4ad9be4444423b4d41509ce859a629649 Author: Eric Dumazet Date: Tue Oct 19 00:39:26 2010 +0000 inet: RCU changes in inetdev_by_index() Convert inetdev_by_index() to not increment in_dev refcount. Callers hold RCU or RTNL, and should not decrement in_dev refcount. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9e917dca74138cccf398ce8bb924c7fd2980ec1d Author: Eric Dumazet Date: Tue Oct 19 00:39:18 2010 +0000 net: avoid a dev refcount in ip_mc_find_dev() We hold RTNL in ip_mc_find_dev(), no need to touch device refcount. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c429ffbe038a649d121e6cecba5cf66777f39370 Author: Jassi Brar Date: Tue Oct 19 16:04:21 2010 +0900 ASoC: WM8580: Remove useless assignment The variable is not used anyway. Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0589944661b9a9b9692f455fbbfce5eeda8fa7b6 Author: Jarkko Nikula Date: Tue Oct 19 11:10:45 2010 +0300 ASoC: Fix I2C component device id number creation Use bitwise AND instead of logical AND when masking. Signed-off-by: Jarkko Nikula Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 7ada876a8703f23befbb20a7465a702ee39b1704 Author: Darren Hart Date: Sun Oct 17 08:35:04 2010 -0700 futex: Fix errors in nested key ref-counting futex_wait() is leaking key references due to futex_wait_setup() acquiring an additional reference via the queue_lock() routine. The nested key ref-counting has been masking bugs and complicating code analysis. queue_lock() is only called with a previously ref-counted key, so remove the additional ref-counting from the queue_(un)lock() functions. Also futex_wait_requeue_pi() drops one key reference too many in unqueue_me_pi(). Remove the key reference handling from unqueue_me_pi(). This was paired with a queue_lock() in futex_lock_pi(), so the count remains unchanged. Document remaining nested key ref-counting sites. Signed-off-by: Darren Hart Reported-and-tested-by: Matthieu FertrĂ© Reported-by: Louis Rilling Cc: Peter Zijlstra Cc: Eric Dumazet Cc: John Kacur Cc: Rusty Russell LKML-Reference: <4CBB17A8.70401@linux.intel.com> Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 5d6076bb2e642bbcb1263c6cf239b9a1f3d0df08 Author: Paul Gortmaker Date: Thu Oct 14 14:21:51 2010 +0000 3c52x: remove IRQF_SAMPLE_RANDOM from legacy MCA drivers. If you are genuinely using one of these legacy MCA drivers then you are tragically on hardware where you really don't have the extra CPU cycles to be wasting on this. In addition, it makes two less cases for people to inadvertently blindly copy flags from without explicitly thinking whether it makes sense -- see the addition to feature-removal.txt as per commit 9d9b8fb0e5ebf4b0398e579f6061d4451fea3242. Signed-off-by: Paul Gortmaker Signed-off-by: David S. Miller commit 7ff52efdca367d4bfe2449bd3d4a1f8172c5953a Author: Arnd Bergmann Date: Mon Oct 4 21:24:14 2010 +0200 dabusb: remove the BKL The dabusb device driver is sufficiently serialized using its own mutex, no need for the big kernel lock here in addition. Signed-off-by: Arnd Bergmann Cc: Mauro Carvalho Chehab commit a6f8dbc654c3dddc5ac98cf59a88447a90e99ece Author: Arnd Bergmann Date: Mon Oct 4 21:18:23 2010 +0200 sunrpc: remove the big kernel lock The sunrpc cache_ioctl function does not need the big kernel lock because it uses its own queue_lock already. rpc_pipe_ioctl apparently should be using i_lock like the other operations on the pipe file descriptor do. Signed-off-by: Arnd Bergmann commit 1fa4f3b57cf0c525027ea61011312de139b04f9b Author: Namhyung Kim Date: Mon Sep 27 16:06:54 2010 +0900 init/main.c: remove BKL notations According to commit 5e3d20a68f63fc5a310687d81956c3b96e488b84 (init: Remove the BKL from startup code) these sparse notations should be removed also. Signed-off-by: Namhyung Kim Signed-off-by: Arnd Bergmann commit 01b284f9b6d51cc3f3bcf3b49f16d2601d3ca22d Author: Arnd Bergmann Date: Fri Sep 17 20:39:22 2010 +0200 blktrace: remove the big kernel lock According to Jens, this code does not need the BKL at all, it is sufficiently serialized by bd_mutex. Signed-off-by: Arnd Bergmann Cc: Jens Axboe Cc: Steven Rostedt commit 0fc86c7bd924debd0bddee790ecc884604fdcc63 Author: Arnd Bergmann Date: Sat Sep 11 20:11:08 2010 +0200 rtmutex-tester: make it build without BKL The big kernel lock is going away, so make sure that if it is disabled by Kconfig, we do not try to validate it, which would result in compile errors. Signed-off-by: Arnd Bergmann Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Arjan van de Ven Cc: Andrew Morton commit 72024f1ec5164a70d84dd8cf4458fe4064a6b692 Author: Arnd Bergmann Date: Sat Sep 11 19:56:45 2010 +0200 dvb-core: kill the big kernel lock The dvb core only uses the big kernel lock in the open and ioctl functions, which means it can be replaced with a dvb specific mutex. Fortunately, all the ioctl functions go through dvb_usercopy, so we can move the serialization in there. Signed-off-by: Arnd Bergmann Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org commit adfedd216d9f0bc3f5bfa8aab42932301d4edc31 Author: Arnd Bergmann Date: Sat Sep 11 19:53:25 2010 +0200 dvb/bt8xx: kill the big kernel lock The bt8xx driver only uses the big kernel lock in its dst_ca_ioctl function and never to serialize against other code, so we can trivially replace it with a private mutex. Signed-off-by: Arnd Bergmann Cc: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab commit efbec1cd042008b49fe3cad45604088c54905a06 Author: Arnd Bergmann Date: Sat Sep 11 19:31:43 2010 +0200 tlclk: remove big kernel lock This driver already has a global mutex, so let's just use that in the open function instead of the BKL. It may not even be needed there, but this patch should have the smallest impact. Signed-off-by: Arnd Bergmann Cc: Mark Gross commit c4a047272566b44b44222369d50a307c708c4f74 Author: Al Viro Date: Mon Aug 24 22:42:56 2009 +0000 fix rawctl compat ioctls breakage on amd64 and itanic RAW_SETBIND and RAW_GETBIND 32bit versions are fscked in interesting ways. 1) fs/compat_ioctl.c has COMPATIBLE_IOCTL(RAW_SETBIND) followed by HANDLE_IOCTL(RAW_SETBIND, raw_ioctl). The latter is ignored. 2) on amd64 (and itanic) the damn thing is broken - we have int + u64 + u64 and layouts on i386 and amd64 are _not_ the same. raw_ioctl() would work there, but it's never called due to (1). As it is, i386 /sbin/raw definitely doesn't work on amd64 boxen. 3) switching to raw_ioctl() as is would *not* work on e.g. sparc64 and ppc64, which would be rather sad, seeing that normal userland there is 32bit. The thing is, slapping __packed on the struct in question does not DTRT - it eliminates *all* padding. The real solution is to use compat_u64. 4) of course, all that stuff has no business being outside of raw.c in the first place - there should be ->compat_ioctl() for /dev/rawctl instead of messing with compat_ioctl.c. [akpm@linux-foundation.org: coding-style fixes] [arnd@arndb.de: port to 2.6.36] Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Arnd Bergmann commit 9a181c58617134822ae596339dbea076ef9b5cf7 Author: Arnd Bergmann Date: Sat Sep 11 18:38:03 2010 +0200 uml: kill big kernel lock Three uml device drivers still use the big kernel lock, but all of them can be safely converted to using a per-driver mutex instead. Most likely this is not even necessary, so after further review these can and should be removed as well. The exec system call no longer requires the BKL either, so remove it from there, too. Signed-off-by: Arnd Bergmann Cc: Jeff Dike Cc: user-mode-linux-devel@lists.sourceforge.net commit daaae6b010ac0f60c9c35e481589966f9f1fcc22 Author: Tejun Heo Date: Tue Oct 19 11:28:15 2010 +0200 workqueue: remove in_workqueue_context() Commit a25909a4 (lockdep: Add an in_workqueue_context() lockdep-based test function) added in_workqueue_context() but there hasn't been any in-kernel user and the lockdep annotation in workqueue is scheduled to change. Remove the unused function. Signed-off-by: Tejun Heo Cc: Paul E. McKenney commit 31ddd871fc3db73e2024cb3eb3ee5051edf5a80f Author: Tejun Heo Date: Tue Oct 19 11:14:49 2010 +0200 workqueue: Clarify that schedule_on_each_cpu is synchronous The documentation for schedule_on_each_cpu() states that it calls a function on each online CPU from keventd. This can easily be interpreted as an asyncronous call because the description does not mention that flush_work is called. Clarify that it is synchronous. tj: rephrased a bit Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Signed-off-by: Tejun Heo commit 1cc9e8f4c45999e6069f41521d9d391eeeccc3b3 Author: Charles Date: Mon Oct 18 16:22:00 2010 +0800 ALSA: hda - Fix codec muted after rebooting from Windows Windows may leave pin power-down registers set after reboot, and this resulted in muted output on Linux. Reset these registers at initialization properly. Signed-off-by: Charles Chin Signed-off-by: Takashi Iwai commit 10ccd84695c2a03075bad2f4fc728575fe9051f8 Author: Tejun Heo Date: Tue Oct 19 11:08:41 2010 +0200 memory_hotplug: drop spurious calls to flush_scheduled_work() lru_add_drain_all() uses schedule_on_each_cpu() which is synchronous. There is no reason to call flush_scheduled_work() after lru_add_drain_all(). Drop the spurious calls. This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Acked-by: KAMEZAWA Hiroyuki Reviewed-by: Minchan Kim Acked-by: Mel Gorman commit 714f095f74582764d629785f03b459a3d0503624 Author: Hans Schillstrom Date: Tue Oct 19 10:38:48 2010 +0200 ipvs: IPv6 tunnel mode IPv6 encapsulation uses a bad source address for the tunnel. i.e. VIP will be used as local-addr and encap. dst addr. Decapsulation will not accept this. Example LVS (eth1 2003::2:0:1/96, VIP 2003::2:0:100) (eth0 2003::1:0:1/96) RS (ethX 2003::1:0:5/96) tcpdump 2003::2:0:100 > 2003::1:0:5: IP6 (hlim 63, next-header TCP (6) payload length: 40) 2003::3:0:10.50991 > 2003::2:0:100.http: Flags [S], cksum 0x7312 (correct), seq 3006460279, win 5760, options [mss 1440,sackOK,TS val 1904932 ecr 0,nop,wscale 3], length 0 In Linux IPv6 impl. you can't have a tunnel with an any cast address receiving packets (I have not tried to interpret RFC 2473) To have receive capabilities the tunnel must have: - Local address set as multicast addr or an unicast addr - Remote address set as an unicast addr. - Loop back addres or Link local address are not allowed. This causes us to setup a tunnel in the Real Server with the LVS as the remote address, here you can't use the VIP address since it's used inside the tunnel. Solution Use outgoing interface IPv6 address (match against the destination). i.e. use ip6_route_output() to look up the route cache and then use ipv6_dev_get_saddr(...) to set the source address of the encapsulated packet. Additionally, cache the results in new destination fields: dst_cookie and dst_saddr and properly check the returned dst from ip6_route_output. We now add xfrm_lookup call only for the tunneling method where the source address is a local one. Signed-off-by:Hans Schillstrom Signed-off-by: Patrick McHardy commit ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9 Author: Pablo Neira Ayuso Date: Tue Oct 19 10:19:06 2010 +0200 netfilter: ctnetlink: add expectation deletion events This patch allows to listen to events that inform about expectations destroyed. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 6362beea8914cbd4630ccde3617d944aeca2d48f Author: Mike Miller Date: Tue Oct 19 09:40:34 2010 +0200 cciss: fix PCI IDs for new Smart Array controllers cciss: fix PCI IDs for new controllers This patch fixes the botched up PCI IDs of new controllers. Please consider this patch for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 9717967c4b704ce344c954afb5bb160aa9c01c34 Author: Yinghai Lu Date: Mon Oct 18 13:47:48 2010 -0700 x86: ioapic: Call free_irte only if interrupt remapping enabled On a system that support intr-rempping when booting with "intremap=off" [ 177.895501] BUG: unable to handle kernel NULL pointer dereference at 00000000000000f8 [ 177.913316] IP: [] free_irte+0x47/0xc0 ... [ 178.173326] Call Trace: [ 178.173574] [] destroy_irq+0x3a/0x75 [ 178.192934] [] arch_teardown_msi_irq+0xe/0x10 [ 178.193418] [] arch_teardown_msi_irqs+0x56/0x7f [ 178.213021] [] free_msi_irqs+0x8d/0xeb Call free_irte only when interrupt remapping is enabled. Signed-off-by: Yinghai Lu LKML-Reference: <4CBCB274.7010108@kernel.org> Signed-off-by: Thomas Gleixner commit 57fa7214330be2e292ddb1402834ff0b221ef29a Author: Paul Mackerras Date: Tue Oct 19 16:55:35 2010 +1100 perf, powerpc: Fix power_pmu_event_init to not use event->ctx Commit c3f00c70 ("perf: Separate find_get_context() from event initialization") changed the generic perf_event code to call perf_event_alloc, which calls the arch-specific event_init code, before looking up the context for the new event. Unfortunately, power_pmu_event_init uses event->ctx->task to see whether the new event is a per-task event or a system-wide event, and thus crashes since event->ctx is NULL at the point where power_pmu_event_init gets called. (The reason it needs to know whether it is a per-task event is because there are some hardware events on Power systems which only count when the processor is not idle, and there are some fixed-function counters which count such events. For example, the "run cycles" event counts cycles when the processor is not idle. If the user asks to count cycles, we can use "run cycles" if this is a per-task event, since the processor is running when the task is running, by definition. We can't use "run cycles" if the user asks for "cycles" on a system-wide counter.) Fortunately the information we need is in the event->attach_state field, so we just use that instead. Signed-off-by: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20101019055535.GA10398@drongo> Signed-off-by: Ingo Molnar Reported-by: Alexey Kardashevskiy Signed-off-by: Ingo Molnar commit fa251f89903d73989e2f63e13d0eaed1e07ce0da Merge: dd3932e cd07202 Author: Jens Axboe Date: Tue Oct 19 09:13:04 2010 +0200 Merge branch 'v2.6.36-rc8' into for-2.6.37/barrier Conflicts: block/blk-core.c drivers/block/loop.c mm/swapfile.c Signed-off-by: Jens Axboe commit 7681bfeeccff5efa9eb29bf09249a3c400b15327 Author: Yasuaki Ishimatsu Date: Tue Oct 19 09:05:00 2010 +0200 block: fix accounting bug on cross partition merges /proc/diskstats would display a strange output as follows. $ cat /proc/diskstats |grep sda 8 0 sda 90524 7579 102154 20464 0 0 0 0 0 14096 20089 8 1 sda1 19085 1352 21841 4209 0 0 0 0 4294967064 15689 4293424691 ~~~~~~~~~~ 8 2 sda2 71252 3624 74891 15950 0 0 0 0 232 23995 1562390 8 3 sda3 54 487 2188 92 0 0 0 0 0 88 92 8 4 sda4 4 0 8 0 0 0 0 0 0 0 0 8 5 sda5 81 2027 2130 138 0 0 0 0 0 87 137 Its reason is the wrong way of accounting hd_struct->in_flight. When a bio is merged into a request belongs to different partition by ELEVATOR_FRONT_MERGE. The detailed root cause is as follows. Assuming that there are two partition, sda1 and sda2. 1. A request for sda2 is in request_queue. Hence sda1's hd_struct->in_flight is 0 and sda2's one is 1. | hd_struct->in_flight --------------------------- sda1 | 0 sda2 | 1 --------------------------- 2. A bio belongs to sda1 is issued and is merged into the request mentioned on step1 by ELEVATOR_BACK_MERGE. The first sector of the request is changed from sda2 region to sda1 region. However the two partition's hd_struct->in_flight are not changed. | hd_struct->in_flight --------------------------- sda1 | 0 sda2 | 1 --------------------------- 3. The request is finished and blk_account_io_done() is called. In this case, sda2's hd_struct->in_flight, not a sda1's one, is decremented. | hd_struct->in_flight --------------------------- sda1 | -1 sda2 | 1 --------------------------- The patch fixes the problem by caching the partition lookup inside the request structure, hence making sure that the increment and decrement will always happen on the same partition struct. This also speeds up IO with accounting enabled, since it cuts down on the number of lookups we have to do. When reloading partition tables, quiesce IO to ensure that no request references to the partition struct exists. When it is safe to free the partition table, the IO for that device is restarted again. Signed-off-by: Yasuaki Ishimatsu Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 1fa41266e9d20f6d66f9d7d067d9825e2c1002b9 Merge: ebf31f5 d7b4d6d Author: Ingo Molnar Date: Tue Oct 19 08:21:10 2010 +0200 Merge branch 'tip/perf/recordmcount-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit d537155a09cd69f309fa31fc8bcc7a4b1d5a9f6c Author: Michael Hennerich Date: Mon Oct 18 17:46:03 2010 -0700 Input: adp5588-keys - use more obvious i2c_device_id name string KBUILD_MODNAME normalizes "-" to "_". This is non-obvious and results in the id name for ADP5588 being "adp5588_keys" while the other supported id is "adp5587-keys". So avoid this define and use an explicit string as the id name. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit e86e1244a41352d1b78d32c10316fc4df2c86a8a Author: Mark Brown Date: Mon Oct 18 16:45:24 2010 -0700 ASoC: Restore MAX98088 CODEC driver This reverts commit f6765502f8daae3d237a394889276c8987f3e299 and adds the missing include file. Signed-off-by: Peter Hsiang Signed-off-by: Mark Brown commit 02ffc5f3f91c265e110ddd1fdd7019a18426ebe5 Author: Julia Lawall Date: Mon Oct 18 16:11:13 2010 +0200 ASoC: davinci-mcasp.c: Return error code in failure In this code, 0 is returned on failure, even though other failures return -ENOMEM or other similar values. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @a@ identifier alloc; identifier ret; constant C; expression x; @@ x = alloc(...); if (x == NULL) { <+... \(ret = -C; \| return -C; \) ...+> } @@ identifier f, a.alloc; expression ret; expression x,e1,e2,e3; @@ ret = 0 ... when != ret = e1 *x = alloc(...) ... when != ret = e2 if (x == NULL) { ... when != ret = e3 return ret; } // Signed-off-by: Julia Lawall Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit fe0cdec8bad919fd91cd344123906a55f3857209 Author: Kukjin Kim Date: Thu Sep 9 21:57:29 2010 +0900 ARM: S5PV310: Fix build error on GPIO map This patch fixes build error about GPIO address due to conflict of commit 4d914705 and 19a2c065. - commit 4d914705: Fix on GPIO base addresses - commit 19a2c065: Moves initial map for merging S5P64X0 Signed-off-by: Kukjin Kim commit a0a55682b83fd5f012afadcf415b030d7424ae68 Merge: 23beab7 865a4fa Author: Russell King Date: Mon Oct 18 22:34:47 2010 +0100 Merge branch 'hotplug' into devel Conflicts: arch/arm/kernel/head-common.S commit 23beab76b490172a9ff3d52843e4d27a35b2a4c6 Merge: 8ed9059 5fb31a9 80be7a7 19852e5 29e29f2 725343f 9e978f0 f3af03d 5333a3d Author: Russell King Date: Mon Oct 18 22:34:25 2010 +0100 Merge branches 'at91', 'dcache', 'ftrace', 'hwbpt', 'misc', 'mmci', 's3c', 'st-ux' and 'unwind' into devel commit d7b4d6de57d414a6384376880f2caf7125a45494 Author: Steven Rostedt Date: Mon Oct 18 14:42:00 2010 -0400 ftrace: Remove recursion between recordmcount and scripts/mod/empty When DYNAMIC_FTRACE is enabled and we use the C version of recordmcount, all objects are run through the recordmcount program to create a separate section that stores all the callers of mcount. The build process has a special file: scripts/mod/empty.o. This is built from empty.c which is literally an empty file (except for a single comment). This file is used to find information about the target elf format, like endianness and word size. The problem comes up when we need to build recordmcount. The build process requires that empty.o is built first. The build rules for empty.o will try to execute recordmcount on the empty.o file. We get an error that recordmcount does not exist. To avoid this recursion, the build file will skip running recordmcount if the file that it is building is script/mod/empty.o. [ extra comment Suggested-by: Sam Ravnborg ] Reported-by: Ingo Molnar Tested-by: Ingo Molnar Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Signed-off-by: Steven Rostedt commit f3af03de0b1c42225d492d874d9afeed0c02568c Author: Srinidhi Kasagar Date: Thu Oct 14 08:12:40 2010 +0100 ARM: 6441/1: ux500: The platform is not just based on early drop silicon version. Update Kconfig text accordingly. Signed-off-by: srinidhi kasagar Acked-by: Linus Walleij Signed-off-by: Russell King commit a731cd116c9334e01bcf3e676c0c621fe7de6ce4 Author: Thomas Gleixner Date: Tue Sep 7 14:33:15 2010 +0000 xfs: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. (Ported to current XFS code by .) Signed-off-by: Thomas Gleixner Signed-off-by: Alex Elder commit 6743099ce57a40509a86849a22317ed4b7516911 Author: Arkadiusz Mi?kiewicz Date: Sun Sep 26 06:10:18 2010 +0000 xfs: Extend project quotas to support 32bit project ids This patch adds support for 32bit project quota identifiers. On disk format is backward compatible with 16bit projid numbers. projid on disk is now kept in two 16bit values - di_projid_lo (which holds the same position as old 16bit projid value) and new di_projid_hi (takes existing padding) and converts from/to 32bit value on the fly. xfs_admin (for existing fs), mkfs.xfs (for new fs) needs to be used to enable PROJID32BIT support. Signed-off-by: Arkadiusz MiÅ›kiewicz Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1a1a3e97bad42e92cd2f32e81c396c8ee0bddb28 Author: Christoph Hellwig Date: Wed Oct 6 18:41:18 2010 +0000 xfs: remove xfs_buf wrappers Stop having two different names for many buffer functions and use the more descriptive xfs_buf_* names directly. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 6c77b0ea1bdf85dfd48c20ceb10fd215a95c66e2 Author: Christoph Hellwig Date: Wed Oct 6 18:41:17 2010 +0000 xfs: remove xfs_cred.h We're not actually passing around credentials inside XFS for a while now, so remove all xfs_cred.h with it's cred_t typedef and all instances of it. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 78a4b0961ff241c6f23b16329db0d67e97cb86a7 Author: Christoph Hellwig Date: Wed Oct 6 18:41:16 2010 +0000 xfs: remove xfs_globals.h This header only provides one extern that isn't actually declared anywhere, and shadowed by a macro. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 668332e5fec809bb100da619fda80e033b12b4a7 Author: Christoph Hellwig Date: Wed Oct 6 18:41:15 2010 +0000 xfs: remove xfs_version.h It used to have a place when it contained an automatically generated CVS version, but these days it's entirely superflous. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1ae4fe6dba24ebabcd12cd0fa45cc5955394cbd8 Author: Christoph Hellwig Date: Wed Oct 6 18:41:14 2010 +0000 xfs: remove xfs_refcache.h This header has been completely unused for a couple of years. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 4957a449a1bce2f5095f57f84114dc038a8f08d5 Author: Christoph Hellwig Date: Wed Oct 6 18:41:13 2010 +0000 xfs: fix the xfs_trans_committed Use the correct prototype for xfs_trans_committed instead of casting it. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit dfe188d4283752086d48380cde40d9801c318667 Author: Christoph Hellwig Date: Wed Oct 6 18:41:12 2010 +0000 xfs: remove unused t_callback field in struct xfs_trans Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit d276734d937a649ff43fd197d0df7a747bd55b7e Author: Christoph Hellwig Date: Wed Oct 6 18:31:23 2010 +0000 xfs: fix bogus m_maxagi check in xfs_iget These days inode64 should only control which AGs we allocate new inodes from, while we still try to support reading all existing inodes. To make this actually work the check ontop of xfs_iget needs to be relaxed to allow inodes in all allocation groups instead of just those that we allow allocating inodes from. Note that we can't simply remove the check - it prevents us from accessing invalid data when fed invalid inode numbers from NFS or bulkstat. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1b0407125f9a5be63e861eb27c8af9e32f20619c Author: Christoph Hellwig Date: Thu Sep 30 02:25:56 2010 +0000 xfs: do not use xfs_mod_incore_sb_batch for per-cpu counters Update the per-cpu counters manually in xfs_trans_unreserve_and_mod_sb and remove support for per-cpu counters from xfs_mod_incore_sb_batch to simplify it. And added benefit is that we don't have to take m_sb_lock for transactions that only modify per-cpu counters. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 96540c78583a417113df4d027e6b68a595ab9a09 Author: Christoph Hellwig Date: Thu Sep 30 02:25:55 2010 +0000 xfs: do not use xfs_mod_incore_sb for per-cpu counters Export xfs_icsb_modify_counters and always use it for modifying the per-cpu counters. Remove support for per-cpu counters from xfs_mod_incore_sb to simplify it. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 61ba35dea0593fbc8d062cab3e4c4c3da5ce7104 Author: Christoph Hellwig Date: Thu Sep 30 02:25:54 2010 +0000 xfs: remove XFS_MOUNT_NO_PERCPU_SB Fail the mount if we can't allocate memory for the per-CPU counters. This is consistent with how we handle everything else in the mount path and makes the superblock counter modification a lot simpler. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 50f59e8eed85ec4c79bc2454ed50c7886f6c5ebf Author: Dave Chinner Date: Fri Sep 24 19:59:15 2010 +1000 xfs: pack xfs_buf structure more tightly pahole reports the struct xfs_buf has quite a few holes in it, so packing the structure better will reduce the size of it by 16 bytes. Also, move all the fields used in cache lookups into the first cacheline. Before on x86_64: /* size: 320, cachelines: 5 */ /* sum members: 298, holes: 6, sum holes: 22 */ After on x86_64: /* size: 304, cachelines: 5 */ /* padding: 6 */ /* last cacheline: 48 bytes */ Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 74f75a0cb7033918eb0fa4a50df25091ac75c16e Author: Dave Chinner Date: Fri Sep 24 19:59:04 2010 +1000 xfs: convert buffer cache hash to rbtree The buffer cache hash is showing typical hash scalability problems. In large scale testing the number of cached items growing far larger than the hash can efficiently handle. Hence we need to move to a self-scaling cache indexing mechanism. I have selected rbtrees for indexing becuse they can have O(log n) search scalability, and insert and remove cost is not excessive, even on large trees. Hence we should be able to cache large numbers of buffers without incurring the excessive cache miss search penalties that the hash is imposing on us. To ensure we still have parallel access to the cache, we need multiple trees. Rather than hashing the buffers by disk address to select a tree, it seems more sensible to separate trees by typical access patterns. Most operations use buffers from within a single AG at a time, so rather than searching lots of different lists, separate the buffer indexes out into per-AG rbtrees. This means that searches during metadata operation have a much higher chance of hitting cache resident nodes, and that updates of the tree are less likely to disturb trees being accessed on other CPUs doing independent operations. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 69b491c214d7fd4d4df972ae5377be99ca3753db Author: Dave Chinner Date: Mon Sep 27 11:09:51 2010 +1000 xfs: serialise inode reclaim within an AG Memory reclaim via shrinkers has a terrible habit of having N+M concurrent shrinker executions (N = num CPUs, M = num kswapds) all trying to shrink the same cache. When the cache they are all working on is protected by a single spinlock, massive contention an slowdowns occur. Wrap the per-ag inode caches with a reclaim mutex to serialise reclaim access to the AG. This will block concurrent reclaim in each AG but still allow reclaim to scan multiple AGs concurrently. Allow shrinkers to move on to the next AG if it can't get the lock, and if we can't get any AG, then start blocking on locks. To prevent reclaimers from continually scanning the same inodes in each AG, add a cursor that tracks where the last reclaim got up to and start from that point on the next reclaim. This should avoid only ever scanning a small number of inodes at the satart of each AG and not making progress. If we have a non-shrinker based reclaim pass, ignore the cursor and reset it to zero once we are done. Signed-off-by: Dave Chinner Reviewed-by: Alex Elder commit e3a20c0b02e1704ab115dfa9d012caf0fbc45ed0 Author: Dave Chinner Date: Fri Sep 24 19:51:50 2010 +1000 xfs: batch inode reclaim lookup Batch and optimise the per-ag inode lookup for reclaim to minimise scanning overhead. This involves gang lookups on the radix trees to get multiple inodes during each tree walk, and tighter validation of what inodes can be reclaimed without blocking befor we take any locks. This is based on ideas suggested in a proof-of-concept patch posted by Nick Piggin. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 78ae5256768b91f25ce7a4eb9f56d563e302cc10 Author: Dave Chinner Date: Tue Sep 28 12:28:19 2010 +1000 xfs: implement batched inode lookups for AG walking With the reclaim code separated from the generic walking code, it is simple to implement batched lookups for the generic walk code. Separate out the inode validation from the execute operations and modify the tree lookups to get a batch of inodes at a time. Reclaim operations will be optimised separately. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit e13de955ca67b0bd1cec9a2f9352a3053065bf7f Author: Dave Chinner Date: Tue Sep 28 12:28:06 2010 +1000 xfs: split out inode walk inode grabbing When doing read side inode cache walks, the code to validate and grab an inode is common to all callers. Split it out of the execute callbacks in preparation for batching lookups. Similarly, split out the inode reference dropping from the execute callbacks into the main lookup look to be symmetric with the grab. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 65d0f20533c503b50bd5e7e86434512af7761eea Author: Dave Chinner Date: Fri Sep 24 18:40:15 2010 +1000 xfs: split inode AG walking into separate code for reclaim The reclaim walk requires different locking and has a slightly different walk algorithm, so separate it out so that it can be optimised separately. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 69d6cc76cff3573ceefda178b75e20878866fdc3 Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: remove buftarg hash for external devices For RT and external log devices, we never use hashed buffers on them now. Remove the buftarg hash tables that are set up for them. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 1922c949c59f93beb560d59874bcc6d5c00115ac Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: use unhashed buffers for size checks When we are checking we can access the last block of each device, we do not need to use cached buffers as they will be tossed away immediately. Use uncached buffers for size checks so that all IO prior to full in-memory structure initialisation does not use the buffer cache. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 26af655233dd486659235f3049959d2f7dafc5a1 Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: kill XBF_FS_MANAGED buffers Filesystem level managed buffers are buffers that have their lifecycle controlled by the filesystem layer, not the buffer cache. We currently cache these buffers, which makes cleanup and cache walking somewhat troublesome. Convert the fs managed buffers to uncached buffers obtained by via xfs_buf_get_uncached(), and remove the XBF_FS_MANAGED special cases from the buffer cache. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit ebad861b5702c3e2332a3e906978f47144d22f70 Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: store xfs_mount in the buftarg instead of in the xfs_buf Each buffer contains both a buftarg pointer and a mount pointer. If we add a mount pointer into the buftarg, we can avoid needing the b_mount field in every buffer and grab it from the buftarg when needed instead. This shrinks the xfs_buf by 8 bytes. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 5adc94c247c3779782c7b0b8b5e28cf50596eb37 Author: Dave Chinner Date: Fri Sep 24 21:58:31 2010 +1000 xfs: introduced uncached buffer read primitve To avoid the need to use cached buffers for single-shot or buffers cached at the filesystem level, introduce a new buffer read primitive that bypasses the cache an reads directly from disk. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 686865f76e35b28ba7aa6afa19209426f0da6201 Author: Dave Chinner Date: Fri Sep 24 20:07:47 2010 +1000 xfs: rename xfs_buf_get_nodaddr to be more appropriate xfs_buf_get_nodaddr() is really used to allocate a buffer that is uncached. While it is not directly assigned a disk address, the fact that they are not cached is a more important distinction. With the upcoming uncached buffer read primitive, we should be consistent with this disctinction. While there, make page allocation in xfs_buf_get_nodaddr() safe against memory reclaim re-entrancy into the filesystem by allowing a flags parameter to be passed. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit dcd79a1423f64ee0184629874805c3ac40f3a2c5 Author: Dave Chinner Date: Tue Sep 28 12:27:25 2010 +1000 xfs: don't use vfs writeback for pure metadata modifications Under heavy multi-way parallel create workloads, the VFS struggles to write back all the inodes that have been changed in age order. The bdi flusher thread becomes CPU bound, spending 85% of it's time in the VFS code, mostly traversing the superblock dirty inode list to separate dirty inodes old enough to flush. We already keep an index of all metadata changes in age order - in the AIL - and continued log pressure will do age ordered writeback without any extra overhead at all. If there is no pressure on the log, the xfssyncd will periodically write back metadata in ascending disk address offset order so will be very efficient. Hence we can stop marking VFS inodes dirty during transaction commit or when changing timestamps during transactions. This will keep the inodes in the superblock dirty list to those containing data or unlogged metadata changes. However, the timstamp changes are slightly more complex than this - there are a couple of places that do unlogged updates of the timestamps, and the VFS need to be informed of these. Hence add a new function xfs_trans_ichgtime() for transactional changes, and leave xfs_ichgtime() for the non-transactional changes. Signed-off-by: Dave Chinner Reviewed-by: Alex Elder Reviewed-by: Christoph Hellwig commit e176579e70118ed7cfdb60f963628fe0ca771f3d Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: lockless per-ag lookups When we start taking a reference to the per-ag for every cached buffer in the system, kernel lockstat profiling on an 8-way create workload shows the mp->m_perag_lock has higher acquisition rates than the inode lock and has significantly more contention. That is, it becomes the highest contended lock in the system. The perag lookup is trivial to convert to lock-less RCU lookups because perag structures never go away. Hence the only thing we need to protect against is tree structure changes during a grow. This can be done simply by replacing the locking in xfs_perag_get() with RCU read locking. This removes the mp->m_perag_lock completely from this path. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit bd32d25a7cf7242512e77e70bab63df4402ab91c Author: Dave Chinner Date: Wed Sep 22 10:47:20 2010 +1000 xfs: remove debug assert for per-ag reference counting When we start taking references per cached buffer to the the perag it is cached on, it will blow the current debug maximum reference count assert out of the water. The assert has never caught a bug, and we have tracing to track changes if there ever is a problem, so just remove it. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit d1583a3833290ab9f8b13a064acbb5e508c59f60 Author: Dave Chinner Date: Fri Sep 24 18:14:13 2010 +1000 xfs: reduce the number of CIL lock round trips during commit When commiting a transaction, we do a lock CIL state lock round trip on every single log vector we insert into the CIL. This is resulting in the lock being as hot as the inode and dcache locks on 8-way create workloads. Rework the insertion loops to bring the number of lock round trips to one per transaction for log vectors, and one more do the busy extents. Also change the allocation of the log vector buffer not to zero it as we copy over the entire allocated buffer anyway. This patch also includes a structural cleanup to the CIL item insertion provided by Christoph Hellwig. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder commit 9c169915ad374cd9efb1556943b2074ec07e1749 Author: Poyo VL Date: Thu Sep 2 07:41:55 2010 +0000 xfs: eliminate some newly-reported gcc warnings Ionut Gabriel Popescu submitted a simple change to eliminate some "may be used uninitialized" warnings when building XFS. The reported condition seems to be something that GCC did not used to recognize or report. The warnings were produced by: gcc version 4.5.0 20100604 [gcc-4_5-branch revision 160292] (SUSE Linux) Signed-off-by: Ionut Gabriel Popescu Signed-off-by: Alex Elder commit c0e59e1ac0a106bbab93404024bb6e7927ad9d6d Author: Christoph Hellwig Date: Tue Sep 7 23:34:07 2010 +0000 xfs: remove the ->kill_root btree operation The implementation os ->kill_root only differ by either simply zeroing out the now unused buffer in the btree cursor in the inode allocation btree or using xfs_btree_setbuf in the allocation btree. Initially both of them used xfs_btree_setbuf, but the use in the ialloc btree was removed early on because it interacted badly with xfs_trans_binval. In addition to zeroing out the buffer in the cursor xfs_btree_setbuf updates the bc_ra array in the btree cursor, and calls xfs_trans_brelse on the buffer previous occupying the slot. The bc_ra update should be done for the alloc btree updated too, although the lack of it does not cause serious problems. The xfs_trans_brelse call on the other hand is effectively a no-op in the end - it keeps decrementing the bli_recur refcount until it hits zero, and then just skips out because the buffer will always be dirty at this point. So removing it for the allocation btree is just fine. So unify the code and move it to xfs_btree.c. While we're at it also replace the call to xfs_btree_setbuf with a NULL bp argument in xfs_btree_del_cursor with a direct call to xfs_trans_brelse given that the cursor is beeing freed just after this and the state updates are superflous. After this xfs_btree_setbuf is only used with a non-NULL bp argument and can thus be simplified. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit acecf1b5d8a846bf818bf74df454330f0b444b0a Author: Christoph Hellwig Date: Mon Sep 6 01:44:45 2010 +0000 xfs: stop using xfs_qm_dqtobp in xfs_qm_dqflush In xfs_qm_dqflush we know that q_blkno must be initialized already from a previous xfs_qm_dqread. So instead of calling xfs_qm_dqtobp we can simply read the quota buffer directly. This also saves us from a duplicate xfs_qm_dqcheck call check and allows xfs_qm_dqtobp to be simplified now that it is always called for a newly initialized inode. In addition to that properly unwind all locks in xfs_qm_dqflush when xfs_qm_dqcheck fails. This mirrors a similar cleanup in the inode lookup done earlier. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 52fda114249578311776b25da9f73a9c34f4fd8c Author: Christoph Hellwig Date: Mon Sep 6 01:44:22 2010 +0000 xfs: simplify xfs_qm_dqusage_adjust There is no need to have the users and group/project quota locked at the same time. Get rid of xfs_qm_dqget_noattach and just do a xfs_qm_dqget inside xfs_qm_quotacheck_dqadjust for the quota we are operating on right now. The new version of xfs_qm_quotacheck_dqadjust holds the inode lock over it's operations, which is not a problem as it simply increments counters and there is no concern about log contention during mount time. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 447223520520b17d3b6d0631aa4838fbaf8eddb4 Author: Dave Chinner Date: Tue Aug 24 12:02:11 2010 +1000 xfs: Introduce XFS_IOC_ZERO_RANGE XFS_IOC_ZERO_RANGE is the equivalent of an atomic XFS_IOC_UNRESVSP/ XFS_IOC_RESVSP call pair. It enabled ranges of written data to be turned into zeroes without requiring IO or having to free and reallocate the extents in the range given as would occur if we had to punch and then preallocate them separately. This enables applications to zero parts of files very quickly without changing the layout of the files in any way. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 3ae4c9deb30a8d5ee305b461625dcb298c9804a9 Author: Dave Chinner Date: Tue Aug 24 12:01:50 2010 +1000 xfs: use range primitives for xfs page cache operations While XFS passes ranges to operate on from the core code, the functions being called ignore the either the entire range or the end of the range. This is historical because when the function were written linux didn't have the necessary range operations. Update the functions to use the correct operations. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit b7dadc38797584f6203386da1947ed5edf516646 Author: Ingo Molnar Date: Mon Oct 18 20:00:37 2010 +0200 sched: Export account_system_vtime() KVM uses it for example: ERROR: "account_system_vtime" [arch/x86/kvm/kvm.ko] undefined! Cc: Venkatesh Pallipadi Cc: Peter Zijlstra LKML-Reference: <1286237003-12406-3-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit d267f87fb8179c6dba03d08b91952e81bc3723c7 Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:23 2010 -0700 sched: Call tick_check_idle before __irq_enter When CPU is idle and on first interrupt, irq_enter calls tick_check_idle() to notify interruption from idle. But, there is a problem if this call is done after __irq_enter, as all routines in __irq_enter may find stale time due to yet to be done tick_check_idle. Specifically, trace calls in __irq_enter when they use global clock and also account_system_vtime change in this patch as it wants to use sched_clock_cpu() to do proper irq timing. But, tick_check_idle was moved after __irq_enter intentionally to prevent problem of unneeded ksoftirqd wakeups by the commit ee5f80a: irq: call __irq_enter() before calling the tick_idle_check Impact: avoid spurious ksoftirqd wakeups Moving tick_check_idle() before __irq_enter and wrapping it with local_bh_enable/disable would solve both the problems. Fixed-by: Yong Zhang Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-9-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit aa483808516ca5cacfa0e5849691f64fec25828e Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:22 2010 -0700 sched: Remove irq time from available CPU power The idea was suggested by Peter Zijlstra here: http://marc.info/?l=linux-kernel&m=127476934517534&w=2 irq time is technically not available to the tasks running on the CPU. This patch removes irq time from CPU power piggybacking on sched_rt_avg_update(). Tested this by keeping CPU X busy with a network intensive task having 75% oa a single CPU irq processing (hard+soft) on a 4-way system. And start seven cycle soakers on the system. Without this change, there will be two tasks on each CPU. With this change, there is a single task on irq busy CPU X and remaining 7 tasks are spread around among other 3 CPUs. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-8-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit 305e6835e05513406fa12820e40e4a8ecb63743c Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:21 2010 -0700 sched: Do not account irq time to current task Scheduler accounts both softirq and interrupt processing times to the currently running task. This means, if the interrupt processing was for some other task in the system, then the current task ends up being penalized as it gets shorter runtime than otherwise. Change sched task accounting to acoount only actual task time from currently running task. Now update_curr(), modifies the delta_exec to depend on rq->clock_task. Note that this change only handles CONFIG_IRQ_TIME_ACCOUNTING case. We can extend this to CONFIG_VIRT_CPU_ACCOUNTING with minimal effort. But, thats for later. This change will impact scheduling behavior in interrupt heavy conditions. Tested on a 4-way system with eth0 handled by CPU 2 and a network heavy task (nc) running on CPU 3 (and no RSS/RFS). With that I have CPU 2 spending 75%+ of its time in irq processing. CPU 3 spending around 35% time running nc task. Now, if I run another CPU intensive task on CPU 2, without this change /proc//schedstat shows 100% of time accounted to this task. With this change, it rightly shows less than 25% accounted to this task as remaining time is actually spent on irq processing. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-7-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit e82b8e4ea4f3dffe6e7939f90e78da675fcc450e Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:20 2010 -0700 x86: Add IRQ_TIME_ACCOUNTING This patch adds IRQ_TIME_ACCOUNTING option on x86 and runtime enables it when TSC is enabled. This change just enables fine grained irq time accounting, isn't used yet. Following patches use it for different purposes. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-6-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit b52bfee445d315549d41eacf2fa7c156e7d153d5 Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:19 2010 -0700 sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time s390/powerpc/ia64 have support for CONFIG_VIRT_CPU_ACCOUNTING which does the fine granularity accounting of user, system, hardirq, softirq times. Adding that option on archs like x86 will be challenging however, given the state of TSC reliability on various platforms and also the overhead it will add in syscall entry exit. Instead, add a lighter variant that only does finer accounting of hardirq and softirq times, providing precise irq times (instead of timer tick based samples). This accounting is added with a new config option CONFIG_IRQ_TIME_ACCOUNTING so that there won't be any overhead for users not interested in paying the perf penalty. This accounting is based on sched_clock, with the code being generic. So, other archs may find it useful as well. This patch just adds the core logic and does not enable this logic yet. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-5-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit 6cdd5199daf0cb7b0fcc8dca941af08492612887 Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:18 2010 -0700 sched: Add a PF flag for ksoftirqd identification To account softirq time cleanly in scheduler, we need to identify whether softirq is invoked in ksoftirqd context or softirq at hardirq tail context. Add PF_KSOFTIRQD for that purpose. As all PF flag bits are currently taken, create space by moving one of the infrequently used bits (PF_THREAD_BOUND) down in task_struct to be along with some other state fields. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-4-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit e1e10a265d28273ab8c70be19d43dcbdeead6c5a Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:17 2010 -0700 sched: Consolidate account_system_vtime extern declaration Just a minor cleanup patch that makes things easier to the following patches. No functionality change in this patch. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-3-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit 75e1056f5c57050415b64cb761a3acc35d91f013 Author: Venkatesh Pallipadi Date: Mon Oct 4 17:03:16 2010 -0700 sched: Fix softirq time accounting Peter Zijlstra found a bug in the way softirq time is accounted in VIRT_CPU_ACCOUNTING on this thread: http://lkml.indiana.edu/hypermail//linux/kernel/1009.2/01366.html The problem is, softirq processing uses local_bh_disable internally. There is no way, later in the flow, to differentiate between whether softirq is being processed or is it just that bh has been disabled. So, a hardirq when bh is disabled results in time being wrongly accounted as softirq. Looking at the code a bit more, the problem exists in !VIRT_CPU_ACCOUNTING as well. As account_system_time() in normal tick based accouting also uses softirq_count, which will be set even when not in softirq with bh disabled. Peter also suggested solution of using 2*SOFTIRQ_OFFSET as irq count for local_bh_{disable,enable} and using just SOFTIRQ_OFFSET while softirq processing. The patch below does that and adds API in_serving_softirq() which returns whether we are currently processing softirq or not. Also changes one of the usages of softirq_count in net/sched/cls_cgroup.c to in_serving_softirq. Looks like many usages of in_softirq really want in_serving_softirq. Those changes can be made individually on a case by case basis. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1286237003-12406-2-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit 75dd321d79d495a0ee579e6249ebc38ddbb2667f Author: Nikhil Rao Date: Fri Oct 15 13:12:30 2010 -0700 sched: Drop group_capacity to 1 only if local group has extra capacity When SD_PREFER_SIBLING is set on a sched domain, drop group_capacity to 1 only if the local group has extra capacity. The extra check prevents the case where you always pull from the heaviest group when it is already under-utilized (possible with a large weight task outweighs the tasks on the system). For example, consider a 16-cpu quad-core quad-socket machine with MC and NUMA scheduling domains. Let's say we spawn 15 nice0 tasks and one nice-15 task, and each task is running on one core. In this case, we observe the following events when balancing at the NUMA domain: - find_busiest_group() will always pick the sched group containing the niced task to be the busiest group. - find_busiest_queue() will then always pick one of the cpus running the nice0 task (never picks the cpu with the nice -15 task since weighted_cpuload > imbalance). - The load balancer fails to migrate the task since it is the running task and increments sd->nr_balance_failed. - It repeats the above steps a few more times until sd->nr_balance_failed > 5, at which point it kicks off the active load balancer, wakes up the migration thread and kicks the nice 0 task off the cpu. The load balancer doesn't stop until we kick out all nice 0 tasks from the sched group, leaving you with 3 idle cpus and one cpu running the nice -15 task. When balancing at the NUMA domain, we drop sgs.group_capacity to 1 if the child domain (in this case MC) has SD_PREFER_SIBLING set. Subsequent load checks are not relevant because the niced task has a very large weight. In this patch, we add an extra condition to the "if(prefer_sibling)" check in update_sd_lb_stats(). We drop the capacity of a group only if the local group has extra capacity, ie. nr_running < group_capacity. This patch preserves the original intent of the prefer_siblings check (to spread tasks across the system in low utilization scenarios) and fixes the case above. It helps in the following ways: - In low utilization cases (where nr_tasks << nr_cpus), we still drop group_capacity down to 1 if we prefer siblings. - On very busy systems (where nr_tasks >> nr_cpus), sgs.nr_running will most likely be > sgs.group_capacity. - When balancing large weight tasks, if the local group does not have extra capacity, we do not pick the group with the niced task as the busiest group. This prevents failed balances, active migration and the under-utilization described above. Signed-off-by: Nikhil Rao Signed-off-by: Peter Zijlstra LKML-Reference: <1287173550-30365-5-git-send-email-ncrao@google.com> Signed-off-by: Ingo Molnar commit fab476228ba37907ad75216d0fd9732ada9c119e Author: Nikhil Rao Date: Fri Oct 15 13:12:29 2010 -0700 sched: Force balancing on newidle balance if local group has capacity This patch forces a load balance on a newly idle cpu when the local group has extra capacity and the busiest group does not have any. It improves system utilization when balancing tasks with a large weight differential. Under certain situations, such as a niced down task (i.e. nice = -15) in the presence of nr_cpus NICE0 tasks, the niced task lands on a sched group and kicks away other tasks because of its large weight. This leads to sub-optimal utilization of the machine. Even though the sched group has capacity, it does not pull tasks because sds.this_load >> sds.max_load, and f_b_g() returns NULL. With this patch, if the local group has extra capacity, we shortcut the checks in f_b_g() and try to pull a task over. A sched group has extra capacity if the group capacity is greater than the number of running tasks in that group. Thanks to Mike Galbraith for discussions leading to this patch and for the insight to reuse SD_NEWIDLE_BALANCE. Signed-off-by: Nikhil Rao Signed-off-by: Peter Zijlstra LKML-Reference: <1287173550-30365-4-git-send-email-ncrao@google.com> Signed-off-by: Ingo Molnar commit 2582f0eba54066b5e98ff2b27ef0cfa833b59f54 Author: Nikhil Rao Date: Wed Oct 13 12:09:36 2010 -0700 sched: Set group_imb only a task can be pulled from the busiest cpu When cycling through sched groups to determine the busiest group, set group_imb only if the busiest cpu has more than 1 runnable task. This patch fixes the case where two cpus in a group have one runnable task each, but there is a large weight differential between these two tasks. The load balancer is unable to migrate any task from this group, and hence do not consider this group to be imbalanced. Signed-off-by: Nikhil Rao Signed-off-by: Peter Zijlstra LKML-Reference: <1286996978-7007-3-git-send-email-ncrao@google.com> [ small code readability edits ] Signed-off-by: Ingo Molnar commit ef8002f6848236de5adc613063ebeabddea8a6fb Author: Nikhil Rao Date: Wed Oct 13 12:09:35 2010 -0700 sched: Do not consider SCHED_IDLE tasks to be cache hot This patch adds a check in task_hot to return if the task has SCHED_IDLE policy. SCHED_IDLE tasks have very low weight, and when run with regular workloads, are typically scheduled many milliseconds apart. There is no need to consider these tasks hot for load balancing. Signed-off-by: Nikhil Rao Signed-off-by: Peter Zijlstra LKML-Reference: <1287173550-30365-2-git-send-email-ncrao@google.com> Signed-off-by: Ingo Molnar commit 115e19c53501edc11f730191f7f047736815ae3d Author: Boaz Harrosh Date: Thu Oct 7 14:28:18 2010 -0400 exofs: Set i_mapping->backing_dev_info anyway Though it has been promised that inode->i_mapping->backing_dev_info is not used and the supporting code is fine. Until the pointer will default to NULL, I'd rather it points to the correct thing regardless. At least for future infrastructure coder it is a clear indication of where are the key points that inodes are initialized. I know because it took me time to find this out. Signed-off-by: Boaz Harrosh commit 7aebf4106b4263667696485303af498aa1eea9ef Author: Boaz Harrosh Date: Wed Oct 13 12:55:43 2010 -0400 exofs: Cleaup read path in regard with read_for_write Last BUG fix added a flag to the the page_collect structure to communicate with readpage_strip. This calls for a clean up removing that flag's reincarnations in the read functions parameters. Signed-off-by: Boaz Harrosh commit ebf31f502492527e2b6b5e5cf85a4ebc7fc8a52e Author: Peter Zijlstra Date: Sun Oct 17 12:15:00 2010 +0200 jump_label: Add COND_STMT(), reducer wrappery The use of the JUMP_LABEL() construct ends up creating endless silly wrappers, create a higher level construct to reduce this clutter. Signed-off-by: Peter Zijlstra Cc: Jason Baron Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: Signed-off-by: Ingo Molnar commit 7e54a5a0b655734326dc78c2b5efc1eb35497bb6 Author: Peter Zijlstra Date: Thu Oct 14 22:32:45 2010 +0200 perf: Optimize sw events Acked-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 82cd6def9806dcb6a325fb6abbc1d61388a15f6a Author: Peter Zijlstra Date: Thu Oct 14 17:57:23 2010 +0200 perf: Use jump_labels to optimize the scheduler hooks Trades a call + conditional + ret for an unconditional jmp. Acked-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <20101014203625.501657727@chello.nl> Signed-off-by: Ingo Molnar commit 8b92538d84e50062560ba33adbaed7887b6e4a42 Author: Peter Zijlstra Date: Thu Oct 14 21:39:02 2010 +0200 jump_label: Add atomic_t interface Add an interface to allow usage of jump_labels with atomic counters. Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker LKML-Reference: <20101014203625.501657727@chello.nl> Signed-off-by: Ingo Molnar commit 3b6e901f839f42afb40f614418df82c08b01320a Author: Peter Zijlstra Date: Thu Oct 14 21:10:38 2010 +0200 jump_label: Use more consistent naming Now that there's still only a few users around, rename things to make them more consistent. Signed-off-by: Peter Zijlstra LKML-Reference: <20101014203625.448565169@chello.nl> Signed-off-by: Ingo Molnar commit d580ff8699e8811a9af37e9de4dea375401bdeec Author: Peter Zijlstra Date: Thu Oct 14 17:43:23 2010 +0200 perf, hw_breakpoint: Fix crash in hw_breakpoint creation hw_breakpoint creation needs to account stuff per-task to ensure there is always sufficient hardware resources to back these things due to ptrace. With the perf per pmu context changes the event initialization no longer has access to the event context, for the simple reason that we need to first find the pmu (result of initialization) before we can find the context. This makes hw_breakpoints unhappy, because it can no longer do per task accounting, cure this by frobbing a task pointer in the event::hw bits for now... Signed-off-by: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20101014203625.391543667@chello.nl> Signed-off-by: Ingo Molnar commit c6be5a5cb62592d9d661899a2aa78236eb00ffa5 Author: Peter Zijlstra Date: Thu Oct 14 16:59:46 2010 +0200 perf: Find task before event alloc So that we can pass the task pointer to the event allocation, so that we can use task associated data during event initialization. Signed-off-by: Peter Zijlstra LKML-Reference: <20101014203625.340789919@chello.nl> Signed-off-by: Ingo Molnar commit e7d0bc047548d76feee6b23f7d3d9da927189a50 Author: Peter Zijlstra Date: Thu Oct 14 16:54:51 2010 +0200 perf: Fix task refcount bugs Currently it looks like find_lively_task_by_vpid() takes a task ref and relies on find_get_context() to drop it. The problem is that perf_event_create_kernel_counter() shouldn't be dropping task refs. Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Acked-by: Matt Helsley LKML-Reference: <20101014203625.278436085@chello.nl> Signed-off-by: Ingo Molnar commit 74c3337c2fc6389d3a57a622a936036b6db6b2e8 Author: Peter Zijlstra Date: Fri Oct 15 11:40:29 2010 +0200 perf: Fix group moving Matt found we trigger the WARN_ON_ONCE() in perf_group_attach() when we take the move_group path in perf_event_open(). Since we cannot de-construct the group (we rely on it to move the events), we have to simply ignore the double attach. The group state is context invariant and doesn't need changing. Reported-by: Matt Fleming Signed-off-by: Peter Zijlstra LKML-Reference: <1287135757.29097.1368.camel@twins> Signed-off-by: Ingo Molnar commit e360adbe29241a0194e10e20595360dd7b98a2b3 Author: Peter Zijlstra Date: Thu Oct 14 14:01:34 2010 +0800 irq_work: Add generic hardirq context callbacks Provide a mechanism that allows running code in IRQ context. It is most useful for NMI code that needs to interact with the rest of the system -- like wakeup a task to drain buffers. Perf currently has such a mechanism, so extract that and provide it as a generic feature, independent of perf so that others may also benefit. The IRQ context callback is generated through self-IPIs where possible, or on architectures like powerpc the decrementer (the built-in timer facility) is set to generate an interrupt immediately. Architectures that don't have anything like this get to do with a callback from the timer tick. These architectures can call irq_work_run() at the tail of any IRQ handlers that might enqueue such work (like the perf IRQ handler) to avoid undue latencies in processing the work. Signed-off-by: Peter Zijlstra Acked-by: Kyle McMartin Acked-by: Martin Schwidefsky [ various fixes ] Signed-off-by: Huang Ying LKML-Reference: <1287036094.7768.291.camel@yhuang-dev> Signed-off-by: Ingo Molnar commit 8e5fc1a7320baf6076391607515dceb61319b36a Author: Stephane Eranian Date: Fri Oct 15 16:54:01 2010 +0200 perf_events: Fix transaction recovery in group_sched_in() The group_sched_in() function uses a transactional approach to schedule a group of events. In a group, either all events can be scheduled or none are. To schedule each event in, the function calls event_sched_in(). In case of error, event_sched_out() is called on each event in the group. The problem is that event_sched_out() does not completely cancel the effects of event_sched_in(). Furthermore event_sched_out() changes the state of the event as if it had run which is not true is this particular case. Those inconsistencies impact time tracking fields and may lead to events in a group not all reporting the same time_enabled and time_running values. This is demonstrated with the example below: $ task -eunhalted_core_cycles,baclears,baclears -e unhalted_core_cycles,baclears,baclears sleep 5 1946101 unhalted_core_cycles (32.85% scaling, ena=829181, run=556827) 11423 baclears (32.85% scaling, ena=829181, run=556827) 7671 baclears (0.00% scaling, ena=556827, run=556827) 2250443 unhalted_core_cycles (57.83% scaling, ena=962822, run=405995) 11705 baclears (57.83% scaling, ena=962822, run=405995) 11705 baclears (57.83% scaling, ena=962822, run=405995) Notice that in the first group, the last baclears event does not report the same timings as its siblings. This issue comes from the fact that tstamp_stopped is updated by event_sched_out() as if the event had actually run. To solve the issue, we must ensure that, in case of error, there is no change in the event state whatsoever. That means timings must remain as they were when entering group_sched_in(). To do this we defer updating tstamp_running until we know the transaction succeeded. Therefore, we have split event_sched_in() in two parts separating the update to tstamp_running. Similarly, in case of error, we do not want to update tstamp_stopped. Therefore, we have split event_sched_out() in two parts separating the update to tstamp_stopped. With this patch, we now get the following output: $ task -eunhalted_core_cycles,baclears,baclears -e unhalted_core_cycles,baclears,baclears sleep 5 2492050 unhalted_core_cycles (71.75% scaling, ena=1093330, run=308841) 11243 baclears (71.75% scaling, ena=1093330, run=308841) 11243 baclears (71.75% scaling, ena=1093330, run=308841) 1852746 unhalted_core_cycles (0.00% scaling, ena=784489, run=784489) 9253 baclears (0.00% scaling, ena=784489, run=784489) 9253 baclears (0.00% scaling, ena=784489, run=784489) Note that the uneven timing between groups is a side effect of the process spending most of its time sleeping, i.e., not enough event rotations (but that's a separate issue). Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <4cb86b4c.41e9d80a.44e9.3e19@mx.google.com> Signed-off-by: Ingo Molnar commit ba0cef3d149ce4db293c572bf36ed352b11ce7b9 Author: Stephane Eranian Date: Fri Oct 15 15:15:01 2010 +0200 perf_events: Fix bogus AMD64 generic TLB events PERF_COUNT_HW_CACHE_DTLB:READ:MISS had a bogus umask value of 0 which counts nothing. Needed to be 0x7 (to count all possibilities). PERF_COUNT_HW_CACHE_ITLB:READ:MISS had a bogus umask value of 0 which counts nothing. Needed to be 0x3 (to count all possibilities). Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Robert Richter Cc: # as far back as it applies LKML-Reference: <4cb85478.41e9d80a.44e2.3f00@mx.google.com> Signed-off-by: Ingo Molnar commit c530ccd9a1864a44a7ff35826681229ce9f2357a Author: Stephane Eranian Date: Fri Oct 15 15:26:01 2010 +0200 perf_events: Fix bogus context time tracking You can only call update_context_time() when the context is active, i.e., the thread it is attached to is still running. However, perf_event_read() can be called even when the context is inactive, e.g., user read() the counters. The call to update_context_time() must be conditioned on the status of the context, otherwise, bogus time_enabled, time_running may be returned. Here is an example on AMD64. The task program is an example from libpfm4. The -p prints deltas every 1s. $ task -p -e cpu_clk_unhalted sleep 5 2,266,610 cpu_clk_unhalted (0.00% scaling, ena=2,158,982, run=2,158,982) 0 cpu_clk_unhalted (0.00% scaling, ena=2,158,982, run=2,158,982) 0 cpu_clk_unhalted (0.00% scaling, ena=2,158,982, run=2,158,982) 0 cpu_clk_unhalted (0.00% scaling, ena=2,158,982, run=2,158,982) 0 cpu_clk_unhalted (0.00% scaling, ena=2,158,982, run=2,158,982) 5,242,358,071 cpu_clk_unhalted (99.95% scaling, ena=5,000,359,984, run=2,319,270) Whereas if you don't read deltas, e.g., no call to perf_event_read() until the process terminates: $ task -e cpu_clk_unhalted sleep 5 2,497,783 cpu_clk_unhalted (0.00% scaling, ena=2,376,899, run=2,376,899) Notice that time_enable, time_running are bogus in the first example causing bogus scaling. This patch fixes the problem, by conditionally calling update_context_time() in perf_event_read(). Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: stable@kernel.org LKML-Reference: <4cb856dc.51edd80a.5ae0.38fb@mx.google.com> Signed-off-by: Ingo Molnar commit 4ba053c04aece1f4734056f21b751eee47ea3fb1 Author: Hitoshi Mitake Date: Wed Oct 13 17:30:26 2010 +0900 lockdep: Check the depth of subclass Current look_up_lock_class() doesn't check the parameter "subclass". This rarely rises problems because the main caller of this function, register_lock_class(), checks it. But register_lock_class() is not the only function which calls look_up_lock_class(). lock_set_class() and its callees also call it. And lock_set_class() doesn't check this parameter. This will rise problems when the the value of subclass is larger than MAX_LOCKDEP_SUBCLASSES. Because the address (used as the key of class) caliculated with too large subclass has a probability to point another key in different lock_class_key. Of course this problem depends on the memory layout and occurs with really low probability. Signed-off-by: Hitoshi Mitake Cc: Dmitry Torokhov Cc: Vojtech Pavlik Cc: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1286958626-986-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 620162505e5d46bc4494b1761743e4b0b3bf8e16 Author: Hitoshi Mitake Date: Tue Oct 5 18:01:51 2010 +0900 lockdep: Add improved subclass caching Current lockdep_map only caches one class with subclass == 0, and looks up hash table of classes when subclass != 0. It seems that this has no problem because the case of subclass != 0 is rare. But locks of struct rq are acquired with subclass == 1 when task migration is executed. Task migration is high frequent event, so I modified lockdep to cache subclasses. I measured the score of perf bench sched messaging. This patch has slightly but certain (order of milli seconds or 10 milli seconds) effect when lots of tasks are running. I'll show the result in the tail of this description. NR_LOCKDEP_CACHING_CLASSES specifies how many classes can be cached in the instances of lockdep_map. I discussed with Peter Zijlstra in LinuxCon Japan about this approach and he taught me that caching every subclasses(8) is cleary waste of memory. So number of cached classes should be configurable. === Score comparison of benchmarks === # "min" means best score, and "max" means worst score for i in `seq 1 10`; do ./perf bench -f simple sched messaging; done before: min: 0.565000, max: 0.583000, avg: 0.572500 after: min: 0.559000, max: 0.568000, avg: 0.563300 # with more processes for i in `seq 1 10`; do ./perf bench -f simple sched messaging -g 40; done before: min: 2.274000, max: 2.298000, avg: 2.286300 after: min: 2.242000, max: 2.270000, avg: 2.259700 Signed-off-by: Hitoshi Mitake Cc: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1286269311-28336-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit f2f108eb4511f22a6f7568090cfcf4e7b2dc0f62 Merge: 756b032 2b666ca Author: Ingo Molnar Date: Mon Oct 18 18:43:43 2010 +0200 Merge branch 'linus' into core/locking Merge reason: Update to almost-final-.36 Signed-off-by: Ingo Molnar commit 17bdcf949d03306b308c5fb694849cd35f119807 Author: Linus Walleij Date: Mon Oct 11 16:36:51 2010 +0200 sched: Drop all load weight manipulation for RT tasks Load weights are for the CFS, they do not belong in the RT task. This makes all RT scheduling classes leave the CFS weights alone. This fixes a real bug as well: I noticed the following phonomena: a process elevated to SCHED_RR forks with SCHED_RESET_ON_FORK set, and the child is indeed SCHED_OTHER, and the niceval is indeed reset to 0. However the weight inserted by set_load_weight() remains at 0, giving the task insignificat priority. With this fix, the weight is reset to what the task had before being elevated to SCHED_RR/SCHED_FIFO. Cc: Lennart Poettering Cc: stable@kernel.org Signed-off-by: Linus Walleij Signed-off-by: Peter Zijlstra LKML-Reference: <1286807811-10568-1-git-send-email-linus.walleij@stericsson.com> Signed-off-by: Ingo Molnar commit 34f971f6f7988be4d014eec3e3526bee6d007ffa Author: Peter Zijlstra Date: Wed Sep 22 13:53:15 2010 +0200 sched: Create special class for stop/migrate work In order to separate the stop/migrate work thread from the SCHED_FIFO implementation, create a special class for it that is of higher priority than SCHED_FIFO itself. This currently solves a problem where cpu-hotplug consumes so much cpu-time that the SCHED_FIFO class gets throttled, but has the bandwidth replenishment timer pending on the now dead cpu. It is also required for when we add the planned deadline scheduling class above SCHED_FIFO, as the stop/migrate thread still needs to transcent those tasks. Tested-by: Heiko Carstens Signed-off-by: Peter Zijlstra LKML-Reference: <1285165776.2275.1022.camel@laptop> Signed-off-by: Ingo Molnar commit 4924627423d5e286136ad2520f5be536345ae590 Author: Peter Zijlstra Date: Sun Oct 17 21:46:10 2010 +0200 sched: Unindent labels Labels should be on column 0. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit b534422b2d1189740c6144c3c7a296be89f581c7 Author: Dmitry Torokhov Date: Mon Oct 18 09:24:22 2010 -0700 Input: ad7877 - switch to using threaded IRQ Instead of using asynchronous SPI API and then spinning waiting for SPI transfer to complete when disabling the device, let's use threaded IRQ model and spi_sync(). Acked-by: Michael Hennerich Tested-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit 2fd18abad179b11cbd881f2bd271b193ababfb65 Author: Dmitry Torokhov Date: Mon Oct 18 09:22:38 2010 -0700 Input: ad7877 - use attribute group to control visibility of attributes Instead of manually creating one set of attributes or another set up is_visible method in attribute group structure to control whether aux3 or gpio3 attribute is presented to userspace. Acked-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit fc58d12be416eb51932eec594667ca3181903b9e Author: Dmitry Eremin-Solenikov Date: Mon Oct 18 09:18:13 2010 -0700 Input: serio - add support for PS2Mult multiplexer protocol PS2Mult is a simple serial protocol used for multiplexing several PS/2 streams into one serial data stream. It's used e.g. on TQM85xx series of boards. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Dmitry Torokhov commit bda80da469a93122121de601dd469ce1aaa6effa Author: Michal Simek Date: Mon Oct 18 15:33:09 2010 +1000 of/xsysace: Fix OF probing on little-endian systems Convert big-endian DTB to little-endian if necessary. Signed-off-by: Michal Simek Signed-off-by: Grant Likely commit 45b0cb8abdbdd425934f6b02dbb3963dd89fef55 Author: Neil Horman Date: Wed Oct 13 16:01:53 2010 +0000 bonding: Re-enable netpoll over bonding With the inclusion of previous fixup patches, netpoll over bonding apears to work reliably with failover conditions. This reverts Gospos previous commit c22d7ac844f1cb9c6a5fd20f89ebadc2feef891b, and allows access again to the netpoll functionality in the bonding driver. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 3b410a310b48a8e7de3438957635093596ad5ca5 Author: Neil Horman Date: Wed Oct 13 16:01:52 2010 +0000 bonding: Fix netconsole to not deadlock on rmmod Netconsole calls netpoll_cleanup on receipt of a NETDEVICE_UNREGISTER event. The notifier subsystem calls these event handlers with rtnl_lock held, which netpoll_cleanup also takes, resulting in deadlock. Fix this by calling the __netpoll_cleanup interior function instead, and fixing up the additional pointers. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 990c3d6f9c4115347659fc2b163907c8c832ae44 Author: Neil Horman Date: Wed Oct 13 16:01:51 2010 +0000 bonding: Fix napi poll for bonding driver Usually the netpoll path, when preforming a napi poll can get away with just polling all the napi instances of the configured device. Thats not the case for the bonding driver however, as the napi instances which may wind up getting flagged as needing polling after the poll_controller call don't belong to the bonded device, but rather to the slave devices. Fix this by checking the device in question for the IFF_MASTER flag, if set, we know we need to check the full poll list for this cpu, rather than just the devices napi instance list. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit e843fa50887582c867d8b7995f81fe9c1a076806 Author: Neil Horman Date: Wed Oct 13 16:01:50 2010 +0000 bonding: Fix deadlock in bonding driver resulting from internal locking when using netpoll The monitoring paths in the bonding driver take write locks that are shared by the tx path. If netconsole is in use, these paths can call printk which puts us in the netpoll tx path, which, if netconsole is attached to the bonding driver, result in deadlock (the xmit_lock guards are useless in netpoll_send_skb, as the monitor paths in the bonding driver don't claim the xmit_lock, nor should they). The solution is to use a per cpu flag internal to the driver to indicate when a cpu is holding the lock in a path that might recusrse into the tx path for the driver via netconsole. By checking this flag on transmit, we can defer the sending of the netconsole frames until a later time using the retransmit feature of netpoll_send_skb that is triggered on the return code NETDEV_TX_BUSY. I've tested this and am able to transmit via netconsole while causing failover conditions on the bond slave links. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit c2355e1ab910278a94d487b78590ee3c8eecd08a Author: Neil Horman Date: Wed Oct 13 16:01:49 2010 +0000 bonding: Fix bonding drivers improper modification of netpoll structure The bonding driver currently modifies the netpoll structure in its xmit path while sending frames from netpoll. This is racy, as other cpus can access the netpoll structure in parallel. Since the bonding driver points np->dev to a slave device, other cpus can inadvertently attempt to send data directly to slave devices, leading to improper locking with the bonding master, lost frames, and deadlocks. This patch fixes that up. This patch also removes the real_dev pointer from the netpoll structure as that data is really only used by bonding in the poll_controller, and we can emulate its behavior by check each slave for IS_UP. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit db181a8ee158fd0ccea2e2670c4f2d36af2814a0 Merge: ee2007d 9c0a788 Author: Grant Likely Date: Mon Oct 18 09:25:09 2010 -0600 Merge branch 'for-spi' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin into spi/next commit c6ce3854f098e1307ecd3bde07903d65fb14a9cb Author: Carolyn Wyborny Date: Fri Oct 15 17:35:31 2010 +0000 e1000e: Fix for offline diag test failure at first call Move link test call to later in the offline sequence, move the restore settings block to afterwards and add another reset to ensure the hardware is in a known state afterwards. Signed-off-by: Carolyn Wyborny Acked-by: Bruce Allan Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7714338aa9332e569b38c7643dc4a7bb37a0ff5 Author: Greg Rose Date: Fri Oct 15 17:26:47 2010 +0000 igbvf: Remove unneeded pm_qos* calls Power Management Quality of Service is not supported or used by the VF driver. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 12dcd86b75d571772512676ab301279952efc0b0 Author: Eric Dumazet Date: Fri Oct 15 17:27:10 2010 +0000 igb: fix stats handling There are currently some problems with igb. - On 32bit arches, maintaining 64bit counters without proper synchronization between writers and readers. - Stats updated every two seconds, as reported by Jesper. (Jesper provided a patch for this) - Potential problem between worker thread and ethtool -S This patch uses u64_stats_sync, and convert everything to be 64bit safe, SMP safe, even on 32bit arches. It integrates Jesper idea of providing accurate stats at the time user reads them. Signed-off-by: Eric Dumazet Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 78c89ba121221d9224a5747803d7fffe51cd6e44 Author: Steven Rostedt Date: Tue Oct 5 23:22:19 2010 -0400 tracing: Remove parent recording in latency tracer graph options Even though the parent is recorded with the normal function tracing of the latency tracers (irqsoff and wakeup), the function graph recording is bogus. This is due to the function graph messing with the return stack. The latency tracers pass in as the parent CALLER_ADDR0, which works fine for plain function tracing. But this causes bogus output with the graph tracer: 3) -0 | d.s3. 0.000 us | return_to_handler(); 3) -0 | d.s3. 0.000 us | _raw_spin_unlock_irqrestore(); 3) -0 | d.s3. 0.000 us | return_to_handler(); 3) -0 | d.s3. 0.000 us | trace_hardirqs_on(); The "return_to_handle()" call is the trampoline of the function graph tracer, and is meaningless in this context. Cc: Jiri Olsa Signed-off-by: Steven Rostedt commit 5e6d2b9cfa3a6e7fe62fc0135bc1bd778f5db564 Author: Steven Rostedt Date: Tue Oct 5 19:41:43 2010 -0400 tracing: Use one prologue for the preempt irqs off tracer function tracers The preempt and irqsoff tracers have three types of function tracers. Normal function tracer, function graph entry, and function graph return. Each of these use a complex dance to prevent recursion and whether to trace the data or not (depending if interrupts are enabled or not). This patch moves the duplicate code into a single routine, to prevent future mistakes with modifying duplicate complex code. Cc: Jiri Olsa Signed-off-by: Steven Rostedt commit 542181d3769d001c59cd17573dd4381e87d215f2 Author: Steven Rostedt Date: Tue Oct 5 16:38:49 2010 -0400 tracing: Use one prologue for the wakeup tracer function tracers The wakeup tracer has three types of function tracers. Normal function tracer, function graph entry, and function graph return. Each of these use a complex dance to prevent recursion and whether to trace the data or not (depending on the wake_task variable). This patch moves the duplicate code into a single routine, to prevent future mistakes with modifying duplicate complex code. Cc: Jiri Olsa Signed-off-by: Steven Rostedt commit 7495a5beaa22f190f4888aa8cbe4827c16575d0a Author: Jiri Olsa Date: Thu Sep 23 14:00:53 2010 +0200 tracing: Graph support for wakeup tracer Add function graph support for wakeup latency tracer. The graph output is enabled by setting the 'display-graph' trace option. Signed-off-by: Jiri Olsa LKML-Reference: <1285243253-7372-4-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit 0a772620a2e21fb55a02f70fe38d4b5c3a5fbbbf Author: Jiri Olsa Date: Thu Sep 23 14:00:52 2010 +0200 tracing: Make graph related irqs/preemptsoff functions global Move trace_graph_function() and print_graph_headers_flags() functions to the trace_function_graph.c to be globaly available. Signed-off-by: Jiri Olsa LKML-Reference: <1285243253-7372-3-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit a9d61173dc1cb63e660ae89e874e51ba4fd2f991 Author: Jiri Olsa Date: Fri Sep 24 17:41:02 2010 +0200 tracing: Add proper check for irq_depth routines The check_irq_entry and check_irq_return could be called from graph event context. In such case there's no graph private data allocated. Adding checks to handle this case. Signed-off-by: Jiri Olsa LKML-Reference: <20100924154102.GB1818@jolsa.brq.redhat.com> [ Fixed some grammar in the comments ] Signed-off-by: Steven Rostedt commit 907f27840985fe6a0c62e43cd4702c6e04b4bcc7 Author: matt mooney Date: Mon Sep 27 19:04:53 2010 -0700 tracing/trivial: Remove cast from void* Unnecessary cast from void* in assignment. Signed-off-by: matt mooney Signed-off-by: Steven Rostedt commit dce87b960cf4794141f067d8c8180ccc6716513f Author: amit salecha Date: Mon Oct 18 02:03:42 2010 +0000 netxen: mask correctable error HW workaround: Disable logging of correctable error for some NX3031 based adapter. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7a9905e64272c8021a8cfaf6015dd0fb8eeeb378 Author: Rajesh Borundia Date: Mon Oct 18 02:03:41 2010 +0000 netxen: fix race in tx stop queue There is race between netif_stop_queue and netif_stopped_queue check.So check once again if buffers are available to avoid race. With above logic we can also get rid of tx lock in process_cmd_ring. Signed-off-by: Rajesh Borundia Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 3666e0b04f092f9d9da8a6d6a3820de6c870407c Author: amit salecha Date: Mon Oct 18 01:47:48 2010 +0000 qlcnic: update ethtool stats Added statistics for Nic Partition supported adapter. These statistics are maintined in device. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 27a954bd560f3e385bbed38fde3051fe718b8d75 Author: Andy Walls Date: Sun Oct 17 15:11:22 2010 +0000 IPv4: route.c: Change checks against 0xffffffff to ipv4_is_lbcast() Change a few checks against the hardcoded broadcast address, 0xffffffff, to ipv4_is_lbcast(). Remove some existing checks using ipv4_is_lbcast() that are now obviously superfluous. Signed-off-by: Andy Walls Signed-off-by: David S. Miller commit 7f9c7e28119cf21ae1a035240da3705647d0d06a Merge: 4af8f24 b476ef0 Author: Russell King Date: Mon Oct 18 15:20:21 2010 +0100 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable commit a47d60561e111f5009ad0964069cfff77f76dbaa Merge: d8e6271 9c473fc Author: David S. Miller Date: Mon Oct 18 07:11:44 2010 -0700 Merge branch 'can/mcp251x-for-net-next' of git://git.pengutronix.de/git/mkl/linux-2.6 commit d8e62719ea63daf6afde2d2d09fb861c1559711e Author: Dmitry Kravkov Date: Sun Oct 17 23:08:55 2010 +0000 bnx2x: update version to 1.60.00-2 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 030f3356b64a129a1ab34175491a8175bef98e6e Author: Dmitry Kravkov Date: Sun Oct 17 23:08:53 2010 +0000 bnx2x: remove unnecessary FUNC_FLG_RSS flag and related As suggested by: Joe Perches Although RSS is meaningless when there is a single HW queue we still need it enabled in order to have HW Rx hash generated. Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c8e4f48a8eb236eb672c6da0731ee01a633844f0 Author: Dmitry Kravkov Date: Sun Oct 17 23:09:30 2010 +0000 bnx2x: Use correct FW constant for header padding the value of the constant is the same, but it's clearer to use original constant provided by HSI Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit adf5f6a18f2cbb215394599981fb48473b526faa Author: Dmitry Kravkov Date: Sun Oct 17 23:10:02 2010 +0000 bnx2x: do not deal with power if no capability Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e3dba8141b651dd8f560a2fd9513b1d26f447f9d Author: Dmitry Kravkov Date: Sun Oct 17 23:05:09 2010 +0000 bnx2x: remove redundant commands during error handling Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fe78d2637ad9acc6414e36ce781aadc8c77d560d Author: Vladislav Zolotarov Date: Sun Oct 17 23:02:20 2010 +0000 bnx2x: Optimized the branching in the bnx2x_rx_int() Optimized the branching in the bnx2x_rx_int() based on the fact that FP CQE will always have at least one of START or STOP flags set, so if not both bits are set and START bit is not set, then it's a STOP bit that is set. Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 33027af637da3f69bd17488cc3e68493c9052a7d Author: Andrea Gelmini Date: Sat Oct 16 15:19:22 2010 +0200 GFS2: fixed typo Signed-off-by: Andrea Gelmini Signed-off-by: Steven Whitehouse commit 9c473fc33915ddb14b71a4929c838c22b20a24ce Author: Marc Kleine-Budde Date: Mon Oct 4 12:09:31 2010 +0200 can: mcp251x: optimize 2515, rx int gets cleared automatically Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit beab675cb45f28a4a76780e43fd03e33bc773555 Author: Marc Kleine-Budde Date: Thu Sep 23 21:34:28 2010 +0200 can: mcp251x: define helper functions mcp251x_is_2510, mcp251x_is_2515 Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit f1f8c6cbe6f08f93ac2a4ca19625891d8a82b7f8 Author: Marc Kleine-Budde Date: Mon Oct 18 15:00:18 2010 +0200 can: mcp251x: Don't use pdata->model for chip selection anymore Since commit e446630c960946b5c1762e4eadb618becef599e7, i.e. v2.6.35-rc1, the mcp251x chip model can be selected via the modalias member in the struct spi_board_info. The driver stores the actual model in the struct mcp251x_platform_data. From the driver point of view the platform_data should be read only. Since all in-tree users of the mcp251x have already been converted to the modalias method, this patch moves the "model" member from the struct mcp251x_platform_data to the driver's private data structure. Signed-off-by: Marc Kleine-Budde Cc: Christian Pellegrin Cc: Marc Zyngier commit de9186c257acb06ca8187cff1c94412b5f80a3bd Author: Paul Mundt Date: Mon Oct 18 21:32:58 2010 +0900 sh: clkfwk: Shuffle around to match the intc split up. This shuffles the clock framework code around to a drivers/sh/clk subdir, to follow the intc split up. This will make it easier to subsequently break things out as well as plug in different helpers for non-CPG users. Signed-off-by: Paul Mundt commit c2590f4a8ddf461d33ac2085d966432b2a6a09f2 Author: Kuninori Morimoto Date: Mon Oct 18 03:50:29 2010 +0000 sh: clkfwk: modify for_each_frequency end condition The end condition of for_each_frequency should care about both clk_rate_table_round and clk_rate_div_range_round, and using "correct max size" is a natural idea in later function. To avoid data over flow, this patch didn't modify clk_rate_div_range_round side as .max = div_max + 1. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 56ea510962ec690ede2be2064de72e51a33011d9 Author: Guennadi Liakhovetski Date: Fri Oct 15 14:37:24 2010 +0000 sh: fix clk_get() error handling clk_get() returns an ERR_PTR(errno) on error and not NULL. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 138a6c7f4ff56b9886cbb46656ac7f26f990cdb4 Author: SeungChull Suh Date: Sat Oct 2 12:48:12 2010 +0900 ARM: S5P64X0: Bug fix on errors of build with CONFIG_PREEMPT_NONE This patch adds header into the below files for build with CONFIG_PREEMPT_NONE. arch/arm/mach-s5p64x0/cpu.c Signed-off-by: Seung-Chull Suh [kgene.kim@samsung.com: edited title and message] Signed-off-by: Kukjin Kim commit 3d4af5cac77f8d4f7422b1d00cb9e67000f94301 Author: Atul Dahiya Date: Fri Oct 8 21:00:02 2010 +0900 ARM: S5P64X0: Fix GPIO rbank support The patch removes s3c_gpio_lock/unlock to avoid acquiring the lock recursively as lock is already acquired by calling function. Signed-off-by: Atul Dahiya Signed-off-by: Sangbeom Kim [kgene.kim@samsung.com: removed useless variable due to this] Signed-off-by: Kukjin Kim commit d7297612ae53dfaf88b702f89a153d3da52bcd31 Author: Abhilash Kesavan Date: Fri Oct 8 20:55:02 2010 +0900 ARM: S5P64X0: Replace the 6440 system device class definition with 64x0 The s5p64x0_sysclass should be used in place of the obselete s5p6440_sysclass. Signed-off-by: Abhilash Kesavan Signed-off-by: Sangbeom Kim Signed-off-by: Kukjin Kim commit 6c6ad435cae29575ff632d97afedbcc2ce2e3840 Author: Naveen Krishna Ch Date: Fri Oct 8 20:53:08 2010 +0900 ARM: S5P64X0: FIX typo in the ADC device name Fix the touch screen device name from s3c64x0-adc to s3c64xx-adc. Signed-off-by: Naveen Krishna Ch Signed-off-by: Kukjin Kim commit b7df2a7beb9cbdd1acfd52200e2de76ec18c90a1 Author: Kukjin Kim Date: Wed Sep 1 12:40:16 2010 +0900 ARM: s5p64x0_defconfig: Update for support S5P6440 and S5P6450 This patch updates s5p64x0_defconfig and changes the name from s5p6440_defconfig so that can support S5P6440 and S5P6450 with one kernel. Tested on SMDK6440(S5P6440) and SMDK6450(S5P6450). Signed-off-by: Kukjin Kim commit 2555e663b367b8d555e76023f4de3f6338c28d6c Author: Kukjin Kim Date: Wed Sep 1 15:13:44 2010 +0900 ARM: S5P64X0: Add UART serial support for S5P6450 This patch adds UART serial port support for S5P6450 SoC. The S5P6450 has 6 UARTs, so adds resource of UART4 and UART5. And to fix membase which is in serial/samsung.c is from Ben Dooks. Signed-off-by: Kukjin Kim Cc: Ben Dooks commit 6f315cb5620c1810e59e93fffb1a7f9c793c7213 Author: Kukjin Kim Date: Wed Sep 1 13:03:39 2010 +0900 ARM: S5P64X0: Move SMDK6440 board file and Add SMDK6450 board file This patch moves smdk6440 board file from mach-s5p6440 into the new mach-s5p64x0 directory and adds smdk6450 board file. Signed-off-by: Kukjin Kim commit 5dd33d89f4700990e00731a971754ecb08ab7022 Author: Kukjin Kim Date: Wed Sep 8 16:23:05 2010 +0900 ARM: S5P64X0: Move GPIO support files for merge S5P64X0 This patch moves S5P6440 GPIO support files from mach-s5p6440 into the new mach-s5p64x0 for merge S5P6440 and S5P6450 SocS. NOTE: Not supported S5P6450 GPIO yet. Will be supported soon. Signed-off-by: Kukjin Kim commit 2853a0efc3031dec88b47bbc50b8a6b3fe9e3cac Author: Kukjin Kim Date: Wed Sep 1 13:36:59 2010 +0900 ARM: S5P64X0: Add S5P6450 I2C support This patch adds S5P6450 I2C support in the ARCH_S5P64X0. And moves S5P6440 I2C support files into the mach-s5p64x0 together. Signed-off-by: Kukjin Kim commit f1fee5824cc2f145c2d926939ff88250245a7ac9 Author: Kukjin Kim Date: Wed Sep 8 19:25:44 2010 +0900 ARM: S5P64X0: Move DMA support for S5P64X0 This patch moves DMA support files in the mach-s5p64x0 for S5P6440 and S5P6450 SoCs. Signed-off-by: Kukjin Kim Cc: Jassi Brar commit e661faa488450786e295ac9b40e89abce8141e92 Author: Kukjin Kim Date: Wed Sep 8 19:21:23 2010 +0900 ARM: S5P64X0: Update Audio support This patch updates Audio and SPI for S5P6440 and S5P6450 SoCs. Signed-off-by: Kukjin Kim Cc: Jassi Brar commit 8c14482b8a64755322484bea6fc66e8b1fd91fe0 Author: Kukjin Kim Date: Wed Sep 1 13:23:31 2010 +0900 ARM: S5P64X0: Update Timer support This patch updates timer support for S5P6440 and S5P6450 SoCs. Signed-off-by: Kukjin Kim commit 96f2c00799f9e3c94ac5879d0289376da69bc4a5 Author: Kukjin Kim Date: Wed Sep 1 13:22:17 2010 +0900 ARM: S5P64X0: Update IRQ support This patch updates IRQ support for S5P6440 and S5P6450 SoCs. Signed-off-by: Kukjin Kim commit 3109e55099cb013f9e1b63d39606dc5d7ecf25bd Author: Kukjin Kim Date: Wed Sep 1 15:35:30 2010 +0900 ARM: S5P64X0: Update Clock for S5P6440 and S5P6450 This patch updates regarding clock files for supporting S5P6440 and S5P6450 with one kernel image. The mach-s5p64x0/clock.c is for common of them and there are specific clock files for each SoCs. Signed-off-by: Kukjin Kim commit a2e0d6249fa866ce7f5a8fe08a4d75511e4701c6 Author: Kukjin Kim Date: Mon Oct 18 18:29:51 2010 +0900 ARM: S5P64X0: Add S5P64X0(S5P6440 and S5P6450) initialization support This patch adds ARCH_S5P64X0 which can support S5P6440 and S5P6450 with one kernel image. So moved some files of mach-s5p6440 into the new ARCH directory mach-s5p64x0. Signed-off-by: Kukjin Kim commit 43f974cdb4ab6d65f849610deb9ef738d62b2e65 Author: Nick Bowler Date: Mon Oct 18 11:22:05 2010 +0200 netfilter: install missing ebtables headers for userspace The ebt_ip6.h and ebt_nflog.h headers are not not known to Kbuild and therefore not installed by make headers_install. Fix that up. Signed-off-by: Nick Bowler Signed-off-by: Patrick McHardy commit d3cd15657516141adce387810be8cb377baf020e Author: Marc Kleine-Budde Date: Tue Sep 28 10:18:34 2010 +0200 can: mcp251x: write intf only when needed This patch introduces a variable "clear_intf" that hold the bits that should be cleared. Only read-modify-write register if "clear_intf" is set. Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit 7e15de3a73899903f33975b1ce57cf59c616d1d9 Author: Sascha Hauer Date: Tue Sep 28 10:00:47 2010 +0200 can: mcp251x: read-modify-write eflag only when needed Use read-modify-write instead of a simple write to change the register contents, to close existing the race window between the original manual read and write. Signed-off-by: Sascha Hauer Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit f3a3ed3115d39463dc6672454bfbeaff46811a37 Author: Sascha Hauer Date: Tue Sep 28 09:53:35 2010 +0200 can: mcp251x: allow to read two registers in one spi transfer This patch bases on work done earlier by David Jander. Signed-off-by: Sascha Hauer Acked-by: David Jander Signed-off-by: Uwe Kleine-König Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit 711e4d6eccd72c57938228b8e0c29cb205527032 Author: Sascha Hauer Date: Thu Sep 30 09:46:00 2010 +0200 can: mcp251x: increase rx_errors on overflow, not only rx_over_errors Signed-off-by: Sascha Hauer Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit 57d3c7b09bd797b8db974557a71df8675a22601b Author: Marc Kleine-Budde Date: Mon Oct 4 10:50:51 2010 +0200 can: mcp251x: fix NOHZ local_softirq_pending 08 warning This patch replaces netif_rx() with netif_rx_ni() which has to be used from the threaded interrupt i.e. process context context. Thanks to Christian Pellegrin for pointing at the right fix: 481a8199142c050b72bff8a1956a49fd0a75bbe0 by Oliver Hartkopp. Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit 76b6717bc6ccb715b04e36efc26566a6313ede5f Author: Randy Dunlap Date: Mon Oct 18 11:13:30 2010 +0200 netfilter: fix kconfig unmet dependency warning Fix netfilter kconfig unmet dependencies warning & spell out "compatible" while there. warning: (IP_NF_TARGET_TTL && NET && INET && NETFILTER && IP_NF_IPTABLES && NETFILTER_ADVANCED || IP6_NF_TARGET_HL && NET && INET && IPV6 && NETFILTER && IP6_NF_IPTABLES && NETFILTER_ADVANCED) selects NETFILTER_XT_TARGET_HL which has unmet direct dependencies ((IP_NF_MANGLE || IP6_NF_MANGLE) && NETFILTER_ADVANCED) Signed-off-by: Randy Dunlap Signed-off-by: Patrick McHardy commit e74670b6fdc37b15ebee11825849d8983e52a74a Author: Jaroslav Kysela Date: Mon Oct 18 09:43:10 2010 +0200 ALSA: snd-aloop: add cable#0 and cable#1 files to proc card tree Show some useful runtime information using procfs. Signed-off-by: Jaroslav Kysela commit 50a23e6eec6f20d55a3a920e47adb455bff6046e Author: Justin P. Mattock Date: Sat Oct 16 10:36:23 2010 -0700 Update broken web addresses in arch directory. The patch below updates broken web addresses in the arch directory. Signed-off-by: Justin P. Mattock Signed-off-by: Maciej W. Rozycki Cc: Finn Thain Cc: Randy Dunlap Reviewed-by: Finn Thain Signed-off-by: Jiri Kosina commit 631dd1a885b6d7e9f6f51b4e5b311c2bb04c323c Author: Justin P. Mattock Date: Mon Oct 18 11:03:14 2010 +0200 Update broken web addresses in the kernel. The patch below updates broken web addresses in the kernel Signed-off-by: Justin P. Mattock Cc: Maciej W. Rozycki Cc: Geert Uytterhoeven Cc: Finn Thain Cc: Randy Dunlap Cc: Matt Turner Cc: Dimitry Torokhov Cc: Mike Frysinger Acked-by: Ben Pfaff Acked-by: Hans J. Koch Reviewed-by: Finn Thain Signed-off-by: Jiri Kosina commit 9756403b16cfeda85efe77e62832a2f6b5752fdf Author: Dan Carpenter Date: Wed Oct 13 09:19:55 2010 +0000 gianfar: fix double lock typo This should be a _restore() instead of a _save(). Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit cdd861d68d27a0d0ebe4e641d20d8cfa5cef405f Author: Dan Carpenter Date: Wed Oct 13 09:18:53 2010 +0000 ns83820: spin_lock_irq() => spin_lock() This is essentially cosmetic. At this point the IRQs are already disabled because we called spin_lock_irq(&dev->rx_info.lock). The real bug here was fixed back in 2006 in 3a10ccebe: "[PATCH] lock validator: fix ns83820.c irq-flags bug". Prior to that patch, it was a "spin_lock_irq is not nestable" type bug. The 2006 patch changes the unlock to not re-enable IRQs, which eliminates the potential deadlock. But this bit was missed. We should change the lock function as well so it balances nicely. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit ccc901ee58cfb090a31216a6eda0f1e9dfc572fa Author: Allan Stephens Date: Thu Oct 14 13:58:26 2010 +0000 tipc: Simplify bearer shutdown logic Optimize processing in TIPC's bearer shutdown code, including: 1. Remove an unnecessary check to see if TIPC bearer's can exist. 2. Don't release spinlocks before calling a media-specific disabling routine, since the routine can't sleep. 3. Make bearer_disable() operate directly on a struct bearer, instead of needlessly taking a name and then mapping that to the struct. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker Reviewed-by: Neil Horman Signed-off-by: David S. Miller commit 724829b3ad8e8aeb0aec46de383d35bfa1ad3875 Author: David S. Miller Date: Mon Oct 18 01:06:20 2010 -0700 tipc: Kill tipc_get_mode() completely. It's completely unused and exporting a static symbol makes no sense and breaks the build. Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit 35dbc0e020c6587f78a6c17693beca73aead7b54 Author: Mike Frysinger Date: Mon Oct 18 03:09:39 2010 -0400 asm-generic/io.h: allow people to override individual funcs For the Blackfin port, we can use much of the asm-generic/io.h header, but we still need to declare some of our own versions of functions. Like the __raw_read* and in/out "string" helpers. So let people do this easily for many of these funcs. Signed-off-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit 9c0a788b4315b83f6138ffa15c56ccf541106e58 Author: Mike Frysinger Date: Mon Oct 18 02:45:22 2010 -0400 spi/bfin_spi: namespace local structs Signed-off-by: Mike Frysinger commit 6f7c17f4f91513247dfec52d6968cd70d5251b38 Author: Michael Hennerich Date: Thu Jul 1 14:34:10 2010 +0000 spi/bfin_spi: init early Some systems using this bus sometimes have very basic devices on them such as regulators. So we need to be loaded even earlier in case the devices are used by things such as early board init code. Therefore register in subsys_initcall(). Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 2e768659df35ea337cb57ea3573c918d31e07894 Author: Bob Liu Date: Fri Sep 17 03:46:22 2010 +0000 spi/bfin_spi: check per-transfer bits_per_word Currently, if the bits_per_word when doing a transfer is not 8bits, we always treat it as 16bits when we should actually be returning an error. Signed-off-by: Bob Liu Signed-off-by: Mike Frysinger commit 4190f6a51f3f9c7c8298202d31b3ead9381c33f1 Author: Barry Song Date: Tue Apr 6 03:36:24 2010 +0000 spi/bfin_spi: warn when CS is driven by hardware (CPHA=0) When the hardware is controlling the CS, there are some SPI options we are unable to support. So issue a warning in the hopes that the user will change to a SPI mode where we can support things sanely. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit e72dcde72c712708e2145ab0ecff539ff4a4c7fb Author: Rob Maris Date: Tue Apr 6 04:17:08 2010 +0000 spi/bfin_spi: cs should be always low when a new transfer begins Signed-off-by: Rob Maris Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit e35954053c1a2ede37f6ed1b28d626dba43dc79d Author: Rob Maris Date: Tue Apr 6 04:12:00 2010 +0000 spi/bfin_spi: fix typo in comment Signed-off-by: Rob Maris Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 7715aad4ef5cccb318942a0c47aef8a39d6130d7 Author: Mike Frysinger Date: Thu Feb 25 10:00:55 2010 +0000 spi/bfin_spi: reject unsupported SPI modes Who knows what people will try! Signed-off-by: Mike Frysinger commit a75bd65b2189d711938d0fa7d9a79df47ddd66fa Author: Barry Song Date: Fri Jan 22 10:07:30 2010 +0000 spi/bfin_spi: use dma_disable_irq_nosync() in irq handler Using disable_irq() on the IRQ whose handler we are currently executing in can easily lead to a hang. So use the nosync variant here. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 5e8592dca303fb429d1641c205fe509f4b781ca2 Author: Mike Frysinger Date: Fri Dec 18 18:00:10 2009 +0000 spi/bfin_spi: combine duplicate SPI_CTL read/write logic While combining things, also switch to the proper SPI bit define names. This lets us punt the rarely used SPI defines. Signed-off-by: Mike Frysinger commit 5b47bcd48b3bd53c86040321de0d348aadebed87 Author: Mike Frysinger Date: Fri Dec 18 17:43:31 2009 +0000 spi/bfin_spi: reset ctl_reg bits when setup is run again on a device During runtime, the spi setup function may be called multiple times on the same device in order to reconfigure some settings on the fly. When this happens, we need to reset the ctl_reg bits so that changing the mode works as expected. Reported-by: Andy Getzendanner Signed-off-by: Mike Frysinger commit 033f44bd0ebca1809e8274237a64263d909f01a7 Author: Mike Frysinger Date: Fri Dec 18 17:38:04 2009 +0000 spi/bfin_spi: push all size checks into the transfer function This reduces duplication between the setup/transfer functions and keeps values cached during setup from overriding values changed on a transfer basis (like bits_per_word). Signed-off-by: Mike Frysinger commit 7370ed6b91c37d7022a89a820b0fcd3156fa87fc Author: Yi Li Date: Mon Dec 7 08:07:01 2009 +0000 spi/bfin_spi: use nosync when disabling the IRQ from the IRQ handler Using disable_irq() on the IRQ whose handler we are currently executing in can easily lead to a hang. So use the nosync variant here. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 9677b0de10433d31e05864dfb4bf33d0c27f752a Author: Barry Song Date: Mon Nov 30 03:49:41 2009 +0000 spi/bfin_spi: sync hardware state before reprogramming everything Sometimes under load, the Blackfin core is able to send SPI register updates out before the controller is actually disabled. So when we go to reprogram the entire state (to switch to a different slave), make sure we sync after disabling the controller. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit b052fd0a44354c655eb98fd715ef52857631dfef Author: Barry Song Date: Wed Nov 18 09:43:21 2009 +0000 spi/bfin_spi: save/restore state when suspending/resuming We can't rely on the SPI_CTL/SPI_FLG registers retaining their state when suspending, so save/restore their entire values. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit d3cc71f71ae13596cb988e16bfa2b15f09fb7347 Author: Barry Song Date: Tue Nov 17 09:45:59 2009 +0000 spi/bfin_spi: redo GPIO CS handling The common SPI layers take care of detecting CS conflicts and preventing two devices from claiming the same CS. This causes problems for the GPIO CS support we currently have as we are using CS0 to mean "GPIO CS". But if we have multiple devices using a GPIO CS, the common SPI layers see multiple devices using the virtual "CS0" and reject any such attempts. To make both work, we introduce an offset define. This represents the max number of hardware CS values that the SPI peripheral supports. If the CS is below this limit, we know we can use the hardware CS. If it's above, we treat it as a GPIO CS. This keeps the CS unique as seen by the common code and prevents conflicts. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 0d2c6de2255cb299fdd77d4543738adee45f4f3f Author: Mike Frysinger Date: Thu Oct 15 04:13:29 2009 +0000 Blackfin: SPI: expand SPI bitmasks Expand the BIT_CTL defines to use the naming convention of the hardware, and expand the masks to cover all documented bits. Signed-off-by: Mike Frysinger commit 90008a641dd832cc2e2c4d21b7da94de91e9d0a4 Author: Mike Frysinger Date: Thu Oct 15 04:13:29 2009 +0000 spi/bfin_spi: use the SPI namespaced bit names This lets us push the short SPI MMR bit names out of the global namespace. Signed-off-by: Mike Frysinger commit 2a045131db69c207b9e3f9614b2c9b0f2e82bcb7 Author: Mike Frysinger Date: Thu Sep 24 01:28:54 2009 +0000 spi/bfin_spi: drop extra memory we don't need The driver that we based ours on uses a little extra memory behind the normal driver state, but we don't. So drop this useless bit of memory. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit b9f139a7a6a8b24e61ad94c3334eb26f34a4cb63 Author: Mike Frysinger Date: Thu Sep 24 01:27:47 2009 +0000 spi/bfin_spi: convert struct names to something more logical The current structure names are a bit confusing as to what they represent, so use better names. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit 9c4542c7a3082bf74f00145355ef407ac82c0b3f Author: Mike Frysinger Date: Thu Sep 24 01:04:04 2009 +0000 spi/bfin_spi: convert read/write/duplex funcs to a dedicated ops structure Rather than having to look up the same 3 sets of functions at the same time, just use an ops structure so we only need to set one pointer. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit f4f50c3ff7815d83dcbb19341f35db2f408ac4f8 Author: Mike Frysinger Date: Thu Sep 24 00:41:49 2009 +0000 spi/bfin_spi: convert queue run state to true/false No point in creating our own version of true/false defines when there is already a standard stdbool available to us. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit ab09e0406ffd42d26fc9a6dcbb626f9eb1da9160 Author: Mike Frysinger Date: Wed Sep 23 23:32:34 2009 +0000 spi/bfin_spi: fix up some unused/misleading comments Reported-by: David Brownell Signed-off-by: Mike Frysinger commit 5cc0159a5779f297d1b987d5f6d0feb6dc36a27a Author: Mike Frysinger Date: Wed Sep 23 23:24:59 2009 +0000 spi/bfin_spi: punt useless null read/write funcs The chip ops should always be initialized, so having null fallback functions are useless. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit 201bbc6fd84c67b4021f454d3e4c30d5cd77f702 Author: Mike Frysinger Date: Wed Sep 23 20:56:10 2009 +0000 spi/bfin_spi: drop custom cs_change_per_word support As David points out, the cs_change_per_word option isn't standard, nor is anyone actually using it. So punt all of the dead code considering it makes up ~10% of the code size. Reported-by: David Brownell Signed-off-by: Mike Frysinger commit 8221610e9990e7ee542a4e508d278302af8a9e75 Author: Barry Song Date: Wed Jun 17 10:10:53 2009 +0000 spi/bfin_spi: fix CS handling The CS helper functions were toggling both the Flag Enable and the Flag Value bits, but the Flag Value bit is ignored if the corresponding Flag Enable bit is cleared. So under high speed transactions, the CS sometimes would not toggle properly. Since it makes no sense to toggle the Flag Enable bit dynamically when we actually want to control the Flag Value, do this when setting up the device and then only handle toggling of the CS value during runtime. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit f6a6d96685be6e784849d067b44acb831f595417 Author: Yi Li Date: Wed Jun 3 09:46:22 2009 +0000 spi/bfin_spi: utilize the SPI interrupt in PIO mode The current behavior in PIO mode is to poll the SPI status registers which can obviously lead to higher latencies when doing a lot of SPI traffic. There is a SPI interrupt which can be used instead to signal individual completion of transactions. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit bb8beecd98de45f821a3360e0b061fc1f8da947c Author: Wolfgang Muees Date: Fri May 22 01:11:02 2009 +0000 spi/bfin_spi: force sane master-mode state at boot We should make sure the SPI controller is in a sane state in case the boot loader left it in a crappy state. Such as DMA pending which causes interrupts to fire on us. When setting a sane initial state, do not default to slave mode. If we do, then the SPI peripheral may implicitly take over the SPISS pin which other things might be using. For example, the BF533-STAMP uses this pin as a GPIO to control switching between ethernet and flash. If the SPI peripheral controls the output state instead, the ethernet is no longer accessible. URL: http://blackfin.uclinux.org/gf/tracker/5630 Signed-off-by: Wolfgang Muees Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 60d0071b609ecb0aebe12aaedf34fe552da12c5b Author: Sonic Zhang Date: Mon May 18 10:01:16 2009 +0000 spi/bfin_spi: work around anomaly 05000119 Anomaly 05000119 states that the DMA_RUN bit with peripherals isn't reliable. However, the way the driver is currently written (DMA IRQ callback), we don't need the polling in the first place, so drop it. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit ac01e97d644da8e947ffa1bde5083290fe2e36e7 Author: Daniel Mack Date: Wed Mar 25 00:18:35 2009 +0000 spi/bfin_spi: fix resources leakage Re-order setup() a bit so we don't leak memory/dma/gpio resources upon errors. Also make sure we don't call kfree() twice on the same object. Signed-off-by: Daniel Mack Signed-off-by: Bryan Wu Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit e24dcbef93dbbf529fbedfc6ce8ab22d2cef35f0 Author: Tejun Heo Date: Mon Oct 18 08:33:02 2010 +0200 shpchp: update workqueue usage * Rename shpchp_wq to shpchp_ordered_wq and add non-ordered shpchp_wq which is used instead of the system workqueue. This is to remove the use of flush_scheduled_work() which is deprecated and scheduled for removal. * With cmwq in place, there's no point in creating workqueues lazily. Create both shpchp_wq and shpchp_ordered_wq upfront. * Include workqueue.h from shpchp.h. Signed-off-by: Tejun Heo Acked-by: Jesse Barnes commit a827ea307b147aeb050803433b3f6842582c6ced Author: Tejun Heo Date: Mon Oct 18 08:31:02 2010 +0200 pciehp: update workqueue usage * Rename pciehp_wq to pciehp_ordered_wq and add non-ordered pciehp_wq which is used instead of the system workqueue. This is to remove the use of flush_scheduled_work() which is deprecated and scheduled for removal. * With cmwq in place, there's no point in creating workqueues lazily. Create both pciehp_wq and pciehp_ordered_wq upfront. * Include workqueue.h from pciehp.h. Signed-off-by: Tejun Heo Acked-by: Jesse Barnes commit 83fc3bc09518d42e8f5073e2a65884701dfadf19 Author: Nobuhiro Iwamatsu Date: Mon Oct 18 12:20:39 2010 +0900 ALSA: emu10k1: Fix warning: "CCR" redefined CCR is defined in emu10k1, but SuperH is defined too. If user use this driver with SuperH, it becomes a double definition. Signed-off-by: Nobuhiro Iwamatsu Cc: Paul Mundt Signed-off-by: Takashi Iwai commit f6765502f8daae3d237a394889276c8987f3e299 Author: Mark Brown Date: Mon Oct 18 06:01:33 2010 +0100 Revert "ASoC: Add max98088 CODEC driver" This reverts commit e65d255a5a610ce9e185e0df855250706aca7c21 since it does not build. commit 62ecae09a01df507ef52e1bc90fc233a1978c60a Author: Dmitry Torokhov Date: Sun Oct 10 14:24:16 2010 -0700 Input: wacom - properly enable runtime PM We need to always call usb_autopm_put_interface() in wacom_open(), not only when initialization fails, otherwise the device will be marked as PM-busy and will never be put in suspended state. Based on patch by Oliver Neukum. Acked-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 3136baf8d09458bb04332b81494fd13ad90fe94a Merge: 1d02ad4 ca047fe Author: Dmitry Torokhov Date: Sun Oct 17 21:20:19 2010 -0700 Merge branch 'for-linus' into next commit 1d02ad436235080b8a95a2c86a66cb7b8f2e9df9 Author: Michael Hennerich Date: Fri Oct 15 09:49:08 2010 -0700 Input: ad7877 - filter events where pressure is beyond the maximum Suppress events where pressure > pressure_max. These events come typically along with inaccurate X and Y samples. Signed-off-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit 47026b25fc6cd2d7ec85d4a83c472bca20946a94 Author: Michael Hennerich Date: Fri Oct 15 09:49:07 2010 -0700 Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting Some input users such as Android or X require BTN_TOUCH events. Implement EV_KEY:BTN_TOUCH and make sure that the release event is not erroneous scheduled without a preceding valid touch. Signed-off-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit e92c27fb5319d8b12f0c291c827e252f0e17afc4 Author: Michael Hennerich Date: Fri Oct 15 09:48:10 2010 -0700 Input: ad7877 - implement specified chip select behavior According to the AD7877 datasheet: Each transfer operation is 16-bit. If multiple read/write operations are to be performed, CS must be taken high after the end of each read/write operation before another read/write operation can be performed by taking CS low again. Make sure CS toggles after each transfer in the message. Signed-off-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit 790d5c8dac35cf10cf6c52cc9b90ad20603ac2c1 Author: Tejun Heo Date: Fri Oct 15 09:47:15 2010 -0700 Input: hp680_ts_input - use cancel_delayed_work_sync() Make hp680_ts_init/exit() call cancel_delayed_work_sync() instead of calling cancel_delayed_work() followed by flush_scheduled_work(). This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Signed-off-by: Dmitry Torokhov commit f74eef95e33a07379aa2b950c7f313cbfd55ebbe Author: Hitoshi Mitake Date: Wed Oct 13 11:35:40 2010 -0700 Input: mousedev - correct lockdep annotation When annotating mutex to avoid false lockdep reports we should not be using MOUSEDEV_MIX as lock subclass but rather SINGLE_DEPTH_NESTING. Signed-off-by: Hitoshi Mitake Signed-off-by: Dmitry Torokhov commit 2991a1ca6e9b13b639a82c0eec0cbc191bf1f42f Author: Jason Wang Date: Wed Oct 13 11:35:40 2010 -0700 Input: ads7846 - switch to using threaded IRQ Commit 9114337 introduces regulator operations in ads7846 touchscreen driver. Among these operations, some are called while holding a spinlock. On many platforms regulators reside on slow buses, such as I2C/SPI and require sleep while accessing them. The touchscreen itself is also a SPI device and currently relies on asynchronous SPI access to avoid sleeping in interrupt context. Let's switch to using threaded IRQ to be able to access SPI bus synchronously (which simplifies driver a bit); it also allows safe access to the regulators as well. This has been tested on the ti_omap3530evm board: 1) using ts_lib after normal boot 2) using ts_lib after "#echo 1/0 > /sys/bus/spi/devices/spi0.1/disable" 3) using ts_lib after "#echo mem > /sys/power/state" and "wake up" Also tested on pandora. Based on original patch by Dmitry Torokhov. Tested-by: Grazvydas Ignotas Signed-off-by: Jason Wang Signed-off-by: Dmitry Torokhov commit 49b7a491b797305a0dc373e7f7a5d2a87955c819 Author: Kukjin Kim Date: Tue Sep 7 15:47:18 2010 +0900 ARM: S5P64X0: Update Kconfig and Makefile This patch updates the Kconfig and Makefile for the S5P6440 and S5P6450 machines. It also updates arch/arm/ Kconfig and Makefile to include for support ARCH_S5P64X0 with one kernel image. Signed-off-by: Kukjin Kim commit 19a2c06548db1fa69c40be5bf3ad2095d6119871 Author: Kukjin Kim Date: Tue Aug 31 16:30:51 2010 +0900 ARM: S5P: Moves initial map for merging S5P64X0 This patch moves some initial maps from plat-s5p to machine, so that can merge mach-s5p6440 and mach-s5p6450. Signed-off-by: Kukjin Kim commit 13904fba37aa00867dee0b4fe13df92fed1120f9 Author: Kukjin Kim Date: Fri Aug 27 13:56:54 2010 +0900 ARM: S5P: Move OneNAND device definitions in plat-s5p This patch moves OneNAND device definitions from mach-s5pv210 to plat-s5p so that can support it commonly. Note: S5PC110 and S5PC210 have same OneNAND driver. Signed-off-by: Kukjin Kim Cc: Kyungmin Park commit b33879aa834ebe03ced3dca4e3b822bd8894a474 Author: Jeff Layton Date: Fri Oct 15 15:34:04 2010 -0400 cifs: move cifsFileInfo_put to file.c ...and make it non-inlined in preparation for the move of most of cifs_close to it. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Signed-off-by: Steve French commit 4477288a103631980750c86547d1fd54bfd2ba7d Author: Jeff Layton Date: Fri Oct 15 15:34:03 2010 -0400 cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock Convert this lock to a regular spinlock A rwlock_t offers little value here. It's more expensive than a regular spinlock unless you have a fairly large section of code that runs under the read lock and can benefit from the concurrency. Additionally, we need to ensure that the refcounting for files isn't racy and to do that we need to lock areas that can increment it for write. That means that the areas that can actually use a read_lock are very few and relatively infrequently used. While we're at it, change the name to something easier to type, and fix a bug in find_writable_file. cifsFileInfo_put can sleep and shouldn't be called while holding the lock. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Signed-off-by: Steve French commit 7a16f1961a5c61d1f60d9e0d3d171cf7793fb5cb Author: Steve French Date: Mon Oct 18 01:09:48 2010 +0000 [CIFS] Fix minor checkpatch warning and update cifs version Signed-off-by: Steve French commit 15ecb436c00fcb13b6dc32bdcbb9f75fc9b7613e Author: Jeff Layton Date: Fri Oct 15 15:34:02 2010 -0400 cifs: move cifs_new_fileinfo to file.c It's currently in dir.c which makes little sense... Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit 2e396b83f6087b78dac5a18d6d0cf9f8426a00b3 Author: Jeff Layton Date: Fri Oct 15 15:34:01 2010 -0400 cifs: eliminate pfile pointer from cifsFileInfo All the remaining users of cifsFileInfo->pfile just use it to get at the f_flags/f_mode. Now that we store that separately in the cifsFileInfo, there's no need to consult the pfile at all from a cifsFileInfo pointer. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit 7da4b49a0ec481239d9cd51f7053aa8e4e191fa7 Author: Jeff Layton Date: Fri Oct 15 15:34:00 2010 -0400 cifs: cifs_write argument change and cleanup Have cifs_write take a cifsFileInfo pointer instead of a filp. Since cifsFileInfo holds references on the dentry, and that holds one to the inode, we can eliminate some unneeded NULL pointer checks. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit 15886177e412db00aa86155fe72608c4ebf5a08f Author: Jeff Layton Date: Fri Oct 15 15:33:59 2010 -0400 cifs: clean up cifs_reopen_file Add a f_flags field that holds the f_flags field from the filp. We'll need this info in case the filp ever goes away before the cifsFileInfo does. Have cifs_reopen_file use that value instead of filp->f_flags too and have it take a cifsFileInfo arg instead of a filp. While we're at it, get rid of some bogus cargo-cult NULL pointer checks in that function and reduce the level of indentation. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit abfe1eedd682ea0f20e7035445982e6d371a2024 Author: Jeff Layton Date: Fri Oct 15 15:33:58 2010 -0400 cifs: eliminate the inode argument from cifs_new_fileinfo It already takes a file pointer. The inode associated with that had damn well better be the same one we're passing in anyway. Thus, there's no need for a separate argument here. Also, get rid of the bogus check for a null pCifsInode pointer. The CIFS_I macro uses container_of(), and that will virtually never return a NULL pointer anyway. Finally, move the setting of the canCache* flags outside of the lock. Other places in the code don't hold that lock when setting it, so I assume it's not really needed here either. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit f6a53460e2a105904deeada737b3f878d78517b3 Author: Jeff Layton Date: Fri Oct 15 15:33:57 2010 -0400 cifs: eliminate oflags option from cifs_new_fileinfo Eliminate the poor, misunderstood "oflags" option from cifs_new_fileinfo. The callers mostly pass in the filp->f_flags here. That's not correct however since we're checking that value for the presence of FMODE_READ. Luckily that only affects how the f_list is ordered. What it really wants here is the file->f_mode. Just use that field from the filp to determine it. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Signed-off-by: Steve French commit 608712fe8609492a8670638ea86b97fafe49ebba Author: Jeff Layton Date: Fri Oct 15 15:33:56 2010 -0400 cifs: fix flags handling in cifs_posix_open The way flags are passed and converted for cifs_posix_open is rather non-sensical. Some callers call cifs_posix_convert_flags on the flags before they pass them to cifs_posix_open, whereas some don't. Two flag conversion steps is just confusing though. Change the function instead to clearly expect input in f_flags format, and fix the callers to pass that in. Then, have cifs_posix_open call cifs_convert_posix_flags to do the conversion. Move cifs_posix_open to file.c as well so we can keep cifs_convert_posix_flags as a static function. Fix it also to not ignore O_CREAT, O_EXCL and O_TRUNC, and instead have cifs_reopen_file mask those bits off before calling cifs_posix_open. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Signed-off-by: Steve French commit d793fe8caa3911e6a1e826b45d4ee00d250cdec8 Author: Nathan Holstein Date: Fri Oct 15 11:54:02 2010 -0400 Bluetooth: fix oops in l2cap_connect_req In error cases when the ACL is insecure or we fail to allocate a new struct sock, we jump to the "response" label. If so, "sk" will be null and the kernel crashes. Signed-off-by: Nathan Holstein Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 7c1a96a9966efc2eb33d1021569c5ef6ae6f5ecb Author: Matt Carlson Date: Thu Oct 14 10:37:45 2010 +0000 tg3: Update version to 3.115 This patch updates the tg3 version to 3.115. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 64c2218266996b562a8e940a95a887fc432daced Author: Matt Carlson Date: Thu Oct 14 10:37:44 2010 +0000 tg3: Report invalid link from tg3_get_settings() Currently the tg3 driver leaves the speed and duplex fields uninitialized in tg3_get_settings() if the device is not up. This can lead to some strange deductions in certain versions of ethtool. When the device is up and the link is down, the driver reports SPEED_INVALID and DUPLEX_INVALID for these fields. This patch makes the presentation consistent by returning SPEED_INVALID and DUPLEX_INVALID when the device has not been brought up as well. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4803572815feea2dca9485a343a8556c9037e36e Author: Matt Carlson Date: Thu Oct 14 10:37:43 2010 +0000 tg3: Don't allocate jumbo ring for 5780 class devs The 5714, 5715, and 5780 devices do not have a separate rx jumbo producer ring. This patch changes the code so that resources are not allocated for it. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f94e290eba2f98e8f759d273d9d04e8487fb4b6b Author: Matt Carlson Date: Thu Oct 14 10:37:42 2010 +0000 tg3: Cleanup tg3_alloc_rx_skb() src_map is no longer used in tg3_alloc_rx_skb(). Remove it. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 52b02d04c801fff51ca49ad033210846d1713253 Author: Matt Carlson Date: Thu Oct 14 10:37:41 2010 +0000 tg3: Add EEE support This patch adds Energy Efficient Ethernet (EEE) support for the 5718 device ID and the 57765 B0 asic revision. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit ddfc87bfd16f370904c6ff7d23738335dd68d0ce Author: Matt Carlson Date: Thu Oct 14 10:37:40 2010 +0000 tg3: Add clause 45 register accessor methods This patch adds clause 45 register access methods. They will be used in the following patch. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 3d37728bc55994fdf2888f6c872bdeea03a84cc2 Author: Matt Carlson Date: Thu Oct 14 10:37:39 2010 +0000 tg3: Disable unused transmit rings This patch allows the driver to disable the additional transmit rings available on the 5717 and 5719 devices. This is not strictly necessary, but is done anyways for correctness. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit bba226acf4d13586ce47cf8376db33bed7bc0bd6 Author: Matt Carlson Date: Thu Oct 14 10:37:38 2010 +0000 tg3: Add support for selfboot format 1 v6 5718 B0 and 5719 devices will use a new selfboot firmware format. This patch adds code to detect the new format so that bootcode versions get reported correctly. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 19f572565ef66a0439574fd2299a7c804147e133 Author: Eric Dumazet Date: Thu Oct 14 20:56:39 2010 +0000 fib_hash: RCU conversion phase 2 Get rid of fib_hash_lock rwlock. The fn_zone hash table resize is the noticeable part of this patch. I added a seqlock per fn_zone, so that readers can restart their lookup in the (very rare) case a writer expanded the hash table. Add rcu heads in fib_alias and fib_node, use call_rcu() to defer their freeing, and use appropriate _rcu list manipulations. Stress test (160.000.000 udp frames sent, IP route cache disabled to mimic DDOS attack, FIB_HASH) Before: real 0m41.191s user 0m13.137s sys 8m55.241s After: real 0m38.091s user 0m13.189s sys 7m53.018s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 117a8cdea3647e8e11fac10d14eafefc20f9bda5 Author: Eric Dumazet Date: Thu Oct 14 20:53:34 2010 +0000 fib_hash: RCU conversion phase 1 First step for RCU conversion of fib_hash : struct fn_zone are created and never deleted. Very classic conversion, using rcu_assign_pointer(), rcu_dereference() and rtnl_dereference() verbs. __rcu markers on fz_next and fn_zone_list They are created under RTNL, we dont need fib_hash_lock anymore in fn_new_zone(). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9bef83edfba72ba58b42c14fb046da2199574bc0 Author: Eric Dumazet Date: Thu Oct 14 20:53:04 2010 +0000 fib_hash: embed initial hash table in fn_zone While looking for false sharing problems, I noticed sizeof(struct fn_zone) was small (28 bytes) and possibly sharing a cache line with an often written kernel structure. Most of the time, fn_zone uses its initial hash table of 16 slots. We can avoid the false sharing problem by embedding this initial hash table in fn_zone itself, so that sizeof(fn_zone) > L1_CACHE_BYTES We did a similar optimization in commit a6501e080c (Reduce memory needs and speedup lookups) Add a fz_revorder field to speedup fn_hash() a bit. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7fc4463309faa087f5e41569a987d43b1d71b982 Author: Joe Perches Date: Thu Oct 14 09:55:50 2010 +0000 drivers/net/pch_gbe: Use DEFINE_PCI_DEVICE_TABLE Use the standard macro to put this table in __devinitconst. Compiled, untested. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 8e602ce2980fd6941dc0d3dda12e5095e8206f34 Author: Eric Dumazet Date: Thu Oct 14 05:56:18 2010 +0000 netns: reorder fields in struct net In a network bench, I noticed an unfortunate false sharing between 'loopback_dev' and 'count' fields in "struct net". 'count' is written each time a socket is created or destroyed, while loopback_dev might be often read in routing code. Move loopback_dev in a read mostly section of "struct net" Note: struct netns_xfrm is cache line aligned on SMP. (It contains a "struct dst_ops") Move it at the end to avoid holes, and reduce sizeof(struct net) by 128 bytes on ia32. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c60ce4e265404ca42ba860401f4b0f1e97332a67 Author: Ilpo Järvinen Date: Thu Oct 14 01:52:09 2010 +0000 tcp: use correct counters in CA_CWR state too As CWR is stronger than CA_Disorder state, we can miscount SACK/Reno failure into other timeouts. Not a bad problem as it can happen only due to ECN, FRTO detecting spurious RTO or xmit error which are the only callers of tcp_enter_cwr. And even then losses and RTO must still follow thereafter to actually end up into the relevant code paths. Compile tested. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1fdb936101637c91819efea47e921bb592e07e34 Author: Ilpo Järvinen Date: Thu Oct 14 01:42:30 2010 +0000 tcp: sack lost marking fixes When only fast rexmit should be done, tcp_mark_head_lost marks L too far. Also, sacked_upto below 1 is perfectly valid number, the packets == 0 then needs to be trapped elsewhere. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f3e85df845a5da60fc461cf49537435b1d07cf6d Author: Giuseppe Cavallaro Date: Sun Oct 17 13:43:56 2010 -0700 stmmac: remove ifdef NETIF_F_TSO from stmmac_ethtool.c Signed-off-by: Giuseppe Cavallaro Reported-by: Armando Visconti Signed-off-by: David S. Miller commit ed440e82fee9652715a8145ffee8f56396017d9a Author: Harvey Harrison Date: Wed Oct 13 18:59:13 2010 +0000 niu: introduce temp variables to avoid sparse warnings when swapping in-situ Suppress a large block of warnings like: drivers/net/niu.c:7094:38: warning: incorrect type in assignment (different base types) drivers/net/niu.c:7094:38: expected restricted __be32 [usertype] ip4src drivers/net/niu.c:7094:38: got unsigned long long drivers/net/niu.c:7104:17: warning: cast from restricted __be32 ... Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 7d08ae3c9205b559f90c3d7a3abba3c6479673c7 Author: Artem Bityutskiy Date: Sun Oct 17 15:50:19 2010 +0300 UBIFS: add a commentary about log recovery Add a commentary which elaborates that 'ubifs_recover_log_leb()' recovers only the last log LEB, not any. Also remove some unneeded newlines. Signed-off-by: Artem Bityutskiy commit 7bf4a5ddc9fbff52855cad8d4d74bf5344fe8093 Author: Tejun Heo Date: Sun Oct 17 11:25:03 2010 +0200 isdn/eicon: don't call flush_scheduled_work() from diva_os_remove_soft_isr() diva doesn't use workqueue and there is no reason to flush the system workqueue from diva_os_remove_soft_isr(). Remove it. This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Acked-by: Armin Schindler commit c08d91695b2a3349254a62b60f03f7971bd90fa0 Author: Takashi Iwai Date: Sun Oct 17 10:40:53 2010 +0200 ALSA: tlv - Define numbers in sound/tlv.h Signed-off-by: Takashi Iwai commit de8c85f7840e5e29629de95f5af24297fb325e0b Author: Clemens Ladisch Date: Fri Oct 15 10:32:50 2010 +0200 ALSA: HDA: Sigmatel: work around incorrect master muting The HDA specification does not allow for a codec to mute itself just because the volume is reduced, so _of course_ somebody had to go and do it. This wouldn'\''t hurt too much when the volume is adjusted by hand, but programs like PA that try to set the volume automatically could inadvertently mute the output. To work around this, change the TLV dB information for the Master volume on all Sigmatel HDA codecs to indicate the the minimal volume setting actually mutes. Reported-by: Colin Guthrie Reported-by: "Alexander E. Patrakov" Tested-by: Colin Guthrie Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 84cc5c0bd3ef8711793cc0af2ecc3fb8e44f4ba0 Merge: 57e3538 aa73aec Author: Takashi Iwai Date: Sun Oct 17 10:38:33 2010 +0200 Merge branch 'fix/misc' into topic/misc commit c3d226ab8b44fe31e5e6d5739eb353597cea4029 Author: David Henningsson Date: Thu Oct 14 15:42:08 2010 +0200 ALSA: HDA: Apply SKU override for Acer aspire 7736z BugLink: http://launchpad.net/bugs/617647 The current SKU value disables playback, so ignore the SKU value. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 906229174c20e3d5cbda8da070af8f30196316c3 Author: David Henningsson Date: Thu Oct 14 14:50:18 2010 +0200 ALSA: HDA: Enable SKU quirks for Realtek Realtek have ways of specifying external amps and more via a special nid or via the Codec's subsystem ID, this is called "SKU". The computer manufacturer sometimes gets this wrong, so we need to be able to override or ignore the SKU customization value. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 57e35381bc13e6f18ac1ec255ca61ba1a5103e13 Merge: 363129e 0db7102 Author: Takashi Iwai Date: Sun Oct 17 10:12:42 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit 363129ea90e0835b8552b797714cd200f674e287 Author: Mike Frysinger Date: Sat Oct 16 13:24:52 2010 -0400 ALSA: fix unused warnings with snd_power_get_state If we compile the ASoC code with PM disabled, we hit stuff like: sound/soc/soc-dapm.c: In function 'snd_soc_dapm_suspend_check': sound/soc/soc-dapm.c:440: warning: unused variable 'codec' So tweak the stub macro to avoid these issues. Signed-off-by: Mike Frysinger Signed-off-by: Takashi Iwai commit fa2eb005ebcbac89745a1f9a9f0c8678ba63f61a Author: Andrea Gelmini Date: Sat Oct 16 15:19:20 2010 +0200 sound: fixed typos Signed-off-by: Andrea Gelmini Signed-off-by: Takashi Iwai commit e1f60b292ffd61151403327aa19ff7a1871820bd Author: Nishanth Menon Date: Wed Oct 13 00:13:10 2010 +0200 PM: Introduce library for device-specific OPPs (v7) SoCs have a standard set of tuples consisting of frequency and voltage pairs that the device will support per voltage domain. These are called Operating Performance Points or OPPs. The actual definitions of OPP varies over silicon versions. For a specific domain, we can have a set of {frequency, voltage} pairs. As the kernel boots and more information is available, a default set of these are activated based on the precise nature of device. Further on operation, based on conditions prevailing in the system (such as temperature), some OPP availability may be temporarily controlled by the SoC frameworks. To implement an OPP, some sort of power management support is necessary hence this library depends on CONFIG_PM. Contributions include: Sanjeev Premi for the initial concept: http://patchwork.kernel.org/patch/50998/ Kevin Hilman for converting original design to device-based. Kevin Hilman and Paul Walmsey for cleaning up many of the function abstractions, improvements and data structure handling. Romit Dasgupta for using enums instead of opp pointers. Thara Gopinath, Eduardo Valentin and Vishwanath BS for fixes and cleanups. Linus Walleij for recommending this layer be made generic for usage in other architectures beyond OMAP and ARM. Mark Brown, Andrew Morton, Rafael J. Wysocki, Paul E. McKenney for valuable improvements. Discussions and comments from: http://marc.info/?l=linux-omap&m=126033945313269&w=2 http://marc.info/?l=linux-omap&m=125482970102327&w=2 http://marc.info/?t=125809247500002&r=1&w=2 http://marc.info/?l=linux-omap&m=126025973426007&w=2 http://marc.info/?t=128152609200064&r=1&w=2 http://marc.info/?t=128468723000002&r=1&w=2 incorporated. v1: http://marc.info/?t=128468723000002&r=1&w=2 Signed-off-by: Nishanth Menon Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit d33ac60beaf2c7dee5cd90aba7c1eb385dd70937 Author: James Hogan Date: Tue Oct 12 00:00:25 2010 +0200 PM: Add sysfs attr for rechecking dev hash from PM trace If the device which fails to resume is part of a loadable kernel module it won't be checked at startup against the magic number stored in the RTC. Add a read-only sysfs attribute /sys/power/pm_trace_dev_match which contains a list of newline separated devices (usually just the one) which currently match the last magic number. This allows the device which is failing to resume to be found after the modules are loaded again. Signed-off-by: James Hogan Signed-off-by: Rafael J. Wysocki commit 2ac21c6bc4249ee6d922f18dbec7266377592c32 Author: James Hogan Date: Mon Oct 11 23:59:58 2010 +0200 PM: Lock PM device list mutex in show_dev_hash() Lock the PM device list mutex using device_pm_lock() and device_pm_unlock() around the list iteration in show_dev_hash(). show_dev_hash() was reverse iterating dpm_list without first locking the mutex that the functions in drivers/base/power/main.c lock. I assume this was unintentional since there is no comment suggesting why the lock might not be necessary. Signed-off-by: James Hogan Signed-off-by: Rafael J. Wysocki commit f71648d73c1650b8b4aceb3856bebbde6daa3b86 Author: Rafael J. Wysocki Date: Mon Oct 11 01:02:27 2010 +0200 PM / Runtime: Remove idle notification after failing suspend If runtime suspend of a device fails returning -EAGAIN or -EBUSY, which means that it's safe to try to suspend it again, the PM core runs the runtime idle helper function for it. Unfortunately this may lead to problems, for example for PCI devices whose drivers don't implement the ->runtime_idle() callback, because in that case the PCI bus type's ->runtime_idle() always calls pm_runtime_suspend() for the given device. Then, if there's an automatic idle notification after the driver's ->runtime_suspend() returning -EAGAIN or -EBUSY, it will make the suspend happen again possibly causing a busy loop to appear. To avoid that, remove the idle notification after failing runtime suspend of a device altogether and let the callers of pm_runtime_suspend() repeat the operation if need be. Signed-off-by: Rafael J. Wysocki Acked-by: Alan Stern commit 3624eb04c24861ab296842414f9752a393e68372 Author: Rafael J. Wysocki Date: Mon Oct 4 22:08:12 2010 +0200 PM / Hibernate: Modify signature used to mark swap Since we are adding compression to the kernel's hibernate code, change signature used by it to mark swap spaces, so that earlier kernels don't attempt to restore compressed images they cannot handle. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit 71c63122c4609a917f14a79c32067a68909fc487 Author: Rafael J. Wysocki Date: Mon Oct 4 22:08:01 2010 +0200 PM / Runtime: Reduce code duplication in core helper functions Reduce code duplication in rpm_idle(), rpm_suspend() and rpm_resume() by using local pointers to store callback addresses and moving some duplicated code into a separate function. Signed-off-by: Rafael J. Wysocki Reviewed-by: Alan Stern commit dbeeec5fe868f2e2e92fe94daa2c5a047240fdc4 Author: Rafael J. Wysocki Date: Mon Oct 4 22:07:32 2010 +0200 PM: Allow wakeup events to abort freezing of tasks If there is a wakeup event during the freezing of tasks, suspend or hibernation will fail anyway. Since try_to_freeze_tasks() can take up to 20 seconds to complete or fail, aborting it as soon as a wakeup event is detected improves the worst case wakeup latency. Based on a patch from Arve HjønnevĂ¥g. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit 5fc62aad4e7779c2f04691e48b351d08c050c1f1 Author: Ming Lei Date: Wed Sep 29 00:12:22 2010 +0200 PM: runtime: add missed pm_request_autosuspend The patch "PM / Runtime: Implement autosuspend support" introduces "autosuspend" facility for runtime PM, but misses helper function of pm_request_autosuspend, so add it. Signed-off-by: Ming Lei Signed-off-by: Rafael J. Wysocki commit d0941ead3fdd31aafff992d211bcefdbff1eaedb Author: Rafael J. Wysocki Date: Tue Sep 28 23:31:22 2010 +0200 PM / Hibernate: Make some boot messages look less scary The hibernate resume code checks if there is an image to resume from on every boot and, if the kernel is built with CONFIG_PM_DEBUG set and the image is not present, it prints some scary messages suggesting there was a boot error of some sort. Apparently, some users are confused by them, so make them look less scary and adjust the other hibernate resume debug messages to match them. Signed-off-by: Rafael J. Wysocki commit 15bcb91d7e607d8a2e060f01f7784a7454668da4 Author: Alan Stern Date: Sat Sep 25 23:35:21 2010 +0200 PM / Runtime: Implement autosuspend support This patch (as1427) implements the "autosuspend" facility for runtime PM. A few new fields are added to the dev_pm_info structure and several new PM helper functions are defined, for telling the PM core whether or not a device uses autosuspend, for setting the autosuspend delay, and for marking periods of device activity. Drivers that do not want to use autosuspend can continue using the same helper functions as before; their behavior will not change. In addition, drivers supporting autosuspend can also call the old helper functions to get the old behavior. The details are all explained in Documentation/power/runtime_pm.txt and Documentation/ABI/testing/sysfs-devices-power. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 7490e44239e60293bca0c2663229050c36c660c2 Author: Alan Stern Date: Sat Sep 25 23:35:15 2010 +0200 PM / Runtime: Add no_callbacks flag Some devices, such as USB interfaces, cannot be power-managed independently of their parents, i.e., they cannot be put in low power while the parent remains at full power. This patch (as1425) creates a new "no_callbacks" flag, which tells the PM core not to invoke the runtime-PM callback routines for the such devices but instead to assume that the callbacks always succeed. In addition, the non-debugging runtime-PM sysfs attributes for the devices are removed, since they are pretty much meaningless. The advantage of this scheme comes not so much from avoiding the callbacks themselves, but rather from the fact that without the need for a process context in which to run the callbacks, more work can be done in interrupt context. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 140a6c945211ee911dec776fafa52e03a7d7bb9a Author: Alan Stern Date: Sat Sep 25 23:35:07 2010 +0200 PM / Runtime: Combine runtime PM entry points This patch (as1424) combines the various public entry points for the runtime PM routines into three simple functions: one for idle, one for suspend, and one for resume. A new bitflag specifies whether or not to increment or decrement the usage_count field. The new entry points are named __pm_runtime_idle, __pm_runtime_suspend, and __pm_runtime_resume, to reflect that they are trampolines. Simultaneously, the corresponding internal routines are renamed to rpm_idle, rpm_suspend, and rpm_resume. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 1bfee5bc86fdaecc912e06080583eddab7263df2 Author: Alan Stern Date: Sat Sep 25 23:35:00 2010 +0200 PM / Runtime: Merge synchronous and async runtime routines This patch (as1423) merges the asynchronous routines __pm_request_idle(), __pm_request_suspend(), and __pm_request_resume() with their synchronous counterparts. The RPM_ASYNC bitflag argument serves to indicate what sort of operation to perform. In the course of performing this merger, it became apparent that the various functions don't all behave consistenly with regard to error reporting and cancellation of outstanding requests. A new routine, rpm_check_suspend_allowed(), was written to centralize much of the testing, and the other functions were revised to follow a simple algorithm: If the operation is disallowed because of the device's settings or current state, return an error. Cancel pending or scheduled requests of lower priority. Schedule, queue, or perform the desired operation. A few special cases and exceptions are noted in comments. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 3f9af0513ae5b1f185302c2d0ba656640926d970 Author: Alan Stern Date: Sat Sep 25 23:34:54 2010 +0200 PM / Runtime: Replace boolean arguments with bitflags The "from_wq" argument in __pm_runtime_suspend() and __pm_runtime_resume() supposedly indicates whether or not the function was called by the PM workqueue thread, but in fact it isn't always used this way. It really indicates whether or not the function should return early if the requested operation is already in progress. Along with this badly-named boolean argument, later patches in this series will add several other boolean arguments to these functions and others. Therefore this patch (as1422) begins the conversion process by replacing from_wq with a bitflag argument. The same bitflags are also used in __pm_runtime_get() and __pm_runtime_put(), where they indicate whether or not the operation should be asynchronous. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 4769373ca2c8d0b999749a070c48fd8648888831 Author: Alan Stern Date: Sat Sep 25 23:34:46 2010 +0200 PM / Runtime: Move code in drivers/base/power/runtime.c This patch (as1421) moves the PM runtime accounting subroutines up to the beginning of runtime.c, taking them out of the middle of the functions that do the actual work. No operational changes. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 69d44ffbd772bede8c2a6d182e6e14f94826520b Author: Alan Stern Date: Sat Sep 25 23:34:22 2010 +0200 sysfs: Add sysfs_merge_group() and sysfs_unmerge_group() This patch (as1420) adds sysfs_merge_group() and sysfs_unmerge_group() functions, allowing drivers easily to add and remove sets of attributes to a pre-existing attribute group directory. Signed-off-by: Alan Stern Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 098dff738abbeaea15fc95c4f4fdaee1e9bbea75 Author: Rafael J. Wysocki Date: Wed Sep 22 22:10:57 2010 +0200 PM: Fix potential issue with failing asynchronous suspend There is a potential issue with the asynchronous suspend code that a device driver suspending asynchronously may not notice that it should back off. There are two failing scenarions, (1) when the driver is waiting for a driver suspending synchronously to complete and that second driver returns error code, in which case async_error won't be set and the waiting driver will continue suspending and (2) after the driver has called device_pm_wait_for_dev() and the waited for driver returns error code, in which case the caller of device_pm_wait_for_dev() will not know that there was an error and will continue suspending. To fix this issue make __device_suspend() set async_error, so async_suspend() doesn't need to set it any more, and make device_pm_wait_for_dev() return async_error, so that its callers can check whether or not they should continue suspending. No more changes are necessary, since device_pm_wait_for_dev() is not used by any drivers' suspend routines. Reported-by: Colin Cross Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit 074037ec79bea73edf1b1ec72fef1010e83e3cc5 Author: Rafael J. Wysocki Date: Wed Sep 22 22:09:10 2010 +0200 PM / Wakeup: Introduce wakeup source objects and event statistics (v3) Introduce struct wakeup_source for representing system wakeup sources within the kernel and for collecting statistics related to them. Make the recently introduced helper functions pm_wakeup_event(), pm_stay_awake() and pm_relax() use struct wakeup_source objects internally, so that wakeup statistics associated with wakeup devices can be collected and reported in a consistent way (the definition of pm_relax() is changed, which is harmless, because this function is not called directly by anyone yet). Introduce new wakeup-related sysfs device attributes in /sys/devices/.../power for reporting the device wakeup statistics. Change the global wakeup events counters event_count and events_in_progress into atomic variables, so that it is not necessary to acquire a global spinlock in pm_wakeup_event(), pm_stay_awake() and pm_relax(), which should allow us to avoid lock contention in these functions on SMP systems with many wakeup devices. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit 0702d9ee0f1dcb6258789032f03b3208bfafaffc Author: Kevin Cernekee Date: Mon Sep 20 22:32:10 2010 +0200 PM: Fix signed/unsigned warning in dpm_show_time() Seen on MIPS32, gcc 4.4.3, 2.6.36-rc4: drivers/base/power/main.c: In function 'dpm_show_time': drivers/base/power/main.c:415: warning: comparison of distinct pointer types lacks a cast do_div() takes unsigned parameters: uint32_t do_div(uint64_t *n, uint32_t base); Using an unsigned variable for usecs64 should not cause any problems, because calltime >= starttime . Signed-off-by: Kevin Cernekee Signed-off-by: Rafael J. Wysocki commit ac5c24ec1e983313ef0015258fba6f630e54e7cf Author: Rafael J. Wysocki Date: Mon Sep 20 19:44:56 2010 +0200 PM / Hibernate: Make default image size depend on total RAM size The default hibernation image size is currently hard coded and euqal to 500 MB, which is not a reasonable default on many contemporary systems. Make it equal 2/5 of the total RAM size (this is slightly below the maximum, i.e. 1/2 of the total RAM size, and seems to be generally suitable). Signed-off-by: Rafael J. Wysocki Tested-by: M. Vefa Bicakci commit 266f1a25eff5ff98c498d7754a419aacfd88f71c Author: Rafael J. Wysocki Date: Mon Sep 20 19:44:38 2010 +0200 PM / Hibernate: Improve comments in hibernate_preallocate_memory() One comment in hibernate_preallocate_memory() is wrong, so fix it and add one more comment to clarify the meaning of the fixed one. Signed-off-by: Rafael J. Wysocki commit bcb5ba8b4e8a5ae14b27351bdf499dd4c3bcc944 Author: Rafael J. Wysocki Date: Mon Sep 20 19:44:17 2010 +0200 PM / Runtime: Use alloc_workqueue() for creating the PM workqueue Although we need the PM workqueue to be freezable, we don't need it to be singlethread. Also, the number of concurrent work items running on a single CPU need not be constrained. For these reasons use alloc_workqueue() directly, with suitable arguments, instead of create_freezeable_workqueue(), to create the runtime PM workqueue. Signed-off-by: Rafael J. Wysocki Acked-by: Tejun Heo commit ede890c2c069d611ece0e184103a6b9236ce416a Author: Rafael J. Wysocki Date: Sun Sep 12 21:40:01 2010 +0200 PM: Fix unmet dependency warning from kconfig Fix the following build warning: warning: (PM_SLEEP_SMP && SMP && (ARCH_SUSPEND_POSSIBLE || \ ARCH_HIBERNATION_POSSIBLE) && PM_SLEEP) selects HOTPLUG_CPU which \ has unmet direct dependencies (SMP && HOTPLUG) by selecting HOTPLUG along with CPU_HOTPLUG. Signed-off-by: Rafael J. Wysocki Acked-by: Randy Dunlap commit f996fc9671d088bd5f52a70f18c64bfe3d0e418f Author: Bojan Smojver Date: Thu Sep 9 23:06:23 2010 +0200 PM / Hibernate: Compress hibernation image with LZO Compress hibernation image with LZO in order to save on I/O and therefore time to hibernate/thaw. [rjw: Added hibernate=nocompress command line option instead of just nocompress which would be confusing, fixed a couple of compiler warnings, fixed kerneldoc comments, minor cleanups.] Signed-off-by: Bojan Smojver Signed-off-by: Rafael J. Wysocki commit 05aa55dddb9ee4045c320661068bea78dad6a6e5 Author: Ohad Ben-Cohen Date: Thu Sep 9 00:46:16 2010 +0200 PM / Runtime: Lenient generic runtime pm callbacks Allow drivers, that belong to subsystems which use the generic runtime pm callbacks, not to define runtime pm suspend/resume handlers, by implicitly assuming success in such cases. This is needed to eliminate nop handlers that would otherwise be necessary by drivers which enable runtime pm, but don't need to do anything when their devices are runtime-suspended/resumed. Signed-off-by: Ohad Ben-Cohen Acked-by: Kevin Hilman Acked-by: Mark Brown Signed-off-by: Rafael J. Wysocki commit 032fa36091a925f555158f4e80f8a09d951cdb10 Author: Thomas Gleixner Date: Sat Oct 16 21:17:08 2010 +0200 arm: Use ARCH_IRQ_INIT_FLAGS The core code now initializes the requested number of interrupts and sets the flags in irq_desc.status which are requested by the architecture via ARCH_IRQ_INIT_FLAGS. Add ARCH_IRQ_INIT_FLAGS and remove the loop which sets those flags after the irq descriptors are allocated. [ This patch should have been in the original irq rework and got dropped accidentaly ] Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Linus Walleij Cc: Anand Gadiyar commit fa0d4c26be9f989816b30626f6c67d9e7ef867f8 Author: Arnd Bergmann Date: Sat Sep 11 18:24:46 2010 +0200 parisc: remove big kernel lock The parisc version of the perf code is sufficiently protected by its own spinlock, no need to use the BKL. Signed-off-by: Arnd Bergmann Cc: Kyle McMartin Cc: Helge Deller Cc: "James E.J. Bottomley" Cc: linux-parisc@vger.kernel.org commit f92f6e6ee35d2779aa62e70f78ad8e1cd417eb52 Merge: 66af86e cd254f2 Author: Ingo Molnar Date: Sat Oct 16 20:17:25 2010 +0200 Merge branch 'core' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/core commit 81ccb499e7c5ae47e988e59a4e40a6d5ee66af79 Author: Randy Dunlap Date: Wed Oct 13 15:18:59 2010 +0000 net: move MII outside of NET_ETHERNET, fix kconfig warning We have USB, PCMCIA, and gigabit ethernet drivers that select MII even though NET_ETHERNET is not enabled, so make MII not be dependent on NET_ETHERNET. It is still dependent on NET and NETDEVICES. Fixes kconfig unmet dependency warning (shortened, was very long string): warning: (ARM_AT91_ETHER && NETDEVICES && NET_ETHERNET && ARM && ARCH_AT91RM9200 || ARM_KS8695_ETHER && NETDEVICES && NET_ETHERNET && ARM && ARCH_KS8695 || ... || IP1000 && NETDEVICES && NETDEV_1000 && PCI && EXPERIMENTAL || HAMACHI && NETDEVICES && NETDEV_1000 && PCI || R8169 && NETDEVICES && NETDEV_1000 && PCI || SIS190 && NETDEVICES && NETDEV_1000 && PCI || VIA_VELOCITY && NETDEVICES && NETDEV_1000 && PCI || ATL1 && NETDEVICES && NETDEV_1000 && PCI || ATL1E && NETDEVICES && NETDEV_1000 && PCI && EXPERIMENTAL || ATL1C && NETDEVICES && NETDEV_1000 && PCI && EXPERIMENTAL || JME && NETDEVICES && NETDEV_1000 && PCI || STMMAC_ETH && NETDEV_1000 && NETDEVICES && HAS_IOMEM || USB_PEGASUS && NETDEVICES && USB && NET || USB_RTL8150 && NETDEVICES && USB && NET && EXPERIMENTAL || USB_USBNET && NETDEVICES && USB && NET || PCMCIA_SMC91C92 && NETDEVICES && NET_PCMCIA && PCMCIA) selects MII which has unmet direct dependencies (NETDEVICES && NET_ETHERNET) Signed-off-by: Randy Dunlap Acked-by: Jeff Garzik [2006-NOV-30] Signed-off-by: David S. Miller commit e00ce92e0bb966227e88d674d4f7311f4f3bacac Author: Randy Dunlap Date: Wed Oct 13 15:12:53 2010 +0000 infiniband: fix mlx4 kconfig dependency warning Fix kconfig dependency warning to satisfy dependencies: warning: (MLX4_EN && NETDEVICES && NETDEV_10000 && PCI && INET || MLX4_INFINIBAND && INFINIBAND) selects MLX4_CORE which has unmet direct dependencies (NETDEVICES && NETDEV_10000 && PCI) Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit cadb7924b10b2a3117dafe14d6d6d28035ec4ddb Author: stephen hemminger Date: Wed Oct 13 14:51:25 2010 +0000 stmmac: make function tables const These tables only contain function pointers. Signed-off-by: Stephen Hemminger Acked-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 8ee17ae68c0f1e281a432a4318fa2511e25c9492 Author: stephen hemminger Date: Wed Oct 13 14:50:31 2010 +0000 stmmac: make ethtool functions local Signed-off-by: Stephen Hemminger Acked-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 31e3c3f6f1f9b154981a0e6620df700463db30ee Author: stephen hemminger Date: Wed Oct 13 13:20:35 2010 +0000 tipc: cleanup function namespace Do some cleanups of TIPC based on make namespacecheck 1. Don't export unused symbols 2. Eliminate dead code 3. Make functions and variables local 4. Rename buf_acquire to tipc_buf_acquire since it is used in several files Compile tested only. This make break out of tree kernel modules that depend on TIPC routines. Signed-off-by: Stephen Hemminger Acked-by: Jon Maloy Acked-by: Paul Gortmaker Signed-off-by: David S. Miller commit 15419227f773b6c1b5fae44bde876078a9204caa Author: françois romieu Date: Wed Oct 13 09:26:05 2010 +0000 via-velocity: forced 1000 Mbps mode support. Full duplex only. Half duplex 1000 Mbps is not supported. Signed-off-by: David Lv Acked-by: Francois Romieu Tested-by: Seguier Regis Signed-off-by: David S. Miller commit 10da66f7552b3c7966c2f4f1f72009fb0b5539ec Author: Eric Dumazet Date: Wed Oct 13 08:22:03 2010 +0000 fib: avoid false sharing on fib_table_hash While doing profile analysis, I found fib_hash_table was sometime in a cache line shared by a possibly often written kernel structure. (CONFIG_IP_ROUTE_MULTIPATH || !CONFIG_IPV6_MULTIPLE_TABLES) It's hard to detect because not easily reproductible. Make sure we allocate a full cache line to keep this shared in all cpus caches. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 874ffa8f72444d6253d2669fed304875c128f86b Author: Eric Dumazet Date: Wed Oct 13 06:56:11 2010 +0000 fib_trie: use fls() instead of open coded loop fib_table_lookup() might use fls() to speedup an open coded loop. Noticed while doing a profile analysis. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a0a4a85a15df6335e3d11f83b2ac06ebebea313f Author: Eric Dumazet Date: Wed Oct 13 04:43:04 2010 +0000 fib: remove a useless synchronize_rcu() call fib_nl_delrule() calls synchronize_rcu() for no apparent reason, while rtnl is held. I suspect it was done to avoid an atomic_inc_not_zero() in fib_rules_lookup(), which commit 7fa7cb7109d07 added anyway. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2c1c00040af3d187b7d602dd53b5adbbf3a4caa4 Author: Eric Dumazet Date: Wed Oct 13 02:45:40 2010 +0000 fib6: use FIB_LOOKUP_NOREF in fib6_rule_lookup() Avoid two atomic ops on found rule in fib6_rule_lookup() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 725a4a465c943ab0f91fcffc3846acbcdb704aac Author: Denis Kirjanov Date: Wed Oct 13 00:56:09 2010 +0000 sundance: Add initial ethtool stats support Add ethtool stats support. Signed-off-by: Denis Kirjanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 89980827c7a1e3c2b36895c22c6ef0e92aea6b0c Author: Dan Carpenter Date: Tue Oct 12 23:36:19 2010 +0000 pch_gbe: fix if condition in set_settings() There were no curly braces in this if condition so it always enabled full duplex. And ecmd->speed is an unsigned short so it is never equal to -1. The effect is that mii_ethtool_sset() fails with -EINVAL and an error is printed to dmesg. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 35f2516f0a1f9dddb339849c7a07e089322c18c3 Author: Harvey Harrison Date: Tue Oct 12 22:20:34 2010 +0000 dnet: mark methods static and annotate for correct endianness Their doesn't appear to be bugs with the endianness handling here, just get the annotations right to keep sparse happy. Suppresses the following sparse warnings: drivers/net/dnet.c:30:5: warning: symbol 'dnet_readw_mac' was not declared. Should it be static? drivers/net/dnet.c:49:6: warning: symbol 'dnet_writew_mac' was not declared. Should it be static? drivers/net/dnet.c:364:5: warning: symbol 'dnet_phy_marvell_fixup' was not declared. Should it be static? drivers/net/dnet.c:66:13: warning: incorrect type in assignment (different base types) drivers/net/dnet.c:66:13: expected unsigned short [unsigned] [usertype] tmp drivers/net/dnet.c:66:13: got restricted __be16 [usertype] drivers/net/dnet.c:68:13: warning: incorrect type in assignment (different base types) drivers/net/dnet.c:68:13: expected unsigned short [unsigned] [usertype] tmp drivers/net/dnet.c:68:13: got restricted __be16 [usertype] drivers/net/dnet.c:70:13: warning: incorrect type in assignment (different base types) drivers/net/dnet.c:70:13: expected unsigned short [unsigned] [usertype] tmp drivers/net/dnet.c:70:13: got restricted __be16 [usertype] drivers/net/dnet.c:92:27: warning: cast to restricted __be16 drivers/net/dnet.c:94:33: warning: cast to restricted __be16 drivers/net/dnet.c:96:33: warning: cast to restricted __be16 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 65495745d7d617893f368bf5580353f5d2d88908 Author: Harvey Harrison Date: Tue Oct 12 21:52:26 2010 +0000 cxgb4vf: make single bit signed bitfields unsigned Single bit signed bitfields don't make a lot of sense, noticed by sparse: drivers/net/cxgb4vf/t4vf_common.h:135:31: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:136:36: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:137:36: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:138:36: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:139:36: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:140:31: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:141:31: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:142:35: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:143:35: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:154:27: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:155:26: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:156:27: error: dubious one-bit signed bitfield drivers/net/cxgb4vf/t4vf_common.h:157:26: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 564824b0c52c34692d804bb6ea214451615b0b50 Author: Eric Dumazet Date: Mon Oct 11 19:05:25 2010 +0000 net: allocate skbs on local node commit b30973f877 (node-aware skb allocation) spread a wrong habit of allocating net drivers skbs on a given memory node : The one closest to the NIC hardware. This is wrong because as soon as we try to scale network stack, we need to use many cpus to handle traffic and hit slub/slab management on cross-node allocations/frees when these cpus have to alloc/free skbs bound to a central node. skb allocated in RX path are ephemeral, they have a very short lifetime : Extra cost to maintain NUMA affinity is too expensive. What appeared as a nice idea four years ago is in fact a bad one. In 2010, NIC hardwares are multiqueue, or we use RPS to spread the load, and two 10Gb NIC might deliver more than 28 million packets per second, needing all the available cpus. Cost of cross-node handling in network and vm stacks outperforms the small benefit hardware had when doing its DMA transfert in its 'local' memory node at RX time. Even trying to differentiate the two allocations done for one skb (the sk_buff on local node, the data part on NIC hardware node) is not enough to bring good performance. Signed-off-by: Eric Dumazet Acked-by: Tom Herbert Signed-off-by: David S. Miller commit 6f0333b8fde44b8c04a53b2461504f0e8f1cebe6 Author: Eric Dumazet Date: Mon Oct 11 11:17:47 2010 +0000 r8169: use 50% less ram for RX ring Using standard skb allocations in r8169 leads to order-3 allocations (if PAGE_SIZE=4096), because NIC needs 16383 bytes, and skb overhead makes this bigger than 16384 -> 32768 bytes per "skb" Using kmalloc() permits to reduce memory requirements of one r8169 nic by 4Mbytes. (256 frames * 16Kbytes). This is fine since a hardware bug requires us to copy incoming frames, so we build real skb when doing this copy. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 05d0ca85c91013d5f73c43fb566bde09a9718019 Author: Anand Gadiyar Date: Thu Oct 14 22:59:57 2010 +0530 genirq, ARM: Fix boot on ARM platforms Commit b683de2b3 in linux-next as of 20101014 (genirq: Query arch for number of early descriptors) seems to have broken bootup on several ARM boards - my beagleboard gives the following dump with earlyprintk: NR_IRQS:402 Unable to handle kernel NULL pointer dereference at virtual address 00000028 pgd = c0004000 [00000028] *pgd=00000000 Internal error: Oops: 5 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.36-rc7-next-20101014-linux-next-20101012+ #40) PC is at init_IRQ+0x14/0x48 LR is at start_kernel+0x150/0x2c0 [...] We seem to be using desc->status without assigning desc to anything. Fix this by adding back the code that was originally there. Signed-off-by: Anand Gadiyar Tested-by: Linus Walleij Cc: Russell King Cc: linux-arm-kernel@lists.infradead.org LKML-Reference: <1287077397-21781-1-git-send-email-gadiyar@ti.com> Signed-off-by: Ingo Molnar commit 66af86e2c630908b21cec018cb612576cf5f516e Merge: 0fdf136 85caa99 Author: Ingo Molnar Date: Sat Oct 16 14:48:58 2010 +0200 Merge branch 'tip/perf/recordmcount' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 97299c726881603f44c30be8718c24015e7a4676 Author: Tejun Heo Date: Fri Oct 15 16:58:21 2010 +0200 pcmcia: don't call flush_scheduled_work() spuriously au100_generic and soc_common call flush_scheduled_work() spuriously. Remove them. This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Signed-off-by: Dominik Brodowski commit 0f64f70e9c029450e38fcc496148ffc9256bf8c1 Author: Tejun Heo Date: Fri Oct 15 17:04:45 2010 +0200 serial_cs: drop spurious flush_scheduled_work() call serial_cs doesn't use the system workqueue. Drop spurious flush_scheduled_work() call. This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo Signed-off-by: Dominik Brodowski commit ee2007d299ad4020115b193858817e6c57e95db5 Author: Matthias Brugger Date: Sat Oct 16 01:39:49 2010 +0200 spi/atmel: typo in debug message This patches a typo in the debug message. Signed-off-by: Matthias Brugger Signed-off-by: Grant Likely commit c64557d666eb62eb5f296c6b93bd0a5525ed1e36 Merge: 1a63c35 0d91f22 Author: John W. Linville Date: Fri Oct 15 16:11:56 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 2decd65a2630633cee04d0b83fdcee46ad2989a1 Author: Jeff Liu Date: Tue Oct 12 11:18:18 2010 +0800 ocfs2: Avoid to evaluate xattr block flags again. It was evaludated to indexed before, check it is ok i think. Signed-off-by: Jeff Liu Signed-off-by: Joel Becker commit fc3718918f13ad72827d62d36ea0f5fb55090644 Merge: 7bdb0d1 d4396ea Author: Joel Becker Date: Fri Oct 15 13:03:09 2010 -0700 Merge branch 'globalheartbeat-2' of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2-merge-window Conflicts: fs/ocfs2/ocfs2.h commit 1a63c353c856c9f6d44a533afb6ad6dbbcdea683 Merge: 7662ff4 b3c0598 Author: John W. Linville Date: Fri Oct 15 16:00:02 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 into for-davem commit 0d91f22b75347d9503b17a42b6c74d3f7750acd6 Author: Julia Lawall Date: Fri Oct 15 15:00:06 2010 +0200 drivers/net/wireless/p54/eeprom.c: Return -ENOMEM on memory allocation failure In this code, 0 is returned on memory allocation failure, even though other failures return -ENOMEM or other similar values. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression ret; expression x,e1,e2,e3; @@ ret = 0 ... when != ret = e1 *x = \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != ret = e2 if (x == NULL) { ... when != ret = e3 return ret; } // Signed-off-by: Julia Lawall Cc: Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 6cf9e995f91e5bbffb2bef85feef490e5b67605d Author: Ben Greear Date: Thu Oct 14 12:45:30 2010 -0700 ath9k: Null out references to stale pointers. This doesn't fix any problem that I'm aware of, but should make it harder to add use-after-free type bugs in the future. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit c1739eb3e61e160f124bc842c219011916f63068 Author: Ben Greear Date: Thu Oct 14 12:45:29 2010 -0700 ath9k: Remove bf_dmacontext. The bf_dmacontext seems to be totally useless and duplicated by bf_buf_addr. Remove it entirely, use bf_buf_addr in its place. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 5161bec5a8b3509b8cf69418129a191cf90bbd87 Author: RafaÅ‚ MiÅ‚ecki Date: Thu Oct 14 21:16:33 2010 +0200 b43: N-PHY: put 2056-radio's specific code in separated file Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 886b42bf5e54098061c8bae3d5e292a8b6897401 Author: Luis R. Rodriguez Date: Thu Oct 14 11:44:27 2010 -0700 ath9k_hw: remove AR9003 2.0 support These chipsets will not hit the market, all customers will be on >= AR9003 2.2. This shaves down the ath9k_hw size by 24161 bytes (24 KB) on my system. Before: $ size drivers/net/wireless/ath/ath9k/ath9k_hw.ko text data bss dec hex filename 292328 616 1824 294768 47f70 drivers/net/wireless/ath/ath9k/ath9k_hw.ko $ du -b drivers/net/wireless/ath/ath9k/ath9k_hw.ko 5987825 drivers/net/wireless/ath/ath9k/ath9k_hw.ko After: $ size drivers/net/wireless/ath/ath9k/ath9k_hw.ko text data bss dec hex filename 277192 616 1824 279632 44450 drivers/net/wireless/ath/ath9k/ath9k_hw.ko $ du -b drivers/net/wireless/ath/ath9k/ath9k_hw.ko 5963664 drivers/net/wireless/ath/ath9k/ath9k_hw.ko Cc: Yixiang Li Cc: Don Breslin Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6db507ff9232cc3874306f7b25b399cb2cdc1675 Author: RafaÅ‚ MiÅ‚ecki Date: Thu Oct 14 19:33:36 2010 +0200 b43: N-PHY: put radio-specific code in separated file Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 5818e989360b06d249cf1d88e7d4601ca70a7322 Author: RafaÅ‚ MiÅ‚ecki Date: Thu Oct 14 19:33:35 2010 +0200 b43: N-PHY: fix typo: read table when caching IQ LO calibration (do not write) Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 204a665ba390bca861ad7b1a061f3ccded0e7eab Author: RafaÅ‚ MiÅ‚ecki Date: Thu Oct 14 19:33:34 2010 +0200 b43: N-PHY: replace N-specific radio_chanspec with common code Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 9ebad4ab87f2ffa6eca825327721e647c7457264 Author: Johannes Berg Date: Thu Oct 14 13:41:35 2010 +0200 radiotap: fix vendor namespace parsing There's a bug with radiotap vendor namespace parsing if you don't register for the given namespace extensions. Fix this by passing only the unknown vendor namespaces and the registered data to frontends, but not both. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 94a40c0c6bcc47ceba12e0247c5a23fb1e6c81e4 Author: Rajkumar Manoharan Date: Thu Oct 14 10:50:26 2010 +0530 ath9k_htc: set probe request rx filter This patch enables to receive probe request frames on p2p client mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4f329c043ba3495f0f97ec782948cbba7bd01047 Author: Paul Fox Date: Wed Oct 13 20:14:56 2010 +0100 libertas: Communicate USB transfer errors The return code was being overwritten with -1. Useful for debugging. Signed-off-by: Paul Fox Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit d4659912b557e9f68c0ad8be14e2cafd3210dd16 Author: Felix Fietkau Date: Thu Oct 14 16:02:39 2010 +0200 ath9k_hw: remove enum wireless_mode and its users The wireless mode bitfield was only used to detect 2.4 and 5 GHz support, which can be simplified by using ATH9K_HW_CAP_* capabilities. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4e9900180eb72b3b22fc9742999045b11607eb24 Author: Felix Fietkau Date: Wed Oct 13 16:43:27 2010 +0200 ath9k: remove sc->cur_rate_table and sc->cur_rate_mode Set the rate table in the rc module properly based on band and HT capabilities instead, which was already partially done, but not for every mode. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 772d5515635fef5bc7a9d0efee785b58b0181ee5 Author: Felix Fietkau Date: Wed Oct 13 16:43:26 2010 +0200 ath9k: make rate control debugfs stats per station Move them to the same debugfs file that the other rc modules use. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 88eac2dad876a58b9c6a4c4805c3fc27b02c048f Author: Felix Fietkau Date: Tue Oct 12 16:08:03 2010 +0200 ath9k: add missing locking around ath9k_hw_proc_mib_event ath9k_hw_proc_mib_event updates the cycle counters, so it common->cc_lock must be acquired. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 431c74821432a6078d54f08de7cd561f8ef8f1ba Author: Felix Fietkau Date: Tue Oct 12 16:08:02 2010 +0200 ath9k_hw: fix PHY counter overflow handling in ANI v1 PHY counter overflows need to be checked for the old ANI version, because of its use of interrupt based counter overflow reports when the counters exceed the configured thresholds. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e49f913750bb8745085cc4c547912c330cd3eacb Author: Felix Fietkau Date: Tue Oct 12 16:08:01 2010 +0200 ath9k_hw: fix division by zero in the ANI monitor code The commit "ath9k_hw: remove code duplication in phy error counter handling" split off some duplicate code into a separate function, but did not have a return code for aborting ANI processing based on counter values. This introduced a divide by zero issue. This patch adds the missing return code check in ath9k_hw_ani_monitor Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 898c914a0871ea7e5557b77156d4358c0f15d98a Author: Felix Fietkau Date: Tue Oct 12 14:02:53 2010 +0200 ath9k: do not track cycle counter updates in powersave mode While the chip is in powersave mode, the cycle counter updates do not contain useful values. While the chip is in full sleep, the rx_clear signal stays high, indicating a busy medium. To ensure sane values, update cycle counters before going into powersave, and clear them right after switching back to awake. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 40ffa93791985ab300fd488072e9f37ccf72e88c Author: Thomas Gleixner Date: Fri Oct 15 21:08:14 2010 +0200 x86: Remove stale pmtimer_64.c This file is unused since the apic unification in 2.6.29, but nobody noticed. Signed-off-by: Thomas Gleixner commit d4396eafe402b710a8535137b3bf2abe6c059a15 Author: Sunil Mushran Date: Fri Oct 15 11:57:21 2010 -0700 ocfs2/cluster: Release debugfs file elapsed_time_in_ms An earlier commit forgot to remove a debugfs file, elapsed_time_in_ms. Signed-off-by: Sunil Mushran commit 2f4f26fcf393ef4a44abe10e79c1966e64e86055 Author: Jeff Layton Date: Wed Oct 13 18:50:39 2010 -0400 cifs: eliminate cifs_posix_open_inode_helper cifs: eliminate cifs_posix_open_inode_helper This function is redundant. The only thing it does is set the canCache flags, but those get set in cifs_new_fileinfo anyway. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit 940b3c7b193ec54141976a8642c00582f423690c Author: Thomas Gleixner Date: Fri Oct 15 19:36:26 2010 +0200 x86: sfi: Make local functions static Signed-off-by: Thomas Gleixner Cc: Len Brown commit 7662ff46b7b3678162ce125903115e4ab0607a2d Author: John Fastabend Date: Fri Oct 15 09:27:38 2010 -0700 ixgbe: DCB: remove DCB check config Remove a DCB check config from DCB configuration we continue to configure DCB even if it fails so don't even bother to check. Plus user space (lldpad) checks this before programming the hw anyways. Worse case is we program some values into the hw that don't make total sense resulting in incorrect bandwidth allocation. Signed-off-by: John Fastabend Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 85caa993d7f218b7c2abcfcb28e212396b6a3313 Author: Steven Rostedt Date: Fri Oct 15 12:09:25 2010 -0400 ftrace: Use objtree for C version of recordmcount The C version of recordmcount is compiled to a binary, which will end up located in the objtree. If the kernel is built with O=path, the srctree will not include the binary recordmcount caller. Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Signed-off-by: Steven Rostedt commit e5690e0dcffe38fa7b4b6336169a0c518d8a688e Author: Paul Mundt Date: Sat Oct 16 00:51:05 2010 +0900 sh: clkfwk: Fix fault in frequency iterator. When updating the iterator macro an old argument assignment was used on the initial assignment causing a fault on the table rounding. Fix it up. Signed-off-by: Paul Mundt commit 444758636439810f110f86a3042c2dfd3626a9e2 Author: Steven Rostedt Date: Fri Oct 15 11:49:47 2010 -0400 ftrace: Do not process kernel/trace/ftrace.o with C recordmcount program The file kernel/trace/ftrace.c references the mcount() call to convert the mcount() callers to nops. But because it references mcount(), the mcount() address is placed in the relocation table. The C version of recordmcount reads the relocation table of all object files, and it will add all references to mcount to the __mcount_loc table that is used to find the places that call mcount() and change the call to a nop. When recordmcount finds the mcount reference in kernel/trace/ftrace.o, it saves that location even though the code is not a call, but references mcount as data. On boot up, when all calls are converted to nops, the code has a safety check to determine what op code it is actually replacing before it replaces it. If that op code at the address does not match, then a warning is printed and the function tracer is disabled. The reference to mcount in ftrace.c, causes this warning to trigger, since the reference is not a call to mcount(). The ftrace.c file is not compiled with the -pg flag, so no calls to mcount() should be expected. This patch simply makes recordmcount.c skip the kernel/trace/ftrace.c file. This was the same solution used by the perl version of recordmcount. Reported-by: Ingo Molnar Cc: John Reiser Signed-off-by: Steven Rostedt commit 6221ddd0f5e2ddc1d5d928119a2cde033d16f96d Author: Suresh Jayaraman Date: Fri Oct 1 21:23:33 2010 +0530 cifs: handle FindFirst failure gracefully FindFirst failure due to permission errors or any other errors are silently ignored by cifs_readdir(). This could cause problem to applications that depend on the error to do further processing. Reproducer: - mount a cifs share - mkdir tdir;touch tdir/1 tdir/2 tdir/3 - chmod -x tdir - ls tdir Currently, we start calling filldir() for '.' and '..' before we know we whether FindFirst could succeed or not. If FindFirst fails later, there is no way to notify VFS by setting buf.error and so VFS won't be able to catch this. Fix this by moving the call to initiate_cifs_search() before we start doing filldir(). This fixes https://bugzilla.samba.org/show_bug.cgi?id=7535 Reported-by: Tom Dexter Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 4ea6e4ffb4acdaaf9ba7687dbd84ae36e26cef9e Author: Nikolai Kondrashov Date: Wed Sep 15 14:51:14 2010 +0400 HID: add absolute axis resolution calculation Add absolute axis resolution calculation to the core HID layer, according to HID specification v1.11 6.2.2.7 Global Items. Only exponent 1 length units for X/Y/Z/RX/RY/RZ axis are supported for now. Signed-off-by: Nikolai Kondrashov Signed-off-by: Jiri Kosina commit 776c163b1b93c8dfa5edba885bc2bfbc2d228a5f Author: Arnd Bergmann Date: Wed Jul 7 23:10:11 2010 +0200 vfs: make no_llseek the default All file operations now have an explicit .llseek operation pointer, so we can change the default action for future code. This makes changes the default from default_llseek to no_llseek, which always returns -ESPIPE if a user tries to seek on a file without a .llseek operation. The name of the default_llseek function remains unchanged, if anyone thinks we should change it, please speak up. Signed-off-by: Arnd Bergmann Cc: Christoph Hellwig Cc: Al Viro Cc: linux-fsdevel@vger.kernel.org commit ab91261f5c43f196ec7ff1d113847b87b7606b26 Author: Arnd Bergmann Date: Wed Jul 7 22:55:17 2010 +0200 vfs: don't use BKL in default_llseek There are currently 191 users of default_llseek. Nine of these are in device drivers that use the big kernel lock. None of these ever touch file->f_pos outside of llseek or file_pos_write. Consequently, we never rely on the BKL in the default_llseek function and can replace that with i_mutex, which is also used in generic_file_llseek. Signed-off-by: Arnd Bergmann commit 6038f373a3dc1f1c26496e60b6c40b164716f07e Author: Arnd Bergmann Date: Sun Aug 15 18:52:59 2010 +0200 llseek: automatically add .llseek fop All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: Arnd Bergmann Cc: Julia Lawall Cc: Christoph Hellwig commit 495d2b3883682fcd1c3dee3a45e38fd00154ae25 Author: Martin K. Petersen Date: Fri Oct 15 15:49:20 2010 +0200 block: Make the integrity mapped property a bio flag Previously we tracked whether the integrity metadata had been remapped using a request flag. This was fine for low-level retries. However, if an I/O was redriven by upper layers we would end up remapping again, causing the retry to fail. Deprecate the REQ_INTEGRITY flag and introduce BIO_MAPPED_INTEGRITY which enables filesystems to notify lower layers that the bio in question has already been remapped. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit e817bf3f68f55e7307c3e9abe5f32d0c05c83988 Author: Martin K. Petersen Date: Fri Oct 15 15:49:18 2010 +0200 block: Fix double free in blk_integrity_unregister Commit 3839e4b introduced a kobject_put but failed to remove the kmem_cache_free beneath it, leading to a double free. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 46bf36ecec79bbe5373ef68f0ed36cbf62e03482 Author: Christoph Hellwig Date: Fri Oct 15 05:45:00 2010 -0700 hfsplus: fix getxattr return value We need to support -EOPNOTSUPP for attributes that are not supported to match other filesystems and allow userspace to detect if Posix ACLs are supported or not. setxattr already gets this right. Signed-off-by: Christoph Hellwig commit a5360df9413987ed56ce8cffad678e557eff92e1 Author: Wolfram Sang Date: Fri Oct 15 14:18:21 2010 +0200 pcmcia/yenta: guide users in case of problems with O2-bridges Some cards need the speedups on, some need them off. As we can't detect this reliably, at least give the users a hint how to tweak the system. Reported-by: David Bluecame Signed-off-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 5dbfe7aedf54aa7f62fd659e34371d4ea0e7bffe Author: Lars Ellenberg Date: Fri Oct 15 09:52:46 2010 +0200 drbd: add race-breaker to drbd_go_diskless This adds a necessary race breaker to these commits: drbd: fix for possible deadlock on IO error during resync drbd: drop wrong debug asserts, fix recently introduced race What we do is get a refcount, check the state, then depending on the state and the requested minimum disk state, either hold it (success), or give it back immediately (failed "try lock"). Some code paths (flushing of drbd metadata) may still grab and hold a refcount even if we are D_FAILED (application IO won't). So even if we hit local_cnt == 0 once after being D_FAILED, we still need to wait for that again after we changed to D_DISKLESS. Once local_cnt reaches 0 while we are D_DISKLESS, we can be sure that no one will look at the protected members anymore, so only then is it safe to free them. We cannot easily convert to standard locking primitives here, as we want to be able to use it in atomic context (we always do a "try lock"), as well as hold references for a "long time" (from IO submission to completion callback). Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 630f2d445f922c9dcf1bb54ffde78685e2c63072 Author: Guennadi Liakhovetski Date: Fri Oct 15 08:58:00 2010 +0200 fbdev: sh_mobile_hdmi: fix compilation without SOUND enabled At least two more Kconfig options have to be selected to be able to compile sh_mobile_hdmi. Signed-off-by: Guennadi Liakhovetski Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit e65d255a5a610ce9e185e0df855250706aca7c21 Author: Peter Hsiang Date: Wed Oct 13 20:30:43 2010 -0700 ASoC: Add max98088 CODEC driver This patch adds the MAX98088 CODEC driver. Signed-off-by: Peter Hsiang Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d42a280dc76c04f39d1f9a374cf5c23318c49004 Author: Mika Westerberg Date: Thu Oct 14 17:49:08 2010 +0300 ASoC: ep93xx: add Simplemachines Sim.One AC97 audio support Add AC97 audio support for Simplemachines Sim.One board. Signed-off-by: Mika Westerberg Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 534bc7fa3c0a9084e7a2db33898d92577c64e4eb Author: Mika Westerberg Date: Thu Oct 14 17:49:07 2010 +0300 ARM: ep93xx: add AC97 platform support Add platform support for the EP93xx AC97 controller driver. Signed-off-by: Mika Westerberg Acked-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Mark Brown commit aa7e1b84c6d424264bab8c29b14ebbc906488853 Author: Mika Westerberg Date: Thu Oct 14 17:49:06 2010 +0300 ASoC: add ep93xx AC97 audio driver Add support for AC97 controllers found in Cirrus Logic EP93xx family SoCs. Signed-off-by: Mika Westerberg Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a34712391a66260e442a9ab1eb7edb22a2d0ca3c Author: Kuninori Morimoto Date: Fri Oct 15 14:23:18 2010 +0900 ASoC: ak4642: make sure name of register/value This patch replace magic code with defined name, and remove unnecessary settings which set default value Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c14c05c19f2a2ab87b8ebabd245f53945a97695b Author: Joe Perches Date: Wed Oct 13 08:19:51 2010 -0700 ASoC: Remove unused vol field from WM8994 access mask table Remove unused vol from struct access_mask Reduces object size ~3kb. $ size sound/soc/codecs/wm8994.o* text data bss dec hex filename 40727 4384 4480 49591 c1b7 sound/soc/codecs/wm8994.o.new 43879 4384 4480 52743 ce07 sound/soc/codecs/wm8994.o.old Signed-off-by: Joe Perches Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit cd254f295248c98b62ea824f361e10d80a081fe7 Author: Robert Richter Date: Fri Oct 15 11:28:07 2010 +0200 oprofile: make !CONFIG_PM function stubs static inline Make !CONFIG_PM function stubs static inline and remove section attribute. Signed-off-by: Robert Richter commit b3b3a9b63f2deacfd59137e3781211d21a568ca9 Author: Anand Gadiyar Date: Thu Oct 14 11:31:42 2010 -0400 oprofile: fix linker errors Commit e9677b3ce (oprofile, ARM: Use oprofile_arch_exit() to cleanup on failure) caused oprofile_perf_exit to be called in the cleanup path of oprofile_perf_init. The __exit tag for oprofile_perf_exit should therefore be dropped. The same has to be done for exit_driverfs as well, as this function is called from oprofile_perf_exit. Else, we get the following two linker errors. LD .tmp_vmlinux1 `oprofile_perf_exit' referenced in section `.init.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o make: *** [.tmp_vmlinux1] Error 1 LD .tmp_vmlinux1 `exit_driverfs' referenced in section `.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Anand Gadiyar Cc: Will Deacon Signed-off-by: Robert Richter commit 277dd984172b063497d2ff6cfa7f2355f13a292d Author: Anand Gadiyar Date: Thu Oct 14 11:31:43 2010 -0400 oprofile: include platform_device.h to fix build break oprofile_perf.c needs to include platform_device.h Otherwise we get the following build break. CC arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.o arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:192: warning: 'struct platform_device' declared inside parameter list arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:192: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:201: warning: 'struct platform_device' declared inside parameter list arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:210: error: variable 'oprofile_driver' has initializer but incomplete type arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:211: error: unknown field 'driver' specified in initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:211: error: extra brace group at end of initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:211: error: (near initialization for 'oprofile_driver') arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:213: warning: excess elements in struct initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:213: warning: (near initialization for 'oprofile_driver') arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:214: error: unknown field 'resume' specified in initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:214: warning: excess elements in struct initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:214: warning: (near initialization for 'oprofile_driver') arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:215: error: unknown field 'suspend' specified in initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:215: warning: excess elements in struct initializer arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c:215: warning: (near initialization for 'oprofile_driver') arch/arm/oprofile/../../../drivers/oprofile/oprofile_perf.c: In function 'init_driverfs': Signed-off-by: Anand Gadiyar Cc: Matt Fleming Cc: Will Deacon Signed-off-by: Robert Richter commit 6268464b370e234e0255330190f9bd5d19386ad7 Merge: 7df01d9 0fdf136 Author: Robert Richter Date: Fri Oct 15 12:45:00 2010 +0200 Merge remote branch 'tip/perf/core' into oprofile/core Conflicts: arch/arm/oprofile/common.c kernel/perf_event.c commit 93193c2bbcd83bf8bf43433cfb1868d4ca0ac351 Author: Kuninori Morimoto Date: Tue Oct 12 19:19:28 2010 +0900 ASoC: fsi: simultaneous playback/recorde support Current FSI driver had not cared about simultaneous playback/capture on same port. This patch add new fsi_stream struct to care it, Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b67089e4c258a3a4ea8e23ceea4a5b7f8c3099d7 Author: Seungwhan Youn Date: Tue Oct 12 20:58:52 2010 +0900 ASoC: SAMSUNG: Add Machine driver for S/PDIF PCM audio This patch add S/PDIF machine driver to support S/PDIF PCM audio on SMDKC100, SMDKC110 and SMDKV210 boards. Signed-off-by: Seungwhan Youn Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit fc127ccccc5de164d490e8a55a1c2c126293e96f Author: Seungwhan Youn Date: Tue Oct 12 20:51:23 2010 +0900 ASoC: SAMSUNG: Add S/PDIF CPU driver This patch adds S/PDIF CPU driver for various Samsung SoCs. Signed-off-by: Seungwhan Youn Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8e122db61c98debbc35e26dd29504958cbcf2cbb Author: Paul Mundt Date: Fri Oct 15 18:33:24 2010 +0900 sh: clkfwk: Add a helper for rate rounding by divisor ranges. This adds a new clk_rate_div_range_round() for implementing rate rounding by divisor ranges. This can be used trivially by clocks that support arbitrary ranged divisors without the need for rate table construction. This should only be used by clocks that both have large divisor ranges in addition to clocks that will never be arbitrarily scaled, as the lack of a backing frequency table will prevent cpufreq from being able to do much of anything with them. Primarily intended for use as a ->recalc helper. Signed-off-by: Paul Mundt commit f586903d27e2503a3e7d427b3d665bbaf1b7f4d4 Author: Paul Mundt Date: Fri Oct 15 18:17:35 2010 +0900 sh: clkfwk: Abstract rate rounding helper. Presently the only assisted rate rounding is frequency table backed, but there are cases where it's impractical to use a frequency table for certain clocks (such as the FSIDIV case, which supports 65535 divisors), and we wish to reuse the same rate rounding algorithm. This breaks out the core of the rate rounding logic in to its own helper routine and shuffles the frequency table logic around, switching to using an iterator for the generic helper routine. Signed-off-by: Paul Mundt commit ac7241211ded714873e8dc6d2f7c98ae7ea2cc30 Author: Lars Ellenberg Date: Thu Oct 7 15:18:08 2010 +0200 drbd: use dynamic_dev_dbg to optionally log uuid changes Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit be70e2671b95a8982ff133ebaafff6399ad393d4 Author: Philipp Reisner Date: Thu Oct 14 11:58:20 2010 +0200 dynamic_debug.h: Fix dynamic_dev_dbg() macro if CONFIG_DYNAMIC_DEBUG not set Signed-off-by: Philipp Reisner commit 28085bc5de19cad365bcff98e9c8785c397c7c36 Author: Paul Mundt Date: Fri Oct 15 16:46:37 2010 +0900 sh: clkfwk: support clock remapping. This implements support for ioremapping of register windows that encapsulate clock control registers used by a struct clk, with transparent sibling inheritance. Root clocks at the top of a given topology often encapsulate the entire register space of all of their sibling clocks, so this mapping can be done once and handed down. A given clock enable/disable case maps out to a single bit in a shared register, so this prevents creating multiple overlapping mappings. The mapping case breaks down in to a couple of different situations: - Sibling clocks without a specific mapping. - Root clocks without a specific mapping. - Any of sibling/root clocks with a specific mapping. Sibling clocks with no specified mapping will grovel up the clock chain and install the root clock mapping unconditionally at registration time. Root clocks without their own mappings have a dummy BSS-initialized mapping inserted that is handed down the chain just like any other mapping. This permits all of the sibling clock ops to read/write using the mapping offsets without any special configuration, enabling them to not care whether access ultimately goes through translatable or untranslatable memory. Any clock with its own mapping will have the window initialized at registration time and be ready for use by its clock ops. Failure to establish the mapping will prevent registration, so no additional sanity checks are needed. Sibling clocks that double as parents for the moment will not propagate their mapping down, but this is easily tunable if the need arises. All clock mappings are kref refcounted, with each instance of mapping inheritance incrementing the refcount. Tested-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 9e9006e9090dc1f88d5127cb69f416013e7ecd60 Author: Randy Dunlap Date: Thu Oct 14 10:13:13 2010 -0700 x86, olpc: XO-1 uses/depends on PCI olpc-xo1 uses pci_*() interfaces so it should depend on PCI. Otherwise we get build failure like: arch/x86/kernel/olpc-xo1.c:65: error: implicit declaration of function 'pci_enable_device_io' arch/x86/kernel/olpc-xo1.c:71: error: implicit declaration of function 'pci_request_region' arch/x86/kernel/olpc-xo1.c:80: error: implicit declaration of function 'pci_release_region' Signed-off-by: Randy Dunlap Acked-by: Daniel Drake Cc: Stephen Rothwell LKML-Reference: <20101014101313.adf7eb2a.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 0fdf13606b67f830559abdaad15980c7f4f05ec4 Merge: d9d572a cf4db25 Author: Ingo Molnar Date: Fri Oct 15 06:12:28 2010 +0200 Merge branch 'tip/perf/recordmcount-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit cf4db2597ae93b60efc0a7a4ec08690b75d629b1 Author: Steven Rostedt Date: Thu Oct 14 23:32:44 2010 -0400 ftrace: Rename config option HAVE_C_MCOUNT_RECORD to HAVE_C_RECORDMCOUNT The config option used by archs to let the build system know that the C version of the recordmcount works for said arch is currently called HAVE_C_MCOUNT_RECORD which enables BUILD_C_RECORDMCOUNT. To be more consistent with the name that all archs may use, it has been renamed to HAVE_C_RECORDMCOUNT. This will be less confusing since we are building a C recordmcount and not a mcount_record. Suggested-by: Ingo Molnar Cc: Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Cc: John Reiser Signed-off-by: Steven Rostedt commit d9d572a9c0195486e3baf0d8d6a710196a707335 Merge: 3cba11d ebc8827 Author: Ingo Molnar Date: Fri Oct 15 05:12:45 2010 +0200 Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core commit 6a1c9dfe4186f18fed38421b35b40fb9260cbfe1 Merge: e0dc09f 2989b72 Author: Benjamin Herrenschmidt Date: Fri Oct 15 10:45:03 2010 +1100 Merge remote branch 'jwb/next' into next commit a80be1680502f99de5f9565c491208e90a9a3afe Author: Paul Mundt Date: Fri Oct 15 06:15:56 2010 +0900 sh: pci: Convert to upper/lower_32_bits() helpers. Instead of hand-rolling our own, just use the generic ones instead. Signed-off-by: Paul Mundt commit c28d5077f8d79bfce1e3f88db2e261cf2b6473dc Author: Steven Rostedt Date: Wed Oct 13 19:06:14 2010 -0400 ftrace: Remove duplicate code for 64 and 32 bit in recordmcount.c The elf reader for recordmcount.c had duplicate functions for both 32 bit and 64 bit elf handling. This was due to the need of using the 32 and 64 bit elf structures. This patch consolidates the two by using macros to define the 32 and 64 bit names in a recordmcount.h file, and then by just defining a RECORD_MCOUNT_64 macro and including recordmcount.h twice we create the funtions for both the 32 bit version as well as the 64 bit version using one code source. Cc: John Reiser Signed-off-by: Steven Rostedt commit 72441cb1fd77d092f09ddfac748955703884c9a7 Author: Steven Rostedt Date: Wed Oct 13 17:12:30 2010 -0400 ftrace/x86: Add support for C version of recordmcount This patch adds the support for the C version of recordmcount and compile times show ~ 12% improvement. After verifying this works, other archs can add: HAVE_C_MCOUNT_RECORD in its Kconfig and it will use the C version of recordmcount instead of the perl version. Cc: Cc: Michal Marek Cc: linux-kbuild@vger.kernel.org Cc: John Reiser Signed-off-by: Steven Rostedt commit 2c184cd393d1410bb43ac656a6480849fe886b1d Author: Timur Tabi Date: Thu Oct 7 09:36:43 2010 +0000 powerpc/85xx: add DIU support to the Freecale P1022DS reference board The Freescale P1022DS has an on-chip video controller called the DIU, and a driver for this device already exists. Update the platform file for the P1022DS reference board to enable the driver, and update the defconfig for Freescale MPC85xx boards to add the driver. [Edited to resolve header add/add conflict and drop #define DEBUG. -- broonie] Signed-off-by: Timur Tabi Acked-by: Kumar Gala Signed-off-by: Mark Brown commit 81d3858d3131a589cade0d8b57f95cc1fc699b89 Author: John Reiser Date: Wed Oct 13 15:12:54 2010 -0400 ftrace: Add C version of recordmcount compile time code Currently, the mcount callers are found with a perl script that does an objdump on every file in the kernel. This is a C version of that same code which should increase the performance time of compiling the kernel with dynamic ftrace enabled. Signed-off-by: John Reiser [ Updated the code to include .text.unlikely section as well as changing the format to follow Linux coding style. ] Signed-off-by: Steven Rostedt commit 0db710230589b5571c23f59250eabc9504b17c98 Author: Jaroslav Kysela Date: Thu Oct 14 21:46:12 2010 +0200 ALSA: snd-aloop - fix issue in the timer start function In some circumstances (the rate shift value was changed), the irq_pos value may be higher than the fraction value in the timer start function. Check for it. Also, to avoid value overflow, decrease maximum period size. Signed-off-by: Jaroslav Kysela commit ebc8827f75954fe315492883eee5cb3f355d547d Author: Frederic Weisbecker Date: Mon Sep 27 18:50:51 2010 +0200 x86: Barf when vmalloc and kmemcheck faults happen in NMI In x86, faults exit by executing the iret instruction, which then reenables NMIs if we faulted in NMI context. Then if a fault happens in NMI, another NMI can nest after the fault exits. But we don't yet support nested NMIs because we have only one NMI stack. To prevent from that, check that vmalloc and kmemcheck faults don't happen in this context. Most of the other kernel faults in NMIs can be more easily spotted by finding explicit copy_from,to_user() calls on review. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Mathieu Desnoyers Cc: Peter Zijlstra commit 5d0d28824c76409f0d1a645bf0ae81318c8ffa42 Author: Shirish Pargaonkar Date: Wed Oct 13 18:15:00 2010 -0500 NTLM authentication and signing - Calculate auth response per smb session Start calculation auth response within a session. Move/Add pertinet data structures like session key, server challenge and ntlmv2_hash in a session structure. We should do the calculations within a session before copying session key and response over to server data structures because a session setup can fail. Only after a very first smb session succeeds, it copies/makes its session key, session key of smb connection. This key stays with the smb connection throughout its life. Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit cd2638a86c7b90e77ce623c09de2a26177f2a5c1 Author: Carolyn Wyborny Date: Tue Oct 12 22:27:02 2010 +0000 igb: add check for fiber/serdes devices to igb_set_spd_dplx; Signed-off-by: Carolyn Wyborny Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5d5b7c39cfdc459c079ed75b65a537f40ffb82da Author: Emil Tantilov Date: Tue Oct 12 22:20:59 2010 +0000 ixgbe: declare functions as static Following patch fixes warnings reported by `make namespacecheck` Reported by Stephen Hemminger CC: Stephen Hemminger Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f32f837b75233588cd4f8542214a30915ab7847b Author: Emil Tantilov Date: Tue Oct 12 22:20:34 2010 +0000 ixgbe: remove unused functions Remove functions that are declared, but not used in the driver. This patch fixes warnings reported by `make namespacecheck` Reported by Stephen Hemminger CC: Stephen Hemminger Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ee87a82a28cddbb9267a294172ecb3d3d3bdaa6c Author: Michael Chan Date: Wed Oct 13 14:06:51 2010 +0000 cnic: Add support for 57712 device Add new interrupt ack functions and other hardware interface logic to support the new device. Update version to 2.2.6. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a3ceeeb8f11d74f26e3dfca40ded911a82402db5 Author: Michael Chan Date: Wed Oct 13 14:06:50 2010 +0000 cnic: Decouple uio close from cnic shutdown During cnic shutdown, the original driver code requires userspace to close the uio device within a few seconds. This doesn't always happen as the userapp may be hung or otherwise take a long time to close. The system may crash when this happens. We fix the problem by decoupling the uio structures from the cnic structures during cnic shutdown. We do not unregister the uio device until the cnic driver is unloaded. This eliminates the unreliable wait loop for uio to close. All uio structures are kept in a linked list. If the device is shutdown and later brought back up again, the uio strcture will be found in the linked list and coupled back to the cnic structures. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cd801536c236e287f1d3eeee428abf9ffd523ede Author: Michael Chan Date: Wed Oct 13 14:06:49 2010 +0000 cnic: Add cnic_uio_dev struct and put all uio related structures and ring buffers in it. This allows uio operations to be done independent of the cnic device structures. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c06c0462250a5dbc9e58d00caab4cd7e6675128c Author: Michael Chan Date: Wed Oct 13 14:06:48 2010 +0000 cnic: Add cnic_free_uio() to free all UIO related structures. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fdf24086f4752aee5dfb40143c736250df017820 Author: Michael Chan Date: Wed Oct 13 14:06:47 2010 +0000 cnic: Defer iscsi connection cleanup The bnx2x devices require a 2 second quiet time before sending the last RAMROD command to destroy a connection. This sleep wait adds up to a long delay when iscsid is serially destroying maultiple connections. Create a workqueue to perform the final connection cleanup in the background to speed up the process. This significantly speeds up the process as the wait time can be done in parallel for multiple connections. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a2c9e769dbb92336ddacba01d399ad0f509e7094 Author: Michael Chan Date: Wed Oct 13 14:06:46 2010 +0000 cnic: Add cnic_bnx2x_destroy_ramrod() Refactoring code for the next patch to defer connection clean up. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6e0dda0c467d6c66d64c146170ea35399ec34c15 Author: Michael Chan Date: Wed Oct 13 14:06:45 2010 +0000 cnic: Convert ctx_flags to bit fields so that we can additional bit definitions without requiring a spinlock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6e0dc64384298b29ac17de7362b7d6d2ef588304 Author: Michael Chan Date: Wed Oct 13 14:06:44 2010 +0000 cnic: Add common cnic_request_irq() to reduce some duplicate code. Also, use tasklet_kill() in cnic_free_irq() to wait for the cnic_irq_task to complete. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2265769531afe267f864111c103b04b4427720b6 Author: Dan Carpenter Date: Thu Aug 12 00:38:45 2010 +0200 drbd: cleanup: change "<= 0" to "== 0" dt is unsigned so it's never less than zero. We are calculating the elapsed time, and that's never less than zero (unless there is a bug or we invent time travel). The comparison here is just to guard against divide by zero bugs. Signed-off-by: Dan Carpenter Signed-off-by: Philipp Reisner commit ca0e6098aad127a555ba29d12e0503dbb1577aac Author: Lars Ellenberg Date: Thu Oct 14 15:01:21 2010 +0200 drbd: relax the grace period of the md_sync timer again Consolidate the ifdef's for the debug level, accidentally the used both DEBUG and DRBD_DEBUG_MD_SYNC. Default to off. For production, we can safely reduce the grace period for this timer again the the value we used to have. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d8d6b902b8a3b2c66151529694bb4a9a3555cf43 Author: Paul Mundt Date: Fri Oct 15 02:13:04 2010 +0900 sh: mach-sdk7786: Add support for the FPGA SRAM. This ties in the 2KiB of FPGA SRAM in to the generic SRAM pool. Signed-off-by: Paul Mundt commit c993487ec87ba6d9ea47b03dad562123d503f4a2 Author: Paul Mundt Date: Fri Oct 15 02:09:00 2010 +0900 sh: Provide a generic SRAM pool for tiny memories. This sets up a generic SRAM pool for CPUs and platform code to insert their otherwise unused memories into. A simple alloc/free interface is provided (lifed from avr32) for generic code. This only applies to tiny SRAMs that are otherwise unmanaged, and does not take in to account the more complex SRAMs sitting behind transfer engines, or that employ an I/D split. Signed-off-by: Paul Mundt commit 856c50c7b616d50e1a3ccd4ce35f7814650fa594 Author: Lars Ellenberg Date: Thu Oct 14 13:37:40 2010 +0200 drbd: add some more explicit drbd_md_sync It sometimes may take a while for the after state change work to be scheduled, which does drbd_md_sync. At convenient places, we should do explicit drbd_md_sync to have the new state information on disk as soon as possible. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 9d282875d85ebc2b49362310677fc0dcd91b9db9 Author: Lars Ellenberg Date: Thu Oct 14 13:57:07 2010 +0200 drbd: drop wrong debug asserts, fix recently introduced race commit 2372c38caadeaebc68a5ee190782c2a0df01edc3 drbd: fix for possible deadlock on IO error during resync introduced a new ASSERT, which turns out to be wrong. Drop it. Also serialize the state change to D_DISKLESS with the after state change work of the -> D_FAILED transition, don't open a new race. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 3be63ff0ae196b371728ba8fc8aca12eafcae218 Author: Wey-Yi Guy Date: Fri Oct 8 16:05:19 2010 -0700 iwlwifi: move agn only eeprom functions to separate file Some of the functions in iwl-eeprom.c file are for agn devices only, Those functions do not have to be part of iwlcore.ko, so move those to iwl-agn-eeprom.c file. Signed-off-by: Wey-Yi Guy commit 40bbfd4c1b336b8841bef9933b6e09252ace56b8 Author: Johannes Berg Date: Thu Oct 7 04:00:33 2010 -0700 iwlagn: check beacon frame size When the beacon_skb is NULL, we might still attempt to use it in this code path (if we ever get here) -- make the code a bit more defensive and check the return value of iwl_fill_beacon_frame() against zero. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 657e11a47dede79cae1d2f72084f6f7303aec725 Author: Johannes Berg Date: Thu Oct 7 03:52:35 2010 -0700 iwlwifi: blink LED in IBSS mode We recently found that contrary to expectations, the LED is not blinking in IBSS mode. Fix this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit dacefedb34e538e9934556ffe5eaad177e7a9718 Author: Johannes Berg Date: Thu Oct 7 04:02:03 2010 -0700 iwlwifi: rewrite RXON checks The RXON checking is a bit magical, and prints out too much information if something goes wrong. Make it less magical and print out only the items that were actually wrong. Also remove the comment about removing it -- the driver is constantly changing so these checks are useful. Signed-off-by: Johannes Berg commit 34f5a70c08530bb0b4724991a712a0ef6bbec39a Author: Wey-Yi Guy Date: Wed Oct 6 13:46:11 2010 -0700 iwlagn: 6050 ops should be used; For 6050 series of devices, 6050 ops should be used; One of the 6050 config still use 6000 ops, fix it. Signed-off-by: Wey-Yi Guy commit 77834543a5278b55df6c2784cd5ed59970be3c44 Author: Johannes Berg Date: Mon Oct 4 05:50:36 2010 -0700 iwlwifi: clean up some beacon handling There's no need to check for NULL before calling dev_kfree_skb() since it is valid to call it on NULL -- it becomes a no-op. There's also no need to initialise the beacon_skb variable to NULL just after the memory it is in has been kzalloc'ed. Some minor whitespace cleanups, and a lock assertion in a function that needs the mutex (to access the beacon_skb var) complete the patch. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 12e934dc602fafba946b33587c38077ebceb3698 Author: Johannes Berg Date: Mon Oct 4 05:50:06 2010 -0700 iwlwifi: rename ibss_beacon variable Since we're also going to support AP (GO) mode, the variable isn't used for just IBSS beacons any more -- rename it to not mislead readers. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 085fbca29d7b4574c4e42189ee5789004e4beff7 Author: Johannes Berg Date: Mon Oct 4 05:47:23 2010 -0700 iwlwifi: allow probe-after-rx on 2.4 GHz There are two passive 2.4 GHz channels: 12 and 13. If you have a hidden SSID on those, you will not be able to connect to it because we don't send out probe requests there. We can allow this by using the firmware's probe-after-rx functionality on those channels as well. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=16462 Reported-by: Daniel J Blueman Tested-by: Daniel J Blueman Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit de05ead8f8649788603afc470eb1c2ea2b8b1655 Author: Wey-Yi Guy Date: Thu Sep 23 15:24:22 2010 -0700 iwlgn: need longer tx queue stuck timer for coex devices For BT/WiFi combo devices, need longer tx stuck queue timer, so those devices won't reload firmware too often. Signed-off-by: Wey-Yi Guy commit 0f8488e1608b6e30e705460f8110888c645f7f9f Author: Lars Ellenberg Date: Wed Oct 13 18:19:23 2010 +0200 drbd: cleanup useless leftover warn/error printk's Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 13d42685bec1f012dcbc5d187490eb1d15ec8219 Author: Lars Ellenberg Date: Wed Oct 13 17:37:54 2010 +0200 drbd: add explicit drbd_md_sync to drbd_resync_finished As we usually update the generation UUIDs here, we should explicitly sync them to disk. So far this has been done only implicitly by related code paths. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit b18b37befb37810ce50e1a9b0a6206dfe363d827 Author: Philipp Reisner Date: Wed Oct 13 15:32:44 2010 +0200 drbd: Do not log an ASSERT for P_OV_REQUEST packets while C_CONNECTED This might happen if on the VERIFY_S node the disk gets dropped. Although this is an cluster wide state transition, the VERIFY_T node, updates it connection state first. Then the ack packet for the cluster wide state transition travels back, and the VERIFY_S node stops to produce the P_OV_REQUEST packets. There is absolutely nothing wrong with that. Further, do not log "Can not satisfy peer's..." on the VERIFY_S node in this case, but pretend that they had equal checksum. [Bugz 327] Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit e9e6f3ec535d7b7c9e2ca64ad691e743e7d3c2f0 Author: Lars Ellenberg Date: Tue Sep 14 20:26:27 2010 +0200 drbd: fix for possible deadlock on IO error during resync Scenario: Something (say, flush-147:0) is in drbd_al_begin_io, holding a local_cnt, waiting for the resync to make progress. Disk fails, worker in after_state_ch does drbd_rs_cancel_all, then waits for local_cnt to drop to zero. flush-147:0 is woken by drbd_rs_cancel_all, needs to write an AL transaction, and queues that on the worker. Deadlock. Fix: do not wait in the worker, have put_ldev() trigger the state change D_FAILED -> D_DISKLESS when necessary. put_ldev() cannot do the state change directly, as it may or may not already hold various spinlocks. We queue a short work instead. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 22cc37a943832c948808884604ec6f5ff2594c1d Author: Lars Ellenberg Date: Tue Sep 14 20:40:41 2010 +0200 drbd: fix unlikely access after free and list corruption Various cleanup paths have been incomplete, for the very unlikely case that we cannot allocate enough bios from process context when submitting on behalf of the peer or resync process. Never observed. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit af85e8e83d160f72a10e4467852646ac08614260 Author: Lars Ellenberg Date: Thu Oct 7 16:07:55 2010 +0200 drbd: fix for spurious fullsync (uuids rotated too fast) If it was an "empty" resync, the SyncSource may have already "finished" the resync and rotated the UUIDs, before noticing the connection loss (and generating a new uuid, if Primary, rotating again), while the SyncTarget did not change its uuids at all, or only got to the previous sync-uuid. This would then again lead to a full sync on next handshake (see also Bug #251). Fix: Use explicit resync finished notification even for empty resyncs, do not finish an empty resync implicitly on the SyncSource. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit e9ef7bb6f9696471ddddf0065afac8b435e5d051 Author: Lars Ellenberg Date: Thu Oct 7 15:55:39 2010 +0200 drbd: allow for explicit resync-finished notifications Preparation patch so more drbd_send_state() usage on the peer will not confuse drbd in receive_state(). Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 4ac4aadacb5badc45679cd94cd362132daafe8c4 Author: Lars Ellenberg Date: Thu Jul 22 17:39:26 2010 +0200 drbd: preparation commit, using full state in receive_state() no functional change, just using full state instead of just the .conn part of it for comparisons. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 2b2bf2148fd46874ee72a877c951e5c6675d1caa Author: Lars Ellenberg Date: Wed Oct 6 11:46:55 2010 +0200 drbd: drbd_send_ack_dp must not rely on header information drbd commit 17c854fea474a5eb3cfa12e4fb019e46debbc4ec drbd: receiving of big packets, for payloads between 64kByte and 4GByte introduced a new on-the-wire packet header format. We must no longer assume either format, but use the result of whatever drbd_recv_header has decoded. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 004352fa60345e499379af310de73a2df1a5762a Author: Lars Ellenberg Date: Tue Oct 5 20:13:58 2010 +0200 drbd: Fix regression in recv_bm_rle_bits (compressed bitmap) We used to be16_to_cpu the length field in our received packet header. drbd commit 17c854fea474a5eb3cfa12e4fb019e46debbc4ec drbd: receiving of big packets, for payloads between 64kByte and 4GByte changed this, but forgot to adjust a few places where we relied on h->length being in native byte order. This broke the receiving side of the RLE compressed bitmap exchange. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit f10f262349762c96ab247b6108af3a30b52b6f5a Author: Philipp Reisner Date: Tue Oct 5 16:50:17 2010 +0200 drbd: Fixed a stupid copy and paste error This caused rs_planed to be not in sync with the content of the fifo. That in turn could cause that the resync comes to a complete halt. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 00b425377d60e67e86721d4ce6d7cbf131a5d0fd Author: Philipp Reisner Date: Tue Oct 5 11:19:39 2010 +0200 drbd: Allow larger values for c-fill-target. Connections through a compressing proxy might have more bits on the fly. 500MByte instead of 50MByte Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit f65363cfa05fe60874030461a0eeb84b7e60cba4 Author: Lars Ellenberg Date: Tue Sep 14 20:14:09 2010 +0200 drbd: fix possible access after free If we release the page pointed to by md_io_tmpp, we need to zero out the pointer, too, as that may be used later to decide whether we need to allocate a new page again. Impact: a previously freed page may be used and clobbered. Depending on what that particular page is being used for meanwhile, this may result in silent data corruption of completely unrelated things. Only of concern on devices with logical_block_size != 512 byte, if you re-attach after becoming diskless once. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 8979d9c9e0bc8e54cf5bd7a89abb2145f087b5e1 Author: Lars Ellenberg Date: Tue Sep 14 15:56:29 2010 +0200 drbd: protocol compatibility for maximum packet sizes Two missing corner cases to the "maximum packet size" handshake. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit fb22c402ffdf61dd121795b5809de587185d5240 Author: Philipp Reisner Date: Wed Sep 8 23:20:21 2010 +0200 drbd: Track the reasons to suspend IO in dedicated state bits There are three ways to get IO suspended: * Loss of any access to data * Fence-peer-handler running * User requested to suspend IO Track those in different bits, so that one condition clearing its state bit does not interfere with the other two conditions. Only when the user resumes IO he overrules all three bits. The fact is hidden from the user, he sees only a single suspend bit. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 78db89287ce0f146a1f2a019a0b243ea4557caac Author: Lars Ellenberg Date: Mon Sep 13 13:27:10 2010 +0200 drbd: DIV_ROUND_UP not needed here Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 5a75cc7cfbb98e896232902214432dae30653dfe Author: Philipp Reisner Date: Thu Sep 9 14:22:21 2010 +0200 drbd: Fixed compatibility with protocol versions smaller than 95 Forgot to consider the max size for the resync requests. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit f2906e183f5460df9d9e774f5952f5ff670b3913 Author: Lars Ellenberg Date: Wed Jul 21 17:04:32 2010 +0200 drbd: fix for spurious full sync (becoming sync target looked like invalidate) If a synctarget lost connection while being WFSyncUUID, due to "state sanitizing", the attempted state change to SyncTarget looked like an "invalidate" to after_state_ch() later, thus caused a full sync on next handshake (Bug #318). drbd0: PingAck did not arrive in time. drbd0: peer( Primary -> Unknown ) conn( WFSyncUUID -> NetworkFailure ) pdsk( UpToDate -> DUnknown ) from : { cs:NetworkFailure ro:Secondary/Unknown ds:UpToDate/DUnknown r--- } to : { cs:SyncTarget ro:Secondary/Unknown ds:Inconsistent/DUnknown r--- } after sanizising, resulted in state: { cs:NetworkFailure ro:Secondary/Unknown ds:Inconsistent/DUnknown r--- } drbd0: disk( UpToDate -> Inconsistent ) Fix: don't mask state transition errors in "sanitizing", so the requested state change to SyncTarget fails, instead of being implicitly "remaped" to invalidate. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 02bc7174ae83617b4364dc179d95d848d9fd6db5 Author: Lars Ellenberg Date: Mon Sep 6 12:13:20 2010 +0200 drbd: cosmetic, don't report resync for online-verify Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit a821cc4a9a8d9e67356f9a5cfc1206aa3cfd30f7 Author: Lars Ellenberg Date: Mon Sep 6 12:31:37 2010 +0200 drbd: fix spurious protocol error If we cannot satisfy a request (because our disk just broke), we still need to drain the payload. Or we'll get a protocol error when interpreting the payload as DRBD packet header. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1d53f09e170e477de67babd7a10e277479260d51 Author: Lars Ellenberg Date: Sun Sep 5 01:13:24 2010 +0200 drbd: fix potential kernel BUG (NULL deref) BUG trace would look like: lc_find drbd_rs_complete_io got_OVResult drbd_asender Could be triggered by explicit, or IO-error policy based, detach during online-verify. We may only dereference mdev->resync, if we first get_ldev(), as the disk may break any time, causing mdev->resync to disappear once all ldev references have been returned. Already in flight online-verify requests or replies may still come in, which we then need to ignore. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 435f07402b3165b90592073bc0f8c6f8fa160ff9 Author: Lars Ellenberg Date: Mon Sep 6 12:30:25 2010 +0200 drbd: don't count sendpage()d pages only referenced by tcp as in use Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 76d2e7eca8e7675c6d7a6592f9e747b121cc8a87 Author: Philipp Reisner Date: Wed Aug 25 11:58:05 2010 +0200 drbd: Adding support for BIO/Request flags: REQ_FUA, REQ_FLUSH and REQ_DISCARD Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1090c056c5eb6d5335cceb381683e77ac24c71ab Author: Lars Ellenberg Date: Mon Jul 19 17:41:04 2010 +0200 drbd: drbd_md_sync before calling user space helpers Just in case we have some pending meta data changes to sync, do it before we call our userland helper, as that may take some time, or even cause a hard reboot. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit ee15b038164fcf19b798021762dee3cf5cbc6433 Author: Lars Ellenberg Date: Fri Sep 3 10:00:09 2010 +0200 drbd: fix race on meta-data update, addendum addendum to baa33ae4eaa4477b60af7c434c0ddd1d182c1ae7 The race: drbd_md_sync() if (!test_and_clear_bit(MD_DIRTY, &mdev->flags)) return; ==> RACE with drbd_md_mark_dirty() rearming the timer. del_timer(&mdev->md_sync_timer); Fixed by moving the del_timer before the test_and_clear_bit. Additionally only rearm the timer in drbd_md_mark_dirty, if MD_DIRTY was not already set, reduce the grace period from five to one second, and add an ifdef'ed debuging aid to find code paths missing an explicit drbd_md_sync, if any, as those are the only relevant ones for this race. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 63106d3c6c769b6219bd04edde513b12abae3f61 Author: Philipp Reisner Date: Wed Sep 1 15:47:15 2010 +0200 drbd: Removed a race that could cause unexpected execution of w_make_resync_request() The actual race happened int the drbd_start_resync() function. Where drbd_resync_finished() -> __drbd_set_state() set STOP_SYNC_TIMER and armed the timer. If the timer fired before execution reaches the mod_timer statement at the end of drbd_start_resync() the latter would cause an unexpected call to w_make_resync_request(). Removed the STOP_SYNC_TIMER bit, and base it on the connection state. The STOP_SYNC_TIMER bit probably originates probably the time before the state engine. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit ef50a3e34f93a067ada541346be3175e924331a2 Author: Lars Ellenberg Date: Wed Sep 1 14:39:30 2010 +0200 drbd: implicitly create unconfigured devices on sync-after dependencies If pacemaker (for example) decided to initialize minor devices not in the exact sync-after dependency order, the configuration partially failed with an error "The sync-after minor number is invalid". (Bugz. #322) We can avoid that by implicitly creating unconfigured minor devices, if others depend on them. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 3f3a9b849d2b703934c07fa17f5eac2dc37c1f6b Author: Lars Ellenberg Date: Wed Sep 1 15:12:12 2010 +0200 drbd: fix race on meta-data update The race: drbd_md_mark_dirty() drbd_md_sync() if (!test_and_clear_bit(MD_DIRTY, &mdev->flags)) return; drbd_md_sync_page_io(mdev, mdev->ldev, sector, WRITE) ==> RACE clear_bit(MD_DIRTY, &mdev->flags); <== spurious Fixed by removing the spurious clear_bit. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit c518d04fdec3d8b9d6f8b2228040934de9ee6708 Author: Lars Ellenberg Date: Wed Sep 1 09:50:23 2010 +0200 drbd: fix race between deconfiguring and reconfiguring network If a drbd_nl_net_conf hits the small window between the state change to C_STANDALONE and the corresponding cleanup in after_state_ch, that cleanup would throw away stuff we now need again, and later trigger BUG_ON()s. Fixed by properly serializing the new config request with any pending cleanup. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0778286a133d2d3f81861a4e5db308e359583006 Author: Philipp Reisner Date: Tue Aug 31 12:00:50 2010 +0200 drbd: Disable activity log updates when the whole device is out of sync When the complete device is marked as out of sync, we can disable updates of the on disk AL. Currently AL updates are only disabled if one uses the "invalidate-remote" command on an unconnected, primary device, or when at attach time all bits in the bitmap are set. As of now, AL updated do not get disabled when a all bits becomes set due to application writes to an unconnected DRBD device. While this is a missing feature, it is not considered important, and might get added later. BTW, after initializing a "one legged" DRBD device drbdadm create-md resX drbdadm -- --force primary resX AL updates also get disabled, until the first connect. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d53733893dc43f4ebb5be510863c5debf0f8990b Author: Philipp Reisner Date: Mon Aug 23 15:18:33 2010 +0200 drbd: Actually allow BIOs up to 128k (was 32k). Now we have multiple BIOs per ee, packets with a 32 bit length field, it gets time to use these goodies. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 02918be2273a6b086292e0d85b740336eda46e36 Author: Philipp Reisner Date: Fri Aug 20 14:35:10 2010 +0200 drbd: receiving of big packets, for payloads between 64kByte and 4GByte Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0b70a13dac014ec9274640b9e945bde493ba365e Author: Philipp Reisner Date: Fri Aug 20 13:36:10 2010 +0200 drbd: Sending of big packets, for payloads from 64KByte to 4GByte Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 204bba9965c4cc175bf5bc65ddd19889e9085c72 Author: Philipp Reisner Date: Mon Aug 23 16:17:13 2010 +0200 drbd: Bugfix for regression introduced with f9bc8913c06022e If we intent to use the block_id member of an epoch entry, we may not use the digest member. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 48acf8689847c061bd82c808c379f1bd79dfe407 Author: Philipp Reisner Date: Mon Aug 23 15:51:56 2010 +0200 drbd: Microfix: Assigning sector once is sufficient Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0f0601f4ea2f53cfd8bcae060fb03d9bbde070ec Author: Lars Ellenberg Date: Wed Aug 11 23:40:24 2010 +0200 drbd: new configuration parameter c-min-rate We now track the data rate of locally submitted resync related requests, and can thus detect non-resync activity on the lower level device. If the current sync rate is above c-min-rate, and the lower level device appears to be busy, we throttle the resyncer. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 80a40e439e5a3f30b0a6210a1add6d7c33392e54 Author: Lars Ellenberg Date: Wed Aug 11 23:28:00 2010 +0200 drbd: reduce code duplication when receiving data requests also canonicalize the return values of read_for_csum and drbd_rs_begin_io to return -ESOMETHING, or 0 for success. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1d7734a0df02ff5068ff8baa1447c7baee601db1 Author: Lars Ellenberg Date: Wed Aug 11 21:21:50 2010 +0200 drbd: use rolling marks for resync speed calculation The current resync speed as displayed in /proc/drbd fluctuates a lot. Using an array of rolling marks makes this calculation much more stable. We used to have this (a long time ago with 0.7), but it got lost somehow. If "stalled", do not discard the rest of the information, just add a " (stalled)" tag to the progress line. This patch also shortens a spinlock critical section somewhat, and reduces the number of atomic operations in put_ldev. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0bb70bf601579b0d4c56acbb54b8eb0688541e19 Author: Lars Ellenberg Date: Wed Aug 11 20:53:21 2010 +0200 drbd: remove outdated comment and dead code Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit c36c3ced692b38d0cf90a5e6f875be2f9ebbc037 Author: Lars Ellenberg Date: Wed Aug 11 20:42:55 2010 +0200 drbd: let drbd_free_ee implicitly free any digest Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 85719573dd716bc2ac3e098b44adfed884250bab Author: Philipp Reisner Date: Wed Jul 21 10:20:17 2010 +0200 drbd: Replaced some casts by an union. Improved comments Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d207450cf2731c6a2afa8c78fb31c7206cd35eba Author: Philipp Reisner Date: Thu Jul 22 15:27:27 2010 +0200 drbd: Bugfix: rs_in_flight could become wrong if read_for_csum() requested reschedule later Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 778f271dfe7a7173c0bae2d6cde8d9bd1533e668 Author: Philipp Reisner Date: Tue Jul 6 11:14:00 2010 +0200 drbd: The new, smarter resync speed controller Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 8e26f9ccb9be00fdb33551a34c8f6029e89ab79f Author: Philipp Reisner Date: Tue Jul 6 17:25:54 2010 +0200 drbd: New sync_param packet, that includes the parameters of the new controller Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 9a31d7164d409ca59cfadb7957ac7b0acf4545b8 Author: Philipp Reisner Date: Mon Jul 5 13:42:03 2010 +0200 drbd: New sync parameters for the smart resync rate controller Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d28fd092a55b504a0d699b65802a995086d70647 Author: Lars Ellenberg Date: Fri Jul 9 23:28:10 2010 +0200 drbd: fix list corruption (recent regression) The commit 288f422ec13667de40b278535d2a5fb5c77352c4 drbd: Track all IO requests on the TL, not writes only moved a list_add_tail(req, ) into a region where req may have just been freed due to conflict detection. Fix this by adding a proper cleanup section for that code path. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 3e0f686e6bf347eea4a41d7d415f003c2f42b1a0 Author: Randy Dunlap Date: Wed Oct 13 18:07:16 2010 -0700 ibft: fix kconfig dependencies Fix kconfig dependency warning to satisfy dependencies: warning: (BE2ISCSI && SCSI_LOWLEVEL && PCI && SCSI && NET || ISCSI_IBFT && ISCSI_IBFT_FIND && SCSI) selects ISCSI_BOOT_SYSFS which has unmet direct dependencies (SCSI_LOWLEVEL && SCSI) Signed-off-by: Randy Dunlap Signed-off-by: Peter Jones Signed-off-by: Konrad Rzeszutek Wilk commit ef6510babf047d394aa6eb8c93baa0dd6b838c28 Author: Kumar Gala Date: Thu Oct 14 08:55:47 2010 -0500 spi/fsl_spi: Fix compile errors when building on ppc64 We get the following when building on ppc64 due to lack of include of : In file included from drivers/spi/spi_fsl_espi.c:25:0: drivers/spi/spi_fsl_lib.h: In function 'mpc8xxx_spi_write_reg': drivers/spi/spi_fsl_lib.h:88:2: error: implicit declaration of function 'out_be32' drivers/spi/spi_fsl_lib.h: In function 'mpc8xxx_spi_read_reg': drivers/spi/spi_fsl_lib.h:93:2: error: implicit declaration of function 'in_be32' drivers/spi/spi_fsl_espi.c: In function 'fsl_espi_remove': drivers/spi/spi_fsl_espi.c:571:2: error: implicit declaration of function 'iounmap' drivers/spi/spi_fsl_espi.c: In function 'fsl_espi_probe': drivers/spi/spi_fsl_espi.c:602:2: error: implicit declaration of function 'ioremap' drivers/spi/spi_fsl_espi.c:602:24: warning: assignment makes pointer from integer without a cast Signed-off-by: Kumar Gala Signed-off-by: Grant Likely commit 32e39e19ccb0f25c9c1b7ff246e17e795366bbbd Author: Christoph Hellwig Date: Thu Oct 14 09:54:43 2010 -0400 hfsplus: remove the unused hfsplus_kmap/hfsplus_kunmap helpers Signed-off-by: Christoph Hellwig commit 90e616905a423126805186cb5754e10a704b30c8 Author: Christoph Hellwig Date: Thu Oct 14 09:54:39 2010 -0400 hfsplus: create correct initial catalog entries for device files Make sure the initial insertation of the catalog entry already contains the device number by calling init_special_inode early and setting writing out the dev field of the on-disk permission structure. The latter is facilitated by sharing the almost identical hfsplus_set_perms helpers between initial catalog entry creating and ->write_inode. Unless we crashed just after mknod this bug was harmless as the inode is marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode will update the catalog entry to contain the correct value. Signed-off-by: Christoph Hellwig commit 722c55d13e7296cc62ed8a38f926a915ff32e4ea Author: Christoph Hellwig Date: Thu Oct 14 09:54:33 2010 -0400 hfsplus: remove superflous rootflags field in hfsplus_inode_info The rootflags field in hfsplus_inode_info only caches the immutable and append-only flags in the VFS inode, so we can easily get rid of it. Signed-off-by: Christoph Hellwig commit f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b Author: Christoph Hellwig Date: Thu Oct 14 09:54:28 2010 -0400 hfsplus: fix link corruption HFS implements hardlink by using indirect catalog entries that refer to a hidden directly. The link target is cached in the dev field in the HFS+ specific inode, which is also used for the device number for device files, and inside for passing the nlink value of the indirect node from hfsplus_cat_write_inode to a helper function. Now if we happen to write out the indirect node while hfsplus_link is creating the catalog entry we'll get a link pointing to the linkid of the current nlink value. This can easily be reproduced by a large enough loop of local git-clone operations. Stop abusing the dev field in the HFS+ inode for short term storage by refactoring the way the permission structure in the catalog entry is set up, and rename the dev field to linkid to avoid any confusion. While we're at it also prevent creating hard links to special files, as the HFS+ dev and linkid share the same space in the on-disk structure. Signed-off-by: Christoph Hellwig commit 13571a6977f821fab7d9c3cc5f75da52b7732e40 Author: Christoph Hellwig Date: Thu Oct 14 09:54:23 2010 -0400 hfsplus: validate btree flags Signed-off-by: Christoph Hellwig commit 9250f925972d03ccc0c0a4dd4e9b794d2ef6d52b Author: Eric Sandeen Date: Thu Oct 14 09:53:48 2010 -0400 hfsplus: handle more on-disk corruptions without oopsing hfs seems prone to bad things when it encounters on disk corruption. Many values are read from disk, and used as lengths to memcpy, as an example. This patch fixes up several of these problematic cases. o sanity check the on-disk maximum key lengths on mount (these are set to a defined value at mkfs time and shouldn't differ) o check on-disk node keylens against the maximum key length for each tree o fix hfs_btree_open so that going out via free_tree: doesn't wind up in hfs_releasepage, which wants to follow the very pointer we were trying to set up: HFS_SB(sb)->cat_tree = hfs_btree_open() . failure gets to hfs_releasepage and tries to follow HFS_SB(sb)->cat_tree Tested with the fsfuzzer; it survives more than it used to. [hch: ported of commit cf0594625083111ae522496dc1c256f7476939c2 from hfs] [hch: added the fixes from 5581d018ed3493d226e7a4d645d9c8a5af6c36b] Signed-off-by: Eric Sandeen Signed-off-by: Christoph Hellwig commit b6b41424f0ec28e9a167fa29b003327860b4b71b Author: Al Viro Date: Thu Oct 14 09:53:42 2010 -0400 hfsplus: hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage oops and fs corruption; the latter can happen even on valid fs in case of oom. [hch: port of commit 3d10a15d6919488204bdb264050d156ced20d9aa from hfs] Signed-off-by: Al Viro Signed-off-by: Christoph Hellwig commit ee52716245877b821f5ddbb3ace85b73084fb450 Author: Jeff Mahoney Date: Thu Oct 14 09:53:37 2010 -0400 hfsplus: fix oops on mount with corrupted btree extent records A particular fsfuzzer run caused an hfs file system to crash on mount. This is due to a corrupted MDB extent record causing a miscalculation of HFSPLUS_I(inode)->first_blocks for the extent tree. If the extent records are zereod out, then it won't trigger the first_blocks special case and instead falls through to the extent code, which we're in the middle of initializing. This patch catches the 0 size extent records, reports the corruption, and fails the mount. [hch: ported of commit 47f365eb575735c6b2edf5d08e0d16d26a9c23bd from hfs] Reported-by: Ramon de Carvalho Valle Signed-off-by: Jeff Mahoney Signed-off-by: Christoph Hellwig commit e756414f7daa93b862f1670dd0a6aaa676ea71e3 Author: Philipp Reisner Date: Tue Jun 29 17:35:34 2010 +0200 drbd: Initialize all members of sync_conf to their defaults [Bugz 315] Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 6709893059105d7859ae772af70c7db5bbab7de0 Author: Philipp Reisner Date: Thu Jun 24 16:24:25 2010 +0200 drbd: Make sure tl_restart(, resend) can not get called multiple times for a new connection Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit f70b3511599c49a3dc20ae349d6cdc5af47659df Author: Philipp Reisner Date: Thu Jun 24 14:34:40 2010 +0200 drbd: Do not try to free tl_hash in drbd_disconnect() when IO is suspended We may not free tl_hash when IO is suspended, since we can not wait until ap_bio_cnt reaches zero. We can do this after susp reched 0, since then tl_clear was called Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 8f488156c0635dcc9c668737d05386113a745ef9 Author: Philipp Reisner Date: Thu Jun 24 12:05:53 2010 +0200 drbd: Allow attach while IO is suspended Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit cfa03415a14dd0055f2ff8c3d348d4c1452acba6 Author: Philipp Reisner Date: Wed Jun 23 17:18:51 2010 +0200 drbd: Allow tl_restart() to do IO completion while IO is suspended Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 84dfb9f564208a0331131d1ab922382c7d61a553 Author: Philipp Reisner Date: Wed Jun 23 11:20:05 2010 +0200 drbd: Fixed a deadlock, probably only affected UP machines After disconnect (most likely mdev->net_cnt == 0) and we are still in an unstable state (!drbd_state_is_stable()). When we get an IO request in drbd_get_max_buffers() (called from __inc_ap_bio_cond(), called from inc_ap_bio()) we wake up misc_wait. Misc_wait is also used in inc_ap_bio() to sleep until the outcome of __inc_ap_bio_cond() changes. => Busy loop! Solution: Have a dedicated wait queue for get_net_conf() and put_net_conf(). Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 65d922c33ebd359db25d5846929b2eafc4238fcc Author: Philipp Reisner Date: Wed Jun 16 16:18:09 2010 +0200 drbd: Do not do a hard state change when establishing a connection [bugz 304] Make sure the state engine can deny two primaries to connect Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 481c6f503213ab14f69ce88fff7b1ece325522f2 Author: Philipp Reisner Date: Tue Jun 22 14:03:27 2010 +0200 drbd: Ensure that the peer was not rebootet in the meantime before resending TL Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 43a5182cccae5850f7590f78dd9651bd407be440 Author: Philipp Reisner Date: Fri Jun 11 11:26:34 2010 +0200 drbd: Delayed creation of current-UUID When a fencing policy of "resource-and-stonith" is configured, and DRBD looses connection to it's peer, we can delay the creation of a new current-UUID until IO gets thawed. That allows one to deploy fence-peer handlers that actually commit suicide on the machine they get started. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 87f7be4cf88e93069f4cc63baf2ce70fdfc59c63 Author: Philipp Reisner Date: Fri Jun 11 13:56:33 2010 +0200 drbd: Run the fence-peer helper asynchronously Since we can not thaw the transfer log, the next logical step is to allow reconnects while the fence-peer handler runs. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1616a25493cce727d582886f162c5bb0abd87e6a Author: Philipp Reisner Date: Thu Jun 10 16:55:15 2010 +0200 drbd: Reduce the verbosity of some state transitions State transitions in the space of non-allowed states used to be very noisy. Reduce that, since that has little value for the majority of the user base. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 999122bc188a4d0a4847bdf1915d357bd6ab53dc Author: Philipp Reisner Date: Thu Jun 10 16:46:54 2010 +0200 drbd: Removing a by now obsolete clause in the state sanitizing Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 18a50fa213d46d5592f6542c91ab4c4760cf346c Author: Philipp Reisner Date: Mon Jun 21 14:14:15 2010 +0200 drbd: Now we need to handle the ed_uuid of an diskless, unconnected primary correctly Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 894c6a946199cf91e52bc1864c3dc6529cceb3db Author: Philipp Reisner Date: Fri Jun 18 16:03:20 2010 +0200 drbd: Disabled the crashed_primary detection for re-attach of last data while IO is frozen Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 47ff2d0a8e7ce87fed180729e8341f650bf585c8 Author: Philipp Reisner Date: Fri Jun 18 13:56:57 2010 +0200 drbd: Do not allow a fencing-policy of resource-and-stonith with protocol A Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 265be2d09853d425ad14a61cda0ca63345613d0c Author: Philipp Reisner Date: Mon May 31 10:14:17 2010 +0200 drbd: Finished the "on-no-data-accessible suspend-io;" functionality When no data is accessible (no connection to the peer, nor a local disk) allow the user to select to freeze all IO operations instead of getting IO errors. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 905cd7d8ac9b18e1f122b90dbebe1246b1c364fd Author: Philipp Reisner Date: Mon May 10 16:03:10 2010 +0200 drbd: Removed redundant error checks in the request code path Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 5ba82308ea766b33404cb130a88fe4113d9c20a3 Author: Philipp Reisner Date: Thu Jun 10 13:30:36 2010 +0200 drbd: factored drbd_req_make_private_bio() out of drbd_req_new() Preparing tl_thaw_dio() Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit b9b98716f83856b928f1c985ab55520c67663dd2 Author: Philipp Reisner Date: Tue Jun 22 11:26:48 2010 +0200 drbd: Do not send two barriers without any writes between them Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 11b58e73a3a3d1bbb582370d59f9b2c4d0136b42 Author: Philipp Reisner Date: Wed May 12 17:08:26 2010 +0200 drbd: factored tl_restart() out of tl_clear(). If IO was frozen for a temporal network outage, resend the content of the transfer-log into the newly established connection. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 2a80699f807885d501f08a7006f6a56c1c937a6e Author: Philipp Reisner Date: Wed Jun 9 14:07:43 2010 +0200 drbd: mod_req has now a return value Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 288f422ec13667de40b278535d2a5fb5c77352c4 Author: Philipp Reisner Date: Thu May 27 15:07:43 2010 +0200 drbd: Track all IO requests on the TL, not writes only With that the drbd_fail_pending_reads() function becomes obsolete. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 7e602c0aaf3e686c36cc742119f0f53f42e9befe Author: Philipp Reisner Date: Thu May 27 14:49:27 2010 +0200 drbd: renamed drbd_tl_epoch.n_req to drbd_tl_epoch.n_writes Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 2989b722c9c4694cf6c5aa378f9c8a14e106d320 Author: Josh Boyer Date: Tue Sep 28 09:03:49 2010 -0400 powerpc/44x: Update ppc44x_defconfig Make sure the new bluestone board is selected for the multiplatform defconfig. Also build logfs and squashfs as modules. Signed-off-by: Josh Boyer commit 3c7d2b765df974ae29a9f1d5a62e15b243a36763 Author: Maciej Å»enczykowski Date: Wed Oct 13 21:47:14 2010 -0700 pcmcia: fix unused function compile warning pcmcia_socket_dev_resume() is only referenced from macro SET_SYSTEM_SLEEP_PM_OPS(NULL, pcmcia_socket_dev_resume) which based on CONFIG_PM_SLEEP may or may not actually use its second parameter. Signed-off-by: Maciej Å»enczykowski Signed-off-by: Dominik Brodowski commit 2df03514de41f3bbb5623f2e7f2bf594e49cb2ec Author: Daniel T Chen Date: Sun Oct 10 22:39:28 2010 -0400 ALSA: hda: Add speaker pin to automute Acer Aspire 8943G BugLink: https://bugs.launchpad.net/bugs/656625 Add clause for handling Acer Aspire 8943G's subwoofer as additional speaker pin for automuting. Reported-by: RussianNeuroMancer Cc: stable@kernel.org Signed-off-by: Daniel T Chen Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 864616ee6785d9fac7a2cd80c01a2da89579f2e4 Author: Takuya Yoshikawa Date: Thu Oct 14 16:09:13 2010 +0900 sched: Comment updates: fix default latency and granularity numbers Targeted preemption latency and minimal preemption granularity for CPU-bound tasks have been changed. This patch updates the comments about these values. Signed-off-by: Takuya Yoshikawa Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20101014160913.eb24fef4.yoshikawa.takuya@oss.ntt.co.jp> Signed-off-by: Ingo Molnar commit ed859ed3b0f9893c6bce3708e8928341c15699b9 Merge: a802707 53eeb64 Author: Ingo Molnar Date: Thu Oct 14 09:11:43 2010 +0200 Merge branch 'linus' into sched/core Merge reason: update from -rc5 to -almost-final Signed-off-by: Ingo Molnar commit 67e87f0a1c5cbc750f81ebf6a128e8ff6f4376cc Author: Jeremy Fitzhardinge Date: Wed Oct 13 16:34:15 2010 -0700 x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S head_64.S maps up to 512 MiB, but that is not necessarity true for other entry paths, such as Xen. Thus, co-locate the setting of max_pfn_mapped with the code to actually set up the page tables in head_64.S. The 32-bit code is already so co-located. (The Xen code already sets max_pfn_mapped correctly for its own use case.) -v2: Yinghai fixed the following bug in this patch: | | max_pfn_mapped is in .bss section, so we need to set that | after bss get cleared. Without that we crash on bootup. | | That is safe because Xen does not call x86_64_start_kernel(). | Signed-off-by: Jeremy Fitzhardinge Fixed-by: Yinghai Lu Signed-off-by: H. Peter Anvin LKML-Reference: <4CB6AB24.9020504@kernel.org> Signed-off-by: Ingo Molnar commit fb62db2ba943b1683f1d7181bb2988fce4c60870 Author: Randy Dunlap Date: Wed Oct 13 11:02:34 2010 -0700 futex: Fix kernel-doc notation & typos Convert futex_requeue() function parameters to use @name kernel-doc notation and add @fshared & @cmpval to prevent kernel-doc warnings. Add @list to struct futex_q. Fix a few typos. Signed-off-by: Randy Dunlap Acked-by: Rusty Russell LKML-Reference: <20101013110234.89b06043.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 3cba11d32bb4b24c3ba257043595772df4b9c7b5 Author: Masami Hiramatsu Date: Thu Oct 14 12:10:42 2010 +0900 kconfig/x86: Add HAVE_TEXT_POKE_SMP config for stop_machine dependency Since the text_poke_smp() definately depends on actual stop_machine() on smp, add that dependency to Kconfig. Signed-off-by: Masami Hiramatsu Cc: Rusty Russell Cc: Ananth N Mavinakayanahalli Cc: 2nddept-manager@sdl.hitachi.co.jp Cc: Mathieu Desnoyers LKML-Reference: <20101014031042.4100.90877.stgit@ltc236.sdl.hitachi.co.jp> Signed-off-by: Ingo Molnar commit 3caa37519ccbb200c7fbbf6ff4fb306a30f29425 Author: Masami Hiramatsu Date: Thu Oct 14 12:10:36 2010 +0900 x86: Use __stop_machine() in text_poke_smp() Use __stop_machine() in text_poke_smp() because the caller must get online_cpus before calling text_poke_smp(), but stop_machine() do it again. We don't need it. Signed-off-by: Masami Hiramatsu Cc: Rusty Russell Cc: Ananth N Mavinakayanahalli Cc: 2nddept-manager@sdl.hitachi.co.jp Cc: Mathieu Desnoyers LKML-Reference: <20101014031036.4100.83989.stgit@ltc236.sdl.hitachi.co.jp> Signed-off-by: Ingo Molnar commit 087a4eb55971dfcc8df18312faf9393d0a479f3a Author: Masami Hiramatsu Date: Thu Oct 14 12:10:30 2010 +0900 stopmachine: Define __stop_machine when CONFIG_STOP_MACHINE=n Define dummy __stop_machine() function even when CONFIG_STOP_MACHINE=n. This getcpu-required version of stop_machine() will be used from poke_text_smp(). Signed-off-by: Masami Hiramatsu Acked-by: Tejun Heo Cc: Rusty Russell Cc: Ananth N Mavinakayanahalli Cc: 2nddept-manager@sdl.hitachi.co.jp Cc: Peter Zijlstra LKML-Reference: <20101014031030.4100.34156.stgit@ltc236.sdl.hitachi.co.jp> Signed-off-by: Ingo Molnar commit fd02e6f7ae085840d43d780149fcf95a614eca5e Author: Masami Hiramatsu Date: Thu Oct 14 12:10:24 2010 +0900 kprobes: Fix selftest to clear flags field for reusing probes Fix selftest to clear flags field for reusing probes because the flags field can be modified by Kprobes. This also set NULL to kprobe.addr instead of 0. Signed-off-by: Masami Hiramatsu Cc: Rusty Russell Cc: Ananth N Mavinakayanahalli Cc: 2nddept-manager@sdl.hitachi.co.jp LKML-Reference: <20101014031024.4100.50107.stgit@ltc236.sdl.hitachi.co.jp> Signed-off-by: Ingo Molnar commit 0f55a2f3d496133dd22f1e4e49fb7301da87c7bb Author: Masami Hiramatsu Date: Thu Oct 14 12:10:18 2010 +0900 kprobes: Update document about irq disabled state in kprobe handler Update kprobes.txt about interrupts disabled state inside kprobes handlers, because optimized probe/boosted kretprobe run without disabling interrrupts on x86. Signed-off-by: Masami Hiramatsu Cc: Rusty Russell Cc: Ananth N Mavinakayanahalli Cc: 2nddept-manager@sdl.hitachi.co.jp LKML-Reference: <20101014031018.4100.64883.stgit@ltc236.sdl.hitachi.co.jp> Signed-off-by: Ingo Molnar commit 1efeb08d7dd32c0fbd4b784ea9303b53d345bfd0 Author: Ingo Molnar Date: Thu Oct 14 08:09:42 2010 +0200 perf, ARM: Fix sysfs bits removal build failure Fix this linux-next build failure that Stephen reported: arch/arm/kernel/perf_event.c: In function 'armpmu_event_init': arch/arm/kernel/perf_event.c:543: error: request for member 'num_events' in something not a structure or union Reported-by: Stephen Rothwell Cc: Peter Zijlstra Cc: paulus LKML-Reference: <20101014164925.4fa16b75.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit e0dc09ff9a28f37441c5e92a14de6abda8db49d6 Author: Timur Tabi Date: Wed Oct 13 14:19:36 2010 -0500 powerpc/watchdog: Make default timeout for Book-E watchdog a Kconfig option The PowerPC Book-E watchdog driver (booke_wdt.c) defines a default timeout value in the code based on whether it's a Freescale Book-E part of not. Instead of having hard-coded values in the driver, make it a Kconfig option. As newer chips gets faster, the current default values become less appropriate, since the timeout sometimes occurs before the kernel finishes booting. Making the value a Kconfig option allows BSPs to configure a new value without requiring the wdt_period command-line parameter to be set. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit abd12fe4d1249f6c2c4b34d5ced82f179e6b5d30 Author: Shaohui Xie Date: Thu Oct 14 10:04:02 2010 +0800 fsl_rio: Add comments for sRIO registers. Add some comments to make sRIO registers map better readable. Signed-off-by: Shaohui Xie Signed-off-by: Kumar Gala commit 6249a26a4cfe945c0840f222e3669deb9bd41425 Author: Kumar Gala Date: Thu Jun 3 03:23:21 2010 -0500 powerpc/fsl-booke: Add e55xx (64-bit) smp defconfig The p5020 SoC from Freescale is the first 64-bit Book-E processor and utilizes the two e5500 cores. Adding a defconfig that enables basic kernel for e5500 based processors. Also added the p5020 / e5500 support to the ppc64e defconfig. Signed-off-by: Kumar Gala commit 95400415c7b3f3dd43034c6c860897ac397ebe1b Author: Kumar Gala Date: Thu Oct 7 14:05:47 2010 -0500 powerpc/fsl-booke: Add p5020 DS board support The P5020DS is in the same family of boards as the P4080 DS and thus shares the corenet_ds code. Signed-off-by: Kumar Gala commit 55fd766b5fad8240b7a6e994b5779a46d28f73d4 Author: Kumar Gala Date: Fri Oct 16 18:48:40 2009 -0500 powerpc/fsl-booke64: Use TLB CAMs to cover linear mapping on FSL 64-bit chips On Freescale parts typically have TLB array for large mappings that we can bolt the linear mapping into. We utilize the code that already exists on PPC32 on the 64-bit side to setup the linear mapping to be cover by bolted TLB entries. We utilize a quarter of the variable size TLB array for this purpose. Additionally, we limit the amount of memory to what we can cover via bolted entries so we don't get secondary faults in the TLB miss handlers. We should fix this limitation in the future. Signed-off-by: Kumar Gala commit 988cf86d4f0da4150e808300c145ba87c0aad02f Author: Kumar Gala Date: Fri Oct 8 02:13:25 2010 -0500 powerpc/fsl-booke: Add support for FSL Arch v1.0 MMU in setup_page_sizes Update setup_page_sizes() to support for a MMU v1.0 FSL style MMU implementation. In such a processor, we don't have TLB0PS or EPTCFG registers (and access to these registers may cause exceptions). We need to parse the older format of TLBnCFG for page size support. Additionaly, assume since we are an FSL implementation that we have 2 TLB arrays and the second array contains the variable size pages. Signed-off-by: Kumar Gala commit 4490c06b581ad7d6392bb398960ef86dfd203a91 Author: Kumar Gala Date: Fri Oct 8 08:32:11 2010 -0500 powerpc/fsl-booke: Add support for FSL 64-bit e5500 core The new e5500 core is similar to the e500mc core but adds 64-bit support. We support running it in 32-bit mode as it is identical to the e500mc. Signed-off-by: Kumar Gala commit 6db92cc9d07db9f713da8554b4bcdfc8e54ad386 Author: Harninder Rai Date: Wed Oct 13 17:30:56 2010 +0530 powerpc/85xx: add cache-sram support It adds cache-sram support in P1/P2 QorIQ platforms as under: * A small abstraction over powerpc's remote heap allocator * Exports mpc85xx_cache_sram_alloc()/free() APIs * Supports only one contiguous SRAM window * Drivers can do the following in Kconfig to use these APIs "select FSL_85XX_CACHE_SRAM if MPC85xx" * Required SRAM size and the offset where SRAM should be mapped must be provided at kernel command line as : cache-sram-size= cache-sram-offset= Signed-off-by: Harninder Rai Signed-off-by: Vivek Mahajan Signed-off-by: Kumar Gala commit 6341efe4b9bd1e1f9c0d0d6ec57fa77949c88bb1 Author: Timur Tabi Date: Thu Oct 7 14:36:42 2010 -0500 powerpc/85xx: add ngPIXIS FPGA device tree node to the P1022DS board The device tree for Freescale's P1022DS reference board is missing the node for the ngPIXIS FPGA. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 3c4b76449b4efc1a1cbd0cade09486bbc8b56401 Author: Kumar Gala Date: Thu Oct 7 17:05:08 2010 -0500 powerpc: Fix compile error with paca code on ppc64e arch/powerpc/kernel/paca.c: In function 'allocate_lppacas': arch/powerpc/kernel/paca.c:111:1: error: parameter name omitted arch/powerpc/kernel/paca.c:111:1: error: parameter name omitted Signed-off-by: Kumar Gala commit b6f9e595d27371c4f2157a294da3caa7aed5fe53 Author: Kumar Gala Date: Thu Oct 7 14:47:10 2010 -0500 powerpc/fsl-booke: Add p3041 DS board support The P3041DS is in the same family of boards as the P4080DS and thus shares the corenet_ds code. Signed-off-by: Kumar Gala commit 4267ea72bb09dc58f006df26c8d3e897489fabca Author: Scott Wood Date: Wed May 19 15:32:21 2010 -0500 oprofile/fsl emb: Don't set MSR[PMM] until after clearing the interrupt. On an arch 2.06 hypervisor, a pending perfmon interrupt will be delivered to the hypervisor at any point the guest is running, regardless of MSR[EE]. In order to reflect this interrupt, the hypervisor has to mask the interrupt in PMGC0 -- and set MSRP[PMMP] to intercept futher guest accesses to the PMRs to detect when to unmask (and prevent the guest from unmasking early, or seeing inconsistent state). This has the side effect of ignoring any changes the guest makes to MSR[PMM], so wait until after the interrupt is clear, and thus the hypervisor should have cleared MSRP[PMMP], before setting MSR[PMM]. The counters wil not actually run until PMGC0[FAC] is cleared in pmc_start_ctrs(), so this will not reduce the effectiveness of PMM. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 4f0e332239e2b5f79757cb8f8f3db16c66f5d220 Author: Kumar Gala Date: Fri Sep 24 13:34:42 2010 -0500 powerpc/fsl-booke: Add PCI device ids for P2040/P3041/P5010/P5020 QoirQ chips Signed-off-by: Kumar Gala commit da3ed89e7ce272ebcc918487e2a28736ca0dd6bb Author: Kumar Gala Date: Tue May 18 07:52:36 2010 -0500 powerpc/mpc8xxx_gpio: Add support for 'qoriq-gpio' controllers Add 'fsl,qoriq-gpio' compatiable to the list we search for to bind against for mpc8xxx_gpio. This compatiable will be used on P1-P5xxx QorIQ devices like P4080. Signed-off-by: Kumar Gala commit 2ed38b23597284cc96a97e295cb145a6202dfcd4 Author: Matthew McClintock Date: Tue Aug 31 18:24:45 2010 -0500 powerpc/fsl_booke: Add support to boot from core other than 0 First we check to see if we are the first core booting up. This is accomplished by comparing the boot_cpuid with -1, if it is we assume this is the first core coming up. Secondly, we need to update the initial thread info structure to reflect the actual cpu we are running on otherwise smp_processor_id() and related functions will return the default initialization value of the struct or 0. Signed-off-by: Matthew McClintock Signed-off-by: Kumar Gala commit f7a07fd9617140c6111de82400ba1bad3162fb85 Author: Timur Tabi Date: Thu Aug 19 16:28:12 2010 -0500 powerpc/p1022: Add probing for individual DMA channels Like the MPC8610 HPCD, the P1022DS ASoC DMA driver probes on individual DMA channel nodes, so the DMA controller nodes' compatible string must be listed in p1022_ds_ids[] to work. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 4ea7c88bec9221031fa57fc7c290fdb5d279748c Author: Matthew McClintock Date: Tue Aug 31 17:44:51 2010 -0500 powerpc/fsl_soc: Search all global-utilities nodes for rstccr The first global-utilities node might not contain the rstcr property, so we should search all the nodes Signed-off-by: Matthew McClintock Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 92437d41374bf59b1914b53bd10ca69d31b1b581 Author: Paul Gortmaker Date: Fri Sep 24 12:44:52 2010 -0400 powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT There exists a four line chunk of code, which when configured for 64 bit address space, can incorrectly set certain page flags during the TLB creation. It turns out that this is code which isn't used, but might still serve a purpose. Since it isn't obvious why it exists or why it causes problems, the below description covers both in detail. For powerpc bootstrap, the physical memory (at most 768M), is mapped into the kernel space via the following path: MMU_init() | + adjust_total_lowmem() | + map_mem_in_cams() | + settlbcam(i, virt, phys, cam_sz, PAGE_KERNEL_X, 0); On settlbcam(), the kernel will create TLB entries according to the flag, PAGE_KERNEL_X. settlbcam() { ... TLBCAM[index].MAS1 = MAS1_VALID | MAS1_IPROT | MAS1_TSIZE(tsize) | MAS1_TID(pid); ^ These entries cannot be invalidated by the kernel since MAS1_IPROT is set on TLB property. ... if (flags & _PAGE_USER) { TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); } For classic BookE (flags & _PAGE_USER) is 'zero' so it's fine. But on boards like the the Freescale P4080, we want to support 36-bit physical address on it. So the following options may be set: CONFIG_FSL_BOOKE=y CONFIG_PTE_64BIT=y CONFIG_PHYS_64BIT=y As a result, boards like the P4080 will introduce PTE format as Book3E. As per the file: arch/powerpc/include/asm/pgtable-ppc32.h * #elif defined(CONFIG_FSL_BOOKE) && defined(CONFIG_PTE_64BIT) * #include So PAGE_KERNEL_X is __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX) and the book3E version of _PAGE_KERNEL_RWX is defined with: (_PAGE_BAP_SW | _PAGE_BAP_SR | _PAGE_DIRTY | _PAGE_BAP_SX) Note the _PAGE_BAP_SR, which is also defined in the book3E _PAGE_USER: #define _PAGE_USER (_PAGE_BAP_UR | _PAGE_BAP_SR) /* Can be read */ So the possibility exists to wrongly assign the user MAS3_U bits to kernel (PAGE_KERNEL_X) address space via the following code fragment: if (flags & _PAGE_USER) { TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); } Here is a dump of the TLB info from Simics with the above code present: ------ L2 TLB1 GT SSS UUU V I Row Logical Physical SS TLPID TID WIMGE XWR XWR F P V ----- ----------------- ------------------- -- ----- ----- ----- --- --- - - - 0 c0000000-cfffffff 000000000-00fffffff 00 0 0 M XWR XWR 0 1 1 1 d0000000-dfffffff 010000000-01fffffff 00 0 0 M XWR XWR 0 1 1 2 e0000000-efffffff 020000000-02fffffff 00 0 0 M XWR XWR 0 1 1 Actually this conditional code was used for two legacy functions: 1: support KGDB to set break point. KGDB already dropped this; now uses its core write to set break point. 2: io_block_mapping() to create TLB in segmentation size (not PAGE_SIZE) for device IO space. This use case is also removed from the latest PowerPC kernel. However, there may still be a use case for it in the future, like large user pages, so we can't remove it entirely. As an alternative, we match on all bits of _PAGE_USER instead of just any bits, so the case where just _PAGE_BAP_SR is set can't sneak through. With this done, the TLB appears without U having XWR as below: ------- L2 TLB1 GT SSS UUU V I Row Logical Physical SS TLPID TID WIMGE XWR XWR F P V ----- ----------------- ------------------- -- ----- ----- ----- --- --- - - - 0 c0000000-cfffffff 000000000-00fffffff 00 0 0 M XWR 0 1 1 1 d0000000-dfffffff 010000000-01fffffff 00 0 0 M XWR 0 1 1 2 e0000000-efffffff 020000000-02fffffff 00 0 0 M XWR 0 1 1 Signed-off-by: Tiejun Chen Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit cd2bd44ea8a2e8be8fff583fa5759e8f3758e67a Author: Ilya Yanok Date: Thu Sep 9 01:55:16 2010 +0200 powerpc/mpc83xx: Support for MPC8308 P1M board This patch adds support for MPC8308 P1M board. Supported devices: DUART Dual Ethernet NOR flash Both I2C controllers USB in peripheral mode PCI Express Signed-off-by: Ilya Yanok Signed-off-by: Kumar Gala commit 677de425583b43bf1af3aea0fa8d433120f0f13c Author: Matthew McClintock Date: Thu Sep 16 17:58:26 2010 -0500 powerpc/85xx: flush dcache before resetting cores When we do an mpic_reset_core we need to make sure the dcache is flushed. Signed-off-by: Matthew McClintock Signed-off-by: Kumar Gala commit 5d692961633d4ecd1ca07313b75ddf35520a4c28 Author: Matthew McClintock Date: Thu Sep 16 17:58:25 2010 -0500 powerpc/85xx: Minor fixups for kexec on 85xx Make kexec_down_cpus atmoic since it will be incremented by all cores as they are coming down. Remove duplicate calls to mpc85xx_smp_kexec_down, now it's called by the crash and normal kexec pathway only once. Increase the timeout to wait for other cores to shutdown. Signed-off-by: Matthew McClintock Signed-off-by: Kumar Gala commit edb85800101c354a395ecc5ed3b52a9499bd4cfc Author: Matthew McClintock Date: Thu Sep 16 17:58:24 2010 -0500 powerpc/85xx: Remove call to mpic_teardown_this_cpu in kexec We no longer need to call this explicitly as a generic version is called by default. Signed-off-by: Matthew McClintock Signed-off-by: Kumar Gala commit c71635d288ffd3bcdfb30308f681f9af34f0fc81 Author: Matthew McClintock Date: Thu Sep 16 17:58:23 2010 -0500 powerpc/kexec: make masking/disabling interrupts generic Right now just the kexec crash pathway turns turns off the interrupts. Pull that out and make a generic version for use elsewhere Signed-off-by: Matthew McClintock Signed-off-by: Kumar Gala commit fbdd7144ceadd578bc2a875af1dabd67e80ba0d0 Author: Timur Tabi Date: Mon Sep 20 11:23:42 2010 -0500 powerpc/watchdog: Allow the Book-E driver to be compiled as a module Register the __init and __exit functions in the PowerPC Book-E Watchdog driver as module entry/exit functions, and modify the Kconfig entry. Add a .release method for the PowerPC Book-E Watchdog driver, so that the watchdog is disabled when the driver is closed. Loosely based on original code from Jiang Yutang . Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 55ec2fca3e99f83b5c674e9aba713d848392f6cc Author: Timur Tabi Date: Mon Sep 20 11:23:41 2010 -0500 powerpc: export ppc_proc_freq and ppc_tb_freq as GPL symbols Export the global variable 'ppc_tb_freq', so that modules (like the Book-E watchdog driver) can use it. To maintain consistency, ppc_proc_freq is changed to a GPL-only export. This is okay, because any module that needs this symbol should be an actual Linux driver, which must be GPL-licensed. Signed-off-by: Timur Tabi Acked-by: Josh Boyer Signed-off-by: Kumar Gala commit b8f44ec2c05f9cfe1647173ac60c0cccb1118c91 Author: Kumar Gala Date: Thu Aug 5 02:45:08 2010 -0500 powerpc/fsl-pci: Fix MSI support on 83xx platforms The following commit broke 83xx because it assumed the 83xx platforms exposed the "IMMR" address in BAR0 like the 85xx/86xx/QoriQ devices do: commit 3da34aae03d498ee62f75aa7467de93cce3030fd Author: Kumar Gala Date: Tue May 12 15:51:56 2009 -0500 powerpc/fsl: Support unique MSI addresses per PCIe Root Complex However that is not true, so we have to search through the inbound window settings on 83xx to find which one matches the IMMR address to determine its PCI address. Reported-by: Ilya Yanok Signed-off-by: Kumar Gala commit b9d228f9e896df1af787b2f3467889ab0832370a Author: Matthias Brugger Date: Wed Oct 13 17:51:02 2010 +0200 spi/atmel: let transfers through if not changing bits_per_word bits_per_word option in spi_transfer are allowed if it does not change the csr register. This is necessary for the driver in drivers/staging/iio/adis16260_core.c, as it uses this option. Signed-off-by: Matthias Brugger Signed-off-by: Grant Likely commit 8e41b527ff2c1d7d8c9a9e8b9f53877af2892cef Author: Grant Likely Date: Wed Oct 13 23:03:15 2010 -0600 spi/topcliff: Fix uninitialized variable defect This patch fixes the following build error introduced by commit 65308c46, "spi/topcliff: cleanup for style and conciseness". drivers/spi/spi_topcliff_pch.c: In function 'pch_spi_process_messages': drivers/spi/spi_topcliff_pch.c:752: warning: 'data' is used uninitialized in +this function Signed-off-by: Grant Likely commit b6b77b2d5ffd2f8ee74fcc27661f7f4962c34705 Author: Paul Mundt Date: Thu Oct 14 08:44:55 2010 +0900 sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. The SDK7786 FPGA has secondary control over the PCIe clocks, specifically relating to the slots and oscillator. This ties the FPGA clocks in to the clock framework and balances the refcounting similar to how the primary on-chip clocks are managed. While the on-chip clocks are per-port, the FPGA clock enable/disable is global for the entire block. Signed-off-by: Paul Mundt commit fef5ba797991f9335bcfc295942b684f9bf613a1 Author: Jeremy Fitzhardinge Date: Wed Oct 13 16:02:24 2010 -0700 xen: Cope with unmapped pages when initializing kernel pagetable Xen requires that all pages containing pagetable entries to be mapped read-only. If pages used for the initial pagetable are already mapped then we can change the mapping to RO. However, if they are initially unmapped, we need to make sure that when they are later mapped, they are also mapped RO. We do this by knowing that the kernel pagetable memory is pre-allocated in the range e820_table_start - e820_table_end, so any pfn within this range should be mapped read-only. However, the pagetable setup code early_ioremaps the pages to write their entries, so we must make sure that mappings created in the early_ioremap fixmap area are mapped RW. (Those mappings are removed before the pages are presented to Xen as pagetable pages.) Signed-off-by: Jeremy Fitzhardinge LKML-Reference: <4CB63A80.8060702@goop.org> Cc: Yinghai Lu Signed-off-by: H. Peter Anvin commit d7acb92fea932ad2e7846480aeacddc2c03c8485 Author: H. Peter Anvin Date: Wed Oct 13 16:00:29 2010 -0700 x86-64, asm: If the assembler supports fxsave64, use it Kbuild allows for us to probe for the existence of specific constructs in the assembler, use them to find out if we can use fxsave64 and permit the compiler to generate better code. Signed-off-by: H. Peter Anvin commit 61a46766c9d5d8fb5dad23da1b7cc4cb8b0107da Author: Paul Mundt Date: Thu Oct 14 07:37:01 2010 +0900 sh: pci: Support slot 4 routing on SDK7786. SDK7786 supports connecting either slot3 or 4 to the same PCIe port by way of FPGA muxing. By default the vertical slot 3 on the baseboard is enabled, so this adds in a command line option for forcibly enabling the slot 4 edge connector. If nothing has been specified on the command line, we fall back to reading the resistor values for card presence to figure out where to route the port to. Signed-off-by: Paul Mundt commit f20ce779bb31a90985b0daea2bf0aaf009d21b81 Author: Kumar Sanghvi Date: Tue Oct 12 20:17:25 2010 +0000 Documentation: Update Phonet doc for Pipe controller changes Updates to Phonet doc for Pipe controller 'connect' socket implementation and changes related to socket options. Signed-off-by: Kumar Sanghvi Signed-off-by: David S. Miller commit b3d6255388de0680a14f0907deb7b7f4fa0d25d5 Author: Kumar Sanghvi Date: Tue Oct 12 20:14:43 2010 +0000 Phonet: 'connect' socket implementation for Pipe controller Based on suggestion by RĂ©mi Denis-Courmont to implement 'connect' for Pipe controller logic, this patch implements 'connect' socket call for the Pipe controller logic. The patch does following:- - Removes setsockopts for PNPIPE_CREATE and PNPIPE_DESTROY - Adds setsockopt for setting the Pipe handle value - Implements connect socket call - Updates the Pipe controller logic User-space should now follow below sequence with Pipe controller:- -socket -bind -setsockopt for PNPIPE_PIPE_HANDLE -connect -setsockopt for PNPIPE_ENCAP_IP -setsockopt for PNPIPE_ENABLE GPRS/3G data has been tested working fine with this. Signed-off-by: Kumar Sanghvi Acked-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 7368ddf144afd79456fd853fa25f33e31da003a9 Author: Paul Gortmaker Date: Tue Oct 12 14:25:58 2010 +0000 tipc: clean out all instances of #if 0'd unused code Remove all instances of legacy, or as yet to be implemented code that is currently living within an #if 0 ... #endif block. In the rare instance that some of it be needed in the future, it can still be dragged out of history, but there is no need for it to sit in mainline. Signed-off-by: Paul Gortmaker Acked-by: Neil Horman Signed-off-by: David S. Miller commit c23cc81a5e5c1d4486b662cedd0afcdf9145f154 Author: Ben Greear Date: Wed Oct 13 12:01:23 2010 -0700 ath9k: Fix potential use-after-free. The ath_debug_stat_tx references bf->bf_mpdu, which is the skb consumed by ath_tx_complete. So, call the ath_debug_stat_tx method first. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit e4b55957eb695b43055b6badec026628b24fe80a Author: Johannes Berg Date: Wed Oct 13 19:23:21 2010 +0200 mac80211: fix SMPS request It looks like I submitted a different patch than I tested, because clearly the code in mac80211 is missing actually propagating the requested SMPS mode. Fix that! Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9c1d8e4affe6748d884a677cf5db19ae0c20ef07 Author: Jouni Malinen Date: Wed Oct 13 17:29:31 2010 +0300 ath9k: Set RX filter for Probe Request based on filter flag This allows mac80211 to enable receiving of Probe Request frames in station mode which is needed for P2P. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 7be5086d4cb7cceb71d724a9524d5e927785d04f Author: Johannes Berg Date: Wed Oct 13 12:06:24 2010 +0200 mac80211: add probe request filter flag Using the frame registration notification, we can see when probe requests are requested and notify the low-level driver via filtering. The flag is also set in AP and IBSS modes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 271733cf844a2f5f186ef3b40c26d6397b71039a Author: Johannes Berg Date: Wed Oct 13 12:06:23 2010 +0200 cfg80211: notify drivers about frame registrations Drivers may need to adjust their filters according to frame registrations, so notify them about them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7a8266524af7ec70d1b3d10f964ce911d922d466 Author: Mohammed Shafi Shajakhan Date: Wed Oct 13 11:47:09 2010 +0530 ath9k: Fix documentation in rate control This fix updates the documenation in Rate Control Table structure Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit d84a35d1323bc62f9b26a707072767a60da75015 Author: Ben Greear Date: Tue Oct 12 10:55:38 2010 -0700 ath5k: Move debugfs under ieee80211/[wiphy-name] This automatically keeps things proper when wiphy is renamed. Based on patch by Johannes Berg Signed-off-by: Ben Greear Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 10d8dad8453f8648a448960d7a2d3d983dfe0ed3 Author: Gerrit Renker Date: Tue Oct 12 07:07:42 2010 +0200 wext: fix alignment problem in serializing 'struct iw_point' wext: fix alignment problem in serializing 'struct iw_point' This fixes a typo in the definition of the serialized length of struct iw_point: a) wireless.h is exported to userspace, the typo causes IW_EV_POINT_PK_LEN to be 12 on 64-bit, and 8 on 32-bit systems (causing misalignment); b) in compat-64 mode iwe_stream_add_point() memcpys overlap (see below). The second case in in compat-64 mode looks like (variable names are as in include/net/iw_handler.h:iwe_stream_add_point()): point_len = IW_EV_COMPAT_POINT_LEN = 8 lcp_len = IW_EV_COMPAT_LCP_LEN = 4 2nd memcpy: IW_EV_POINT_PK_LEN - IW_EV_LCP_PK_LEN = 12 - 4 = 8 IW_EV_LCP_PK_LEN <--------------> *---> 'extra' data area +-------+-------+-------+-------+---------------+------- ...-+ | len | cmd |length | flags | (empty) -> extra ... | +-------+-------+-------+-------+---------------+------- ...-+ 2 2 2 2 4 lcp_len <--------------> <-!! OVERLAP !!> <--1st memcpy--><------- 2nd memcpy -----------> <---- 3rd memcpy ------- ... > <--------- point_len ----------> This case could cause overrun whenever iw_point.length < 4. The other two cases are - * 32-bit systems: IW_EV_POINT_PK_LEN - IW_EV_LCP_PK_LEN = 8 - 4 = 4, the second memcpy copies exactly the 4 required bytes; * 64-bit systems: IW_EV_POINT_PK_LEN - IW_EV_LCP_PK_LEN = 12 - 4 = 8, the second memcpy copies a superfluous (but non overlapping) 4 bytes. The patch changes IW_EV_POINT_PK_LEN to be 8, so that in all 3 cases always only the requested iw_point.{length,flags} (both __u16) are copied, avoiding overrrun (compat-64) and superfluous copy (64-bit). In addition, the userspace header is sanitized (in agreement with version 30 of the wireless tools). Many thanks to Johannes Berg for help and review with this patch. Signed-off-by: Gerrit Renker Signed-off-by: John W. Linville commit a91fd267e327ca7599654b4e9ed7b62c5adaccee Author: Simon Horman Date: Wed Oct 13 21:22:35 2010 +0200 IPVS: ip_vs_dbg_callid() is only needed for debugging ip_vs_dbg_callid() and IP_VS_DEBUG_CALLID() are only needed it CONFIG_IP_VS_DEBUG is defined. This resolves the following build warning when CONFIG_IP_VS_DEBUG is not defined. net/netfilter/ipvs/ip_vs_pe_sip.c:11: warning: 'ip_vs_dbg_callid' defined but not used Reported-by: Patrick McHardy Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 892b6f90db81cccb723d5d92f4fddc2d68b206e1 Author: Martin K. Petersen Date: Wed Oct 13 21:18:03 2010 +0200 block: Ensure physical block size is unsigned int Physical block size was declared unsigned int to accomodate the maximum size reported by READ CAPACITY(16). Make sure we use the right type in the related functions. Signed-off-by: Martin K. Petersen Acked-by: Mike Snitzer Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 447b1d43ded08c11f4f3d344b4e07e6dcddbef95 Author: Daniel Drake Date: Wed Oct 13 19:10:42 2010 +0100 x86, olpc: Register XO-1 platform devices The upcoming XO-1 rfkill driver (for drivers/platform/x86) will register itself with the name "xo1-rfkill", and the already-merged XO-1 poweroff code uses name "olpc-xo1" Add the necessary mechanics so that these devices are properly initialized on XO-1 laptops. Signed-off-by: Daniel Drake LKML-Reference: <20101013181042.90C8F9D401B@zog.reactivated.net> Cc: Matthew Garrett Signed-off-by: H. Peter Anvin commit f7fcec93b619337feb9da829b8a9ab6ba86393bc Author: Paul Mundt Date: Thu Oct 14 03:49:15 2010 +0900 sh: Fix up PMB locking. This first converts the PMB locking over to raw spinlocks, and secondly fixes up a nested locking issue that was triggering lockdep early on: swapper/0 is trying to acquire lock: (&pmbe->lock){......}, at: [<806be9bc>] pmb_init+0xf4/0x4dc but task is already holding lock: (&pmbe->lock){......}, at: [<806be98e>] pmb_init+0xc6/0x4dc other info that might help us debug this: 1 lock held by swapper/0: #0: (&pmbe->lock){......}, at: [<806be98e>] pmb_init+0xc6/0x4dc Signed-off-by: Paul Mundt commit 47da88f36639b8de57f6cdd680f8c27528ccd67c Author: Paul Mundt Date: Thu Oct 14 03:04:44 2010 +0900 sh: mach-sdk7786: Add support for fpga gpios. The sdk7786 FPGA supports a number of user settable input switches that are otherwise unused. This wires up a dummy gpio chip for the switch bank to simply expose them to userspace. Signed-off-by: Paul Mundt commit 9fbb711ee1a70826440502133903d4df025c0b78 Author: David S. Miller Date: Wed Oct 13 09:11:26 2010 -0700 s390: ctcm_mpc: Fix build after netdev refcount changes. Reported-by: Sachin Sant Signed-off-by: David S. Miller commit 9ecdafd883db3c43296797382fc0b2c868144070 Author: Jan Engelhardt Date: Wed Oct 13 16:42:02 2010 +0200 netfilter: xtables: remove unused defines Signed-off-by: Jan Engelhardt commit 75f0a0fd787bfa3ea1a916ca632a5b9e0007cbb7 Author: Jan Engelhardt Date: Wed Oct 13 16:37:45 2010 +0200 netfilter: xtables: unify {ip,ip6,arp}t_error_target Unification of struct *_error_target was forgotten in v2.6.16-1689-g1e30a01. Signed-off-by: Jan Engelhardt commit 243bf6e29eef642de0ff62f1ebf58bc2396d6d6e Author: Jan Engelhardt Date: Wed Oct 13 16:28:00 2010 +0200 netfilter: xtables: resolve indirect macros 3/3 commit 87a2e70db62fec7348c6e5545eb7b7650c33d81b Author: Jan Engelhardt Date: Wed Oct 13 16:11:22 2010 +0200 netfilter: xtables: resolve indirect macros 2/3 Signed-off-by: Jan Engelhardt commit 12b00c2c025b8af697d9a022ea2e928cad889ef1 Author: Jan Engelhardt Date: Wed Oct 13 15:56:56 2010 +0200 netfilter: xtables: resolve indirect macros 1/3 Many of the used macros are just there for userspace compatibility. Substitute the in-kernel code to directly use the terminal macro and stuff the defines into #ifndef __KERNEL__ sections. Signed-off-by: Jan Engelhardt commit 14cae9bd2faf6d0d75702c2e107e75207bcdfec1 Author: Borislav Petkov Date: Wed Sep 29 10:08:23 2010 +0200 tracing: Fix function-graph build warning on 32-bit Fix kernel/trace/trace_functions_graph.c: In function ‘trace_print_graph_duration’: kernel/trace/trace_functions_graph.c:652: warning: comparison of distinct pointer types lacks a cast when building 36-rc6 on a 32-bit due to the strict type check failing in the min() macro. Signed-off-by: Borislav Petkov Cc: Chase Douglas Cc: Steven Rostedt Cc: Ingo Molnar LKML-Reference: <20100929080823.GA13595@liondog.tnic> Signed-off-by: Frederic Weisbecker commit 0982258264d2f615612ab957634efdeb874f47c8 Author: Dmitry Eremin-Solenikov Date: Mon Oct 4 21:46:10 2010 -0700 Input: serio - support multiple child devices per single parent Some (rare) serio devices need to have multiple serio children. One of the examples is PS/2 multiplexer present on several TQC STKxxx boards, which connect PS/2 keyboard and mouse to single tty port. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Dmitry Torokhov commit a8b3c0f57beaba9035e5339175628b63e551b243 Author: Dmitry Torokhov Date: Mon Oct 4 21:46:10 2010 -0700 Input: synaptics - simplify pass-through port handling There was too much knowledge about internals if serio in the pass-through handling, clean it up. Signed-off-by: Dmitry Torokhov commit 4780c8df3856398020be2928d9e9fa8c457a09a4 Author: Naveen Kumar Gaddipati Date: Mon Oct 4 22:32:48 2010 -0700 Input: add ROHM BU21013 touch panel controller support Add the ROHM BU21013 capacitive touch panel controller support with i2c interface. Acked-by: Linus Walleij Signed-off-by: Naveen Kumar Gaddipati Acked-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 9a34bc61160167319fcfa59842cc0373487d533b Author: Mike Turquette Date: Wed Sep 29 23:38:01 2010 -0700 Input: omap4-keypad - wake-up on events & long presses Program keyboard controller to generate a wake-up request on events and on long key presses. It will not generate wake-up requests on timeouts since driver code does not handle them. This allows keyboard to wake-up OMAP from suspend. Signed-off-by: Mike Turquette Signed-off-by: Abraham Arce Signed-off-by: Dmitry Torokhov commit f8038c425148ddd50c7e7223a9a6e71ce5f7e42d Author: Abraham Arce Date: Wed Sep 29 23:37:04 2010 -0700 Input: omap4-keypad - fix interrupt line configuration Select correct interrupt line behaviour. Signed-off-by: Abraham Arce Signed-off-by: Dmitry Torokhov commit 05362f486bf6e6b8adc77424b6edf2f3cd6816ae Author: Abraham Arce Date: Wed Sep 29 23:36:48 2010 -0700 Input: omap4-keypad - SYSCONFIG register configuration Remove SYSCONFIG register configuration, omap hwmod framework will use internal API to modify as required. Other minor updates: - Change a variable name from DEF to VAL, this represents a value - Break line width to 80 characters Signed-off-by: Abraham Arce Signed-off-by: Dmitry Torokhov commit f3a1ba60dbdbf46f2715cc4e3f8abc9d65c4d9bf Author: Abraham Arce Date: Wed Sep 29 23:35:57 2010 -0700 Input: omap4-keypad - use platform device helpers Get mem and irq resources using platform helpers - platform_get_base - platform_get_irq Signed-off-by: Abraham Arce Signed-off-by: Dmitry Torokhov commit 4c61c8457ee92a2afc5a43aa0821971727ebd38c Author: Sundar Iyer Date: Wed Sep 29 19:43:09 2010 -0700 ux500 - add platform data for Nomadik SKE keypad controller Signed-off-by: Sundar Iyer Signed-off-by: Dmitry Torokhov commit 1158f0f16224068e27e384c1a27218aa00243967 Author: Sundar Iyer Date: Wed Sep 29 19:42:14 2010 -0700 Input: add support for Nomadik SKE keypad controller Add support for the keypad controller in the Scroll Key Encoder (SKE) module on the Nomadik family and the DB8500 SoC. Acked-by: Linus Walleij Signed-off-by: Sundar Iyer Signed-off-by: Dmitry Torokhov commit a9cc0202227caa4adb5e823d5fbce7790364941f Author: Dmitry Torokhov Date: Wed Sep 29 18:36:00 2010 -0700 Input: twl4030_keypad - fix error handling path We should not try to call free_irq() when request_irq() failed. Reported-by: G, Manjunath Kondaiah Signed-off-by: Dmitry Torokhov commit 6792cbbb254712a8c0fa8a4c97c8d521c7c41c28 Author: Davidlohr Bueso Date: Wed Sep 29 18:53:35 2010 -0700 Input: return -ENOMEM in select drivers when memory allocation fails Instead of using -1 let's start using proper error codes. Signed-off-by: Davidlohr Bueso Signed-off-by: Dmitry Torokhov commit 7aed3fb73f4ac7912ce9e0c232a15ee012bf4be5 Author: Dmitry Torokhov Date: Wed Sep 29 18:50:17 2010 -0700 Input: emu10k1 - do not leave device enabled when probe fails Rework emu_probe() to make sure we leave the device disabled if probe fails for any reason. Signed-off-by: Dmitry Torokhov commit 05e93a746a0781429de73117b2f2ef48d2312759 Author: Dzianis Kahanovich Date: Wed Sep 29 18:38:10 2010 -0700 Input: hil_kbd - add missing MODULE_DEVICE_TABLE() Signed-off-by: Dzianis Kahanovich Signed-off-by: Dmitry Torokhov commit 3d8a1a6a8af910cc2da566080d111e062a124ba6 Merge: 1b13fe6 5d0d715 Author: Ingo Molnar Date: Wed Oct 13 15:44:24 2010 +0200 Merge branch 'amd-iommu/2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 6edc323db720c65b9e6a770b4bed98f251dd49f0 Author: Tirumala Marri Date: Mon Sep 13 13:26:11 2010 +0000 powerpc/44x: Add support for the AMCC APM821xx SoC This patch adds CPU, device tree, defconfig and bluestone board support for APM821xx SoC. Signed-off-by: Tirumala R Marri Signed-off-by: Josh Boyer commit cf4bb69884c8f6a5791e0e251f0b9dc5d32fc256 Author: Peter Ujfalusi Date: Wed Oct 13 11:56:28 2010 +0300 ASoC: tlv320dac33: Control for line output gain New control to select the line output gain. This gain control affects the linein-to-lineout and dac-to-loneout gain differently. Use enum type to select the desired gain combination. Signed-off-by: Peter Ujfalusi Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 550a1ef18a53cae3d908edceca9daaafbedcf12f Author: Paul Mundt Date: Wed Oct 13 19:24:55 2010 +0900 sh: use pr_fmt for clock framework, too. Signed-off-by: Paul Mundt commit 69395396a0a8866f30d59c66b7be1912ccb5d160 Author: Magnus Damm Date: Wed Oct 13 07:44:36 2010 +0000 sh: remove name and id from struct clk Remove "name" and "id" from drivers/sh/ struct clk. The struct clk members "name" and "id" are not used now when matching is done through clkdev. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1ffbb037d8e81ba4f09901451b39c8f178b05559 Author: Magnus Damm Date: Wed Oct 13 07:17:45 2010 +0000 sh: free-without-alloc fix for sh_mobile_lcdcfb Without this fix the LCDC driver will try to free framebuffer memory even though the allocation failed. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0f9141c974b2dc29b7d1cf245bbf4685350521be Author: Mark Brown Date: Tue Oct 12 15:43:21 2010 +0100 ASoC: Pay attention to driver supplied DAI IDs The driver can specify a DAI ID number so use that. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 2b194f9db444875b4509e6dc92c949c57437c826 Author: Mark Brown Date: Wed Oct 13 10:52:16 2010 +0100 ASoC: Check list debugfs files for PAGE_SIZE overflow Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 4abe8e16a8ad879027de3a0a088f281577ad24a9 Author: Mark Brown Date: Tue Oct 12 17:41:03 2010 +0100 ASoC: Move soc-core module init next to functon definition Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 8c7f78b3c3f3132a36b4747b2e1283a7ca015edb Author: Mark Brown Date: Tue Oct 12 15:56:09 2010 +0100 ASoC: Restore DAI ID specification for WM8994 WM8994 relies on the DAIs having IDs that match the AIF numbers. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 821f4206c4f568bf43e30f1ae5619868fa76413a Author: Mark Brown Date: Tue Sep 21 17:53:38 2010 +0100 ASoC: Add WM8962 microphone bias control We unconditionally require SYSCLK since while only microphone detection specifically requires SYSCLK any actual use case would enable it via some other means but microphone detection may have nothing active other than the bias itself. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 0afe6b901e432bfd93eca9aefdd2ec537b27d1d3 Author: Mika Westerberg Date: Wed Oct 13 11:30:33 2010 +0300 ASoC: ac97: add MODULE_ALIAS for the platform driver So that modprobe can load the driver automatically when the platform device appears. Signed-off-by: Mika Westerberg Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0562f7882d968463119bb63d47ef4bdaba7d6631 Author: Mika Westerberg Date: Wed Oct 13 11:30:32 2010 +0300 ASoC: don't register AC97 devices twice With generic AC97 ASoC glue driver (codec/ac97.c), we get following warning when the device is registered (slightly stripped the backtrace): kobject (c5a863e8): tried to init an initialized object, something is seriously wrong. [] (unwind_backtrace+0x0/0xec) [] (kobject_init+0x38/0x70) [] (device_initialize+0x20/0x70) [] (device_register+0xc/0x18) [] (snd_soc_instantiate_cards+0x924/0xacc [snd_soc_core]) [] (snd_soc_register_platform+0x16c/0x198 [snd_soc_core]) [] (platform_drv_probe+0x18/0x1c) [] (driver_probe_device+0xb0/0x16c) [] (__driver_attach+0x5c/0x7c) [] (bus_for_each_dev+0x48/0x78) [] (bus_add_driver+0x98/0x214) [] (driver_register+0xa4/0x130) [] (do_one_initcall+0xd0/0x1a4) [] (sys_init_module+0x12b0/0x1454) This happens because the generic AC97 glue driver creates its codec->ac97 via calling snd_ac97_mixer(). snd_ac97_mixer() provides own version of snd_device.register which handles the device registration when snd_card_register() is called. To avoid registering the AC97 device twice, we add a new flag to the snd_soc_codec: ac97_created which tells whether the AC97 device was created by SoC subsystem. Signed-off-by: Mika Westerberg Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 7750752a22cbf7760f0073d218c737f5a03bff4a Author: Mika Westerberg Date: Wed Oct 13 11:30:31 2010 +0300 ASoC: ac97: don't call snd_soc_new_ac97_codec at probe It is not needed since snd_ac97_mixer() will create a new ac97 object for us. Removing the call also fixes a memory leak since codec->ac97 is set to NULL at the beginning of snd_ac97_mixer(). Signed-off-by: Mika Westerberg Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 5d0d71569e671239ae0d905ced9b65cd843f99ee Author: Joerg Roedel Date: Wed Oct 13 11:13:21 2010 +0200 x86/amd-iommu: Update copyright headers This patch updates the copyright headers in all source files of the AMD IOMMU driver. Signed-off-by: Joerg Roedel commit 5bcd757f93cc713cf61bbeefceda7539d9afca55 Author: Matthew Garrett Date: Mon Oct 4 14:59:31 2010 -0400 x86/amd-iommu: Reenable AMD IOMMU if it's mysteriously vanished over suspend AMD's reference BIOS code had a bug that could result in the firmware failing to reenable the iommu on resume. It transpires that this causes certain less than desirable behaviour when it comes to PCI accesses, to whit them ending up somewhere near Bristol when the more desirable outcome was Edinburgh. Sadness ensues, perhaps along with filesystem corruption. Let's make sure that it gets turned back on, and that we restore its configuration so decisions it makes bear some resemblance to those made by reasonable people rather than crack-addled lemurs who spent all your DMA on Thunderbird. Signed-off-by: Matthew Garrett Signed-off-by: Joerg Roedel commit 51c6c9bb34fcd112d4ab8b8f5c1d1b6a10a00e71 Author: Paul Mundt Date: Wed Oct 13 17:52:14 2010 +0900 sh: perf: Set up perf_max_events. Presently this is uninitialized in the architecture code, so it's artificlally capped to the default initialization value. Set it up at registration time. Signed-off-by: Paul Mundt commit 4108d9ba9091c55cfb968d42dd7dcae9a098b876 Author: matt mooney Date: Wed Sep 22 20:51:09 2010 +0000 powerpc/Makefiles: Change to new flag variables Replace EXTRA_CFLAGS with ccflags-y and EXTRA_AFLAGS with asflags-y. Signed-off-by: matt mooney Signed-off-by: Benjamin Herrenschmidt commit fc15351d9d63a35fd00c15850fa93a27940f16a0 Author: Arnd Bergmann Date: Tue Sep 14 10:22:33 2010 +0000 powerpc/spufs: Use llseek in all file operations The default for llseek is changing, so we need explicit operations everywhere. Signed-off-by: Arnd Bergmann Cc: Jeremy Kerr Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit f56029b5eafda6175be4e5c91ca69c04ccda3661 Author: Nishanth Aravamudan Date: Fri Oct 1 11:26:18 2010 +0000 powerpc/pseries/xics: Use cpu_possible_mask rather than cpu_all_mask Current firmware only allows us to send IRQs to the first processor or all processors. We currently check to see if the passed in mask is equal to the all_mask, but the firmware is only considering whether the request is for the equivalent of the possible_mask. Thus, we think the request is for some subset of CPUs and only assign IRQs to the first CPU (on systems without irqbalance running) as evidenced by /proc/interrupts. By using possible_mask instead, we account for this and proper interleaving of interrupts occurs. Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit bc0df9ec4c014dac85c0358f56be4223bf0f3334 Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:50 2010 +0000 powerpc/pci: Cleanup device dma setup code Use set_dma_ops and remove unused oddly-named temp pointer sd. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit e72ed6b509a62605fe9aca195c6037abdda6c1ac Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:49 2010 +0000 powerpc/pseries: Use kmemdup While looking at some code paths I came across this code that zeros memory then copies over the entire length. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 45848e0fc1fce399651b3f480bdeb82cc6d3d15a Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:48 2010 +0000 powerpc/viobus: Free TCE table on device release Release the TCE table as the XXX suggests, except on FW_FEATURE_ISERIES, where the tables are allocated globally and reused. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit edea8f6f48416d9a6fd1babb76c19cf05c802325 Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:47 2010 +0000 powerpc/vio: Use put_device() on device_register failure The kernel doc for device_register (and device_initialize) very clearly state to call put_device not kfree after calling, even on error. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit ffa56e555a6e4c205e879636e6cd6104ce03421f Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:46 2010 +0000 powerpc/dma: Fix check for direct DMA support The current check is wrong because it does not take the DMA offset intot account, and in the case of a driver which doesn't actually support 64bits would falsely report that device as working. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 1cb8e85a9d9da4192acfb5f70a80b0c5ce8c3e8f Author: Nishanth Aravamudan Date: Wed Sep 15 08:05:45 2010 +0000 powerpc/dma: Fix dma_iommu_dma_supported compare The table offset is in entries, each of which imply a dma address of an IOMMU page. Also, we should check the device can reach the whole IOMMU table. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit dda804ad4023cc202466c46fcfcc163131953838 Author: Nishanth Aravamudan Date: Wed Sep 15 08:13:19 2010 +0000 powerpc/pci: Fix return type of BUID_{HI,LO} macros BUID_HI and BUID_LO are used to pass data to call_rtas, which expects ints or u32s. But the macro doesn't cast the return, so the result is still u64. Use the upper_32_bits and lower_32_bits macros that have been added to kernel.h. Found by getting printf format errors trying to debug print the args, no actual code change for 64 bit kernels where the macros are actually used. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Acked-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt commit 8032214346c0c892e859cf6eee6c8ba305cbfe78 Author: Julia Lawall Date: Sun Sep 5 09:00:22 2010 +0000 i2c/i2c-pasemi.c: Fix unsigned return type The function has an unsigned return type, but returns a negative constant to indicate an error condition. The result of calling the function is always stored in a variable of type (signed) int, and thus unsigned can be dropped from the return type. A sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @exists@ identifier f; constant C; @@ unsigned f(...) { <+... * return -C; ...+> } // Signed-off-by: Julia Lawall Acked-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit a655237fa2f9e4afe9949abe2c511432ab9537dd Author: Julia Lawall Date: Sat Sep 4 00:12:44 2010 +0000 powerpc/irq.c: Add of_node_put to avoid memory leak In this case, a device_node structure is stored in another structure that is then freed without first decrementing the reference count of the device_node structure. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression x; identifier f; position p1,p2; @@ x@p1->f = \(of_find_node_by_path\|of_find_node_by_name\|of_find_node_by_phandle\|of_get_parent\|of_get_next_parent\|of_get_next_child\|of_find_compatible_node\|of_match_node\|of_find_node_by_type\|of_find_node_with_property\|of_find_matching_node\|of_parse_phandle\|of_node_get\)(...); ... when != of_node_put(x) kfree@p2(x) @script:python@ p1 << r.p1; p2 << r.p2; @@ cocci.print_main("call",p1) cocci.print_secs("free",p2) // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 689fd14ae9b2af5c6862ddc11d4791ec9a938cb3 Author: Joe Perches Date: Sat Sep 11 19:10:53 2010 +0000 powerpc: Remove pr_ uses of KERN_ Signed-off-by: Joe Perches Signed-off-by: Benjamin Herrenschmidt commit 4e74fd7d0a6eda70f9356c113450182a844abcf1 Author: Joe Perches Date: Mon Sep 13 09:47:40 2010 +0000 powerpc: Use static const char arrays Signed-off-by: Joe Perches Reviewed-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 410bccf978819394669dede571de878f4576fd3e Author: Nathan Fontenot Date: Fri Sep 10 09:42:36 2010 +0000 powerpc/pseries: Partition migration in the kernel Enable partition migration in the kernel. To do this a new sysfs file, /sys/kernel/mobility/migration, is created. In order to initiate a migration the stream id (generated by the HMC managing the system) is written to this file. After a migration occurs, and what is the majority of this code, the device tree needs to be updated for the new system the partition is running on. This is done via the ibm,update-nodes and ibm,update-properties rtas calls which return information regarding which nodes and properties of the device tree are to be added/removed/updated. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit d8862be1229534aac1768b8ac663e8fb2bb6ddf6 Author: Nathan Fontenot Date: Fri Sep 10 09:41:35 2010 +0000 powerpc/pseries: Export rtas_ibm_suspend_me() Export the rtas_ibm_suspend_me() routine. This is needed to perform partition migration in the kernel. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 206489748b64510d655e5c99193426667463dd15 Author: Nathan Fontenot Date: Fri Sep 10 09:40:32 2010 +0000 powerpc/pseries: Export device tree updating routines Export routines associated with adding and removing device tree nodes on pseries needed for device tree updating. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 4783f393de3077211c14675a0e57c8a02e9190b0 Merge: 9f5f9ff 5b8544c Author: Benjamin Herrenschmidt Date: Wed Oct 13 16:18:36 2010 +1100 Merge remote branch 'kumar/merge' into next commit a9fadeefdc869ff792591f57a9e33d8790d63292 Author: Jeremy Kerr Date: Sun Oct 10 21:24:10 2010 -0600 of: use __be32 types for big-endian device tree data Use the sparse annotations so we can keep track of endianness. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 52f6537cb2f0b461a9ce3457c01a6cfa2ae0bb22 Author: Andres Salomon Date: Sun Oct 10 21:35:05 2010 -0600 of/irq: remove references to NO_IRQ in drivers/of/platform.c Instead of referencing NO_IRQ in platform.c, define some helper functions in irq.c to call instead from platform.c. Keep NO_IRQ usage local to irq.c, and define NO_IRQ if not defined in headers. Signed-off-by: Andres Salomon Signed-off-by: Grant Likely commit e2f2a93b6384cfe0face0be595bfbda1475d864b Author: Andres Salomon Date: Sun Oct 10 21:52:57 2010 -0600 of/promtree: add package-to-path support to pdt package-to-path is a PROM function which tells us the real (full) name of the node. This provides a hook for that in the prom ops struct, and makes use of it in the pdt code when attempting to determine a node's name. If the hook is available, try using it (falling back to looking at the "name" property if it fails). Signed-off-by: Andres Salomon Signed-off-by: Grant Likely commit ed41850298f7a55519de0b8573e217ed8a45c199 Author: Andres Salomon Date: Sun Oct 10 21:51:25 2010 -0600 of/promtree: add of_pdt namespace to pdt code For symbols still lacking namespace qualifiers, add an of_pdt_ prefix. Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit f90c34bd658d240cb5ebc5fe0a17796e590c6ec8 Author: Andres Salomon Date: Sun Oct 10 21:49:45 2010 -0600 of/promtree: no longer call prom_ functions directly; use an ops structure Rather than assuming an architecture defines prom_getchild and friends, define an ops struct with hooks for the various prom functions that pdt.c needs. This ops struct is filled in by the arch-(and sometimes firmware-)specific code, and passed to of_pdt_build_devicetree. Update sparc code to define the ops struct as well. Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit f3016fa591c788d6d545ef7907e24c8b5d788759 Author: Mingkai Hu Date: Tue Oct 12 18:18:33 2010 +0800 powerpc/of: add eSPI controller dts bindings and DTS modification Also modifiy the document of cell-index in SPI controller. Add the SPI flash(s25fl128p01) support on p4080ds and mpc8536ds board. Signed-off-by: Mingkai Hu Signed-off-by: Grant Likely commit 8b60d6c25b2a2d3525d5322de856c3ca408e5783 Author: Mingkai Hu Date: Tue Oct 12 18:18:32 2010 +0800 spi/fsl_spi: add eSPI controller support Add eSPI controller support based on the library code spi_fsl_lib.c. The eSPI controller is newer controller 85xx/Pxxx devices supported. There're some differences comparing to the SPI controller: 1. Has different register map and different bit definition So leave the code operated the register to the driver code, not the common code. 2. Support 4 dedicated chip selects The software can't controll the chip selects directly, The SPCOM[CS] field is used to select which chip selects is used, and the SPCOM[TRANLEN] field is set to tell the controller how long the CS signal need to be asserted. So the driver doesn't need the chipselect related function when transfering data, just set corresponding register fields to controll the chipseclect. 3. Different Transmit/Receive FIFO access register behavior For SPI controller, the Tx/Rx FIFO access register can hold only one character regardless of the character length, but for eSPI controller, the register can hold 4 or 2 characters according to the character lengths. Access the Tx/Rx FIFO access register of the eSPI controller will shift out/in 4/2 characters one time. For SPI subsystem, the command and data are put into different transfers, so we need to combine all the transfers to one transfer in order to pass the transfer to eSPI controller. 4. The max transaction length limitation The max transaction length one time is limitted by the SPCOM[TRANSLEN] field which is 0xFFFF. When used mkfs.ext2 command to create ext2 filesystem on the flash, the read length will exceed the max value of the SPCOM[TRANSLEN] field. Signed-off-by: Mingkai Hu Signed-off-by: Grant Likely commit b36ece832512c1a0afa54ff0a56d63492a1caf08 Author: Mingkai Hu Date: Tue Oct 12 18:18:31 2010 +0800 spi/mpc8xxx: refactor the common code for SPI/eSPI controller Refactor the common code in file spi_fsl_spi.c to spi_fsl_lib.c used by SPI/eSPI controller driver as a library, and leave the QE/CPM SPI controller code in the SPI controller driver spi_fsl_spi.c. Because the register map of the SPI controller and eSPI controller is so different, also leave the code operated the register to the driver code, not the common code. Signed-off-by: Mingkai Hu Signed-off-by: Grant Likely commit 3272029fb33a88873b9b02224ebeb23bf3a4668e Author: Mingkai Hu Date: Tue Oct 12 18:18:30 2010 +0800 spi/mpc8xxx: rename spi_mpc8xxx.c to spi_fsl_spi.c This will pave the way to refactor out the common code which can be used by the eSPI controller driver, and rename the SPI controller dirver to the file spi_fsl_spi.c. Signed-off-by: Mingkai Hu Signed-off-by: Grant Likely commit 492c032beccd53f807811b6c14909630d409dd8c Merge: f9d629c cb655d0 Author: Grant Likely Date: Tue Oct 12 21:38:02 2010 -0600 Merge commit 'v2.6.36-rc7' into spi/next commit f9d629c737cb6687216a0c540b5466a4bd8b070a Author: Linus Walleij Date: Fri Oct 1 13:33:13 2010 +0200 spi/pl022: fix dubious allocation staticize platform data This removes some dubious allocation of a local chipinfo struct in favor of a constant preset, tagging that one const revealed further problems with platform data being modified so fixed up these too. Reported-by: Virupax Sadashivpetimath Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit 5a1c98be1de165c8ad1bd5343a5d779230669489 Author: Linus Walleij Date: Fri Oct 1 11:47:32 2010 +0200 spi/pl022: get rid of chipinfo dev pointer What is the dev pointer doing inside the platform data anyway. We have another pointer to the actual device at hand, use that. Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit bde435a9ca376d0b7809768ca803dbf14416b9c1 Author: Kevin Wells Date: Thu Sep 16 06:18:50 2010 -0700 spi/pl022: Add spi->mode support to AMBA SPI driver This patch adds spi->mode support for the AMBA pl022 driver and allows spidev to correctly alter SPI modes. Unused fields used in the pl022 header file for the pl022_config_chip have been removed. The ab8500 client driver selects the data transfer size instead of the platform data. For platforms that use the amba pl022 driver, the unused fields in the controller data structure have been removed and the .mode field in the SPI board info structure is used instead. Signed-off-by: Kevin Wells Tested-by: Linus Walleij Acked-by: Linus Walleij Signed-off-by: Grant Likely commit fadcf49b9bd7ec5fb69befbf477e747d5b6a0328 Author: matt mooney Date: Fri Sep 24 12:17:32 2010 -0700 spi: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Signed-off-by: Grant Likely commit b1b6b9aa6fd32db97469e65d301ebc32dcd67992 Author: Linus Walleij Date: Wed Sep 29 17:31:35 2010 +0900 spi/pl022: add PrimeCell generic DMA support This extends the PL022 SSP/SPI driver with generic DMA engine support using the PrimeCell DMA engine interface. Also fix up the test code for the U300 platform. Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit cdbc8f042f4f2568bb58ba8bd50d0692f3059417 Author: Grant Likely Date: Fri Oct 8 12:56:13 2010 -0600 spi/topcliff: Tidy up Kconfig help text The original didn't specify Topcliff in the config prompt text. Signed-off-by: Grant Likely commit 65308c46b760bb2ccb043b47bb5f053dbb8d11b5 Author: Grant Likely Date: Wed Sep 29 17:31:34 2010 +0900 spi/topcliff: cleanups for style and conciseness This patch makes multiple cleanups to the new topcliff pch spi driver including, but not limited to, - removing superfluous brackets around variables - open coding functions that are only used once - removing unnecessary line breaks - removing unused functions - simplifying the interrupt enable/disable code - remove unnecessary (void *) casts. - remove b_mem_fail from pch_spi_set_tx to code it more cleanly - shorten dev_dbg() messages for conciseness and readability More cleanups are still needed in this driver. In particular, - the driver filename should be changed to spi_topcliff_pch.c - many of the dev_dbg() lines should be trimmed (particularly the ones on unconditional code paths). - I suspect that the locking model not correct. I'd like to know what drivers' critical regions are, and how they are protected. - get_resources and release_resources probably should be open coded in .probe and .release respectively. Signed-off-by: Grant Likely commit bf1ebf007911d70a89de9a4a1b36d403e8eb064b Author: Daniel Drake Date: Sun Oct 10 10:40:32 2010 +0100 x86, olpc: Add XO-1 poweroff support Add a pm_power_off handler for the OLPC XO-1 laptop. The driver can be built modular and follows the behaviour of the APM driver, setting pm_power_off to NULL on unload. However, the ability to unload the module will probably be removed (with a simple __module_get(THIS_MODULE)) if/when XO-1 suspend/resume support is added to this file at a later date. Signed-off-by: Daniel Drake LKML-Reference: <20101010094032.9AE669D401B@zog.reactivated.net> Signed-off-by: H. Peter Anvin commit 2a12400eed8be0d5790108cba3908a71d6bb9cae Author: Tony Lindgren Date: Tue Oct 12 16:07:51 2010 -0700 omap: Fix spotty MMC voltages As noted by MichaÅ‚ MirosÅ‚aw , the voltages should cover the supported voltage range, or support only one voltage. As all these boards are using a GPIO to enable the power, chances are that only 3.3V cards are supported on these boards. Reported-by: MichaÅ‚ MirosÅ‚aw Signed-off-by: Tony Lindgren commit c7fc2de0c83dbd2eaf759c5cd0e2b9cf1eb4df3a Author: Yinghai Lu Date: Tue Oct 12 14:07:09 2010 -0700 memblock, bootmem: Round pfn properly for memory and reserved regions We need to round memory regions correctly -- specifically, we need to round reserved region in the more expansive direction (lower limit down, upper limit up) whereas usable memory regions need to be rounded in the more restrictive direction (lower limit up, upper limit down). This introduces two set of inlines: memblock_region_memory_base_pfn() memblock_region_memory_end_pfn() memblock_region_reserved_base_pfn() memblock_region_reserved_end_pfn() Although they are antisymmetric (and therefore are technically duplicates) the use of the different inlines explicitly documents the programmer's intention. The lack of proper rounding caused a bug on ARM, which was then found to also affect other architectures. Reported-by: Russell King Signed-off-by: Yinghai Lu LKML-Reference: <4CB4CDFD.4020105@kernel.org> Cc: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 5e5b3a9dc8405f6a49531a02754a6cc2a1c6cd28 Author: Paul Mundt Date: Wed Oct 13 07:17:03 2010 +0900 sh: perf: Support SH-X3 hardware counters. The PMCAT location has conveniently moved on newer SH-X3 parts, special case this for now with a note. This will probably want to be redone in a less visually offensive way when/if more information becomes available. Signed-off-by: Paul Mundt commit c0f37d2ac34520e992b57115b81294734688b58d Merge: 5d4bff9 c75f2aa e33621a 9f081ce 04a3440 48a4b30 85718fa Author: Tony Luck Date: Tue Oct 12 15:06:59 2010 -0700 Merge branches 'release', 'drop_do_IRQ', 'fix_early_irq', 'misc-2.6.37', 'next-fixes', 'optimize-unwind', 'remove-compat-h' and 'stack_trace' into release commit ace2dc7d12693545b67f15ab8cdb3d255c937713 Author: Paul Mundt Date: Wed Oct 13 06:55:26 2010 +0900 sh: wire up perf alignment and emulation faults. This plugs in the alignment and emulation fault reporting for perf sw events. Signed-off-by: Paul Mundt commit 4de43a6b4cf002e343cf39fa27a3f46c5dc19411 Author: Anand Gadiyar Date: Tue Oct 12 13:27:58 2010 +0000 ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h Commit 346a5c890 (OMAP: control: move plat-omap/control.h to mach-omap2/control.h) in the linux-omap tree removed plat/control.h and most of its callers. This one slipped through - breaking the build as below when CONFIG_SND_OMAP_SOC_MCPDM is defined. Fix this. CC sound/soc/omap/omap-mcpdm.o sound/soc/omap/omap-mcpdm.c:35: fatal error: plat/control.h: No such file or directory compilation terminated. make[3]: *** [sound/soc/omap/omap-mcpdm.o] Error 1 make[2]: *** [sound/soc/omap] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Anand Gadiyar Cc: Misael Lopez Cruz Cc: Liam Girdwood Cc: Mark Brown Cc: Paul Walmsley Acked-by: Mark Brown Acked-by: Jarkko Nikula Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 79fc3e21401be720708931002268b676e36fcf41 Author: Vasiliy Kulikov Date: Sun Oct 10 21:28:35 2010 +0400 serial: omap-serial: fix signess error "ret" is unsigned, so check for (ret < 0) made no sense. Made it signed. Signed-off-by: Vasiliy Kulikov Acked-by: Kevin Hilman commit 908ebfb95d16bdf7f5f37ad911ccd9b7350ba780 Author: Joe Perches Date: Tue Oct 12 11:07:44 2010 -0700 ath5k: fix build break from "ath5k: Print out opmode in debugfs" Also improve ath_opmode_to_string usage by having it return UNKNOWN rather than NULL in the event of failure to map the opmode value to a representative string. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit cfd8e12f42746df396ecbdf7a1d8e92e8e4dbb97 Author: Ben Greear Date: Mon Oct 11 10:28:59 2010 -0700 wireless: Print wiphy name in sysfs. The index cannot be used to reliably reconstruct a phy name, so explicitly add the phy name to sysfs so that scripts can figure out the parent phy device for a particular wireless interface. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit c0a19ebc018222ffd1dd93af5b53d9efd779c19b Author: Thomas Gleixner Date: Tue Oct 12 21:58:27 2010 +0200 genirq: Fix CONFIG_GENIRQ_NO_DEPRECATED=y build This option can be set to verify the full conversion to the new chip functions. Fix the fallout of the patch rework, so the core code compiles and works with it. Signed-off-by: Thomas Gleixner commit 5807bae7eda2d6da673c9f9f52460c3fbcea556c Merge: a13c8f3 fd74d06 Author: John W. Linville Date: Tue Oct 12 15:52:25 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 29b4433d991c88d86ca48a4c1cc33c671475be4b Author: Eric Dumazet Date: Mon Oct 11 10:22:12 2010 +0000 net: percpu net_device refcount We tried very hard to remove all possible dev_hold()/dev_put() pairs in network stack, using RCU conversions. There is still an unavoidable device refcount change for every dst we create/destroy, and this can slow down some workloads (routers or some app servers, mmap af_packet) We can switch to a percpu refcount implementation, now dynamic per_cpu infrastructure is mature. On a 64 cpus machine, this consumes 256 bytes per device. On x86, dev_hold(dev) code : before lock incl 0x280(%ebx) after: movl 0x260(%ebx),%eax incl fs:(%eax) Stress bench : (Sending 160.000.000 UDP frames, IP route cache disabled, dual E5540 @2.53GHz, 32bit kernel, FIB_TRIE) Before: real 1m1.662s user 0m14.373s sys 12m55.960s After: real 0m51.179s user 0m15.329s sys 10m15.942s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f0b9f4725180ea58c8da78b3de0b4e0ad180fc2c Author: Dmitry Kravkov Date: Tue Oct 12 09:02:21 2010 +0000 bnx2x: Fixing a typo: added a missing RSS enablement Reported-by: Eric Dumazet Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Tested-by: Eric Dumazet Signed-off-by: David S. Miller commit 4af8f24d99d119ed68b27d1b0bd6f2ab2b23ed1b Merge: c9ee46a af9a2d0 Author: Russell King Date: Tue Oct 12 20:11:18 2010 +0100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into devel-stable commit 8fa6e3d4549271a5b4094893f059bb95f99a8fde Merge: c239f27 2f34b32 Author: David S. Miller Date: Tue Oct 12 11:43:42 2010 -0700 Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6 commit d7c86ff8cd00abc730fe5d031f43dc9138b6324e Author: Jeff Layton Date: Mon Oct 11 15:07:19 2010 -0400 cifs: don't use vfsmount to pin superblock for oplock breaks Filesystems aren't really supposed to do anything with a vfsmount. It's considered a layering violation since vfsmounts are entirely managed at the VFS layer. CIFS currently keeps an active reference to a vfsmount in order to prevent the superblock vanishing before an oplock break has completed. What we really want to do instead is to keep sb->s_active high until the oplock break has completed. This patch borrows the scheme that NFS uses for handling sillyrenames. An atomic_t is added to the cifs_sb_info. When it transitions from 0 to 1, an extra reference to the superblock is taken (by bumping the s_active value). When it transitions from 1 to 0, that reference is dropped and a the superblock teardown may proceed if there are no more references to it. Also, the vfsmount pointer is removed from cifsFileInfo and from cifs_new_fileinfo, and some bogus forward declarations are removed from cifsfs.h. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit a5e18bc36e9e05ce0338d370a2ce4290910e43ea Author: Jeff Layton Date: Mon Oct 11 15:07:18 2010 -0400 cifs: keep dentry reference in cifsFileInfo instead of inode reference cifsFileInfo is a bit problematic. It contains a reference back to the struct file itself. This makes it difficult for a cifsFileInfo to exist without a corresponding struct file. It would be better instead of the cifsFileInfo just held info pertaining to the open file on the server instead without any back refrences to the struct file. This would allow it to exist after the filp to which it was originally attached was closed. Much of the use of the file pointer in this struct is to get at the dentry. Begin divorcing the cifsFileInfo from the struct file by keeping a reference to the dentry. Since the dentry will have a reference to the inode, we can eliminate the "pInode" field too and convert the igrab/iput to dget/dput. Signed-off-by: Jeff Layton Reviewed-by: Suresh Jayaraman Acked-by: Dave Kleikamp Signed-off-by: Steve French commit b3c0598952e02f1f1f6d003574549d940ecbf31a Author: Gustavo F. Padovan Date: Fri Oct 8 09:13:28 2010 -0300 Bluetooth: update MAINTAINERS for Bluetooth subsys Add myself to MAINTAINERS and update the git trees. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 7f8f2729ce6380a2735ddf45c04d5bb09eaca8a5 Author: Karl Beldan Date: Thu Oct 7 21:57:10 2010 +0200 Bluetooth: hci_uart: Fix typo in stats for sco tx s/stat.cmd_tx++/stat.sco_tx++ for HCI_SCODATA_PKT Signed-off-by: Karl Beldan Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 534c92fde74c8d2143fc15b5f1d957f42cb43570 Author: Andrei Emeltchenko Date: Fri Oct 1 12:05:11 2010 +0300 Bluetooth: clean up rfcomm code Remove dead code and unused rfcomm thread events Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit ab3e571564a5d8fa4923e2e858e574c931a014c7 Author: Haijun Liu Date: Thu Sep 30 16:52:40 2010 +0800 Bluetooth: Update conf_state before send config_req out Update conf_state with L2CAP_CONF_REQ_SENT before send config_req out in l2cap_config_req(). Signed-off-by: Haijun Liu Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 0175d629e096a5a59dde6cc91b32ac3160a44b9e Author: Gustavo F. Padovan Date: Fri Sep 24 20:30:57 2010 -0300 Bluetooth: Use the proper error value from bt_skb_send_alloc() &err points to the proper error set by bt_skb_send_alloc() when it fails. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit d6b2eb2f893547d7488d31a7088d78dd77ab5995 Author: Gustavo F. Padovan Date: Fri Sep 3 18:29:46 2010 -0300 Bluetooth: make batostr() print in the right order The Bluetooth core uses the the BD_ADDR in the opposite order from the human readable order. So we are changing batostr() to print in the correct order and then removing some baswap(), as they are not needed anymore. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit cb810a189da312d4074cb3fc8b0267b7115e7be1 Author: Gustavo F. Padovan Date: Fri Sep 3 17:51:57 2010 -0300 Bluetooth: remove unused variable from cmtp A value was attributed to 'src', but no one was using. Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit aae7fe22a875a84e328469e228cba033ebbf20cb Author: Andrei Emeltchenko Date: Wed Sep 15 14:28:43 2010 +0300 Bluetooth: check for l2cap header in start fragment BLUETOOTH SPECIFICATION Version 4.0 [Vol 3] page 36 mentioned "Note: Start Fragments always begin with the Basic L2CAP header of a PDU." Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 8979481328dc2e14cea9f99b3562ffcf8655998e Author: Andrei Emeltchenko Date: Wed Sep 15 14:28:44 2010 +0300 Bluetooth: check L2CAP length in first ACL fragment Current Bluetooth code assembles fragments of big L2CAP packets in l2cap_recv_acldata and then checks allowed L2CAP size in assemled L2CAP packet (pi->imtu < skb->len). The patch moves allowed L2CAP size check to the early stage when we receive the first fragment of L2CAP packet. We do not need to reserve and keep L2CAP fragments for bad packets. Updated version after comments from Mat Martineau and Gustavo Padovan . Trace below is received when using stress tools sending big fragmented L2CAP packets. ... [ 1712.798492] swapper: page allocation failure. order:4, mode:0x4020 [ 1712.804809] [] (unwind_backtrace+0x0/0xdc) from [] (__alloc_pages_nodemask+0x4) [ 1712.814666] [] (__alloc_pages_nodemask+0x47c/0x4d4) from [] (__get_free_pages+) [ 1712.824645] [] (__get_free_pages+0x10/0x3c) from [] (__alloc_skb+0x4c/0xfc) [ 1712.833465] [] (__alloc_skb+0x4c/0xfc) from [] (l2cap_recv_acldata+0xf0/0x1f8 ) [ 1712.843322] [] (l2cap_recv_acldata+0xf0/0x1f8 [l2cap]) from [] (hci_rx_task+0x) ... Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3cd01976e702ccaffb907727caff4f8789353599 Author: Nobuhiro Iwamatsu Date: Fri Aug 20 16:24:07 2010 +0900 Bluetooth: Add support Bluetooth controller of MacbookPro 7,1 Bluetooth controller of MacbookPro 7,1 does not work. Because Device Class of these controllers was set 255 (Vendor Sepecific Class). T: Bus=04 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05ac ProdID=8213 Rev=01.86 S: Manufacturer=Apple Inc. S: Product=Bluetooth USB Host Controller S: SerialNumber=5C5948C81B99 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) Signed-off-by: Nobuhiro Iwamatsu Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 9c047157a20521cd525527947b13b950d168d2e6 Author: Nobuhiro Iwamatsu Date: Fri Aug 20 16:24:06 2010 +0900 Bluetooth: Add support Bluetooth controller of MacbookPro 6,2 Bluetooth controller of MacbookPro 6,2 does not work. Because Device Class of these controllers was set 255 (Vendor Sepecific Class). T: Bus=01 Lev=03 Prnt=03 Port=02 Cnt=03 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05ac ProdID=8218 Rev=00.22 S: Manufacturer=Apple Inc. S: Product=Bluetooth USB Host Controller C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none) I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Nobuhiro Iwamatsu Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 80e2c88803c72747cb19febe2ad708bf0ad557bf Author: Johan Hedberg Date: Thu Sep 9 10:32:39 2010 +0300 Bluetooth: Don't clear the blacklist when closing the HCI device Clearing the blacklist in hci_dev_do_close() would mean that user space needs to do extra work to re-block devices after a DEVDOWN-DEVUP cycle. This patch removes the clearing of the blacklist in this case and thereby saves user space from the extra work. Signed-off-by: Johan Hedberg Acked-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 5017d8dde13313cab1e607379536a7930ed682b0 Author: Andrei Emeltchenko Date: Wed Sep 8 16:26:53 2010 +0300 Bluetooth: remove extra newline from debug output Signed-off-by: Andrei Emeltchenko Acked-by: Ville Tervo Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 6fdf482bb3298267816be59d9a3dce29632382d3 Author: Mat Martineau Date: Wed Sep 8 10:05:29 2010 -0700 Bluetooth: Use a stream-oriented recvmsg with SOCK_STREAM L2CAP sockets. L2CAP ERTM sockets can be opened with the SOCK_STREAM socket type, which is a mandatory request for ERTM mode. However, these sockets still have SOCK_SEQPACKET read semantics when bt_sock_recvmsg() is used to pull data from the receive queue. If the application is only reading part of a frame, then the unread portion of the frame is discarded. If the application requests more bytes than are in the current frame, only the current frame's data is returned. This patch utilizes common code derived from RFCOMM's recvmsg() function to make L2CAP SOCK_STREAM reads behave like RFCOMM reads (and other SOCK_STREAM sockets in general). The application may read one byte at a time from the input stream and not lose any data, and may also read across L2CAP frame boundaries. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 3d7d01dffec4a6757ed1e3182f01c7ef5caa2539 Author: Mat Martineau Date: Wed Sep 8 10:05:28 2010 -0700 Bluetooth: Use common SOCK_STREAM receive code in RFCOMM To reduce code duplication, have rfcomm_sock_recvmsg() call bt_sock_stream_recvmsg(). The common bt_sock_stream_recvmsg() code is nearly identical, with the RFCOMM-specific functionality for deferred setup and connection unthrottling left in rfcomm_sock_recvmsg(). Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 796c86eec84ddfd02281c5071838ed1fefda6b90 Author: Mat Martineau Date: Wed Sep 8 10:05:27 2010 -0700 Bluetooth: Add common code for stream-oriented recvmsg() This commit adds a bt_sock_stream_recvmsg() function for use by any Bluetooth code that uses SOCK_STREAM sockets. This code is copied from rfcomm_sock_recvmsg() with minimal modifications to remove RFCOMM-specific functionality and improve readability. L2CAP (with the SOCK_STREAM socket type) and RFCOMM have common needs when it comes to reading data. Proper stream read semantics require that applications can read from a stream one byte at a time and not lose any data. The RFCOMM code already operated on and pulled data from the underlying L2CAP socket, so very few changes were required to make the code more generic for use with non-RFCOMM data over L2CAP. Applications that need more awareness of L2CAP frame boundaries are still free to use SOCK_SEQPACKET sockets, and may verify that they connection did not fall back to basic mode by calling getsockopt(). Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 0fba2558cbb3fae3a09147b7d6e18a6204204e0e Author: Mat Martineau Date: Wed Sep 8 10:05:26 2010 -0700 Bluetooth: Validate PSM values in calls to connect() and bind() Valid L2CAP PSMs are odd numbers, and the least significant bit of the most significant byte must be 0. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 08601469a5aac8b3453d8aca0b8f9bd8dfdae12c Author: Yuri Kululin Date: Fri Jul 23 13:57:12 2010 +0400 Bluetooth: Fix RFCOMM RPN negotiation According to the ETSI 3GPP TS 07.10 the default bit rate value for RFCOMM is 9600 bit/s. Return this bit rate in case of RPN request and accept other sane bit rates proposed by the sender in RPM command. Signed-off-by: Yuri Kululin Signed-off-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit fb3d8eb47ce377d6d7a8fc58b8046ea9eb376a28 Author: David Vrabel Date: Mon Aug 9 17:42:21 2010 -0400 Bluetooth: Support SDIO devices that are AMP controllers Signed-off-by: David Vrabel Signed-off-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 8f1e1742233cd1c3444dfc6c945a2efb2814e157 Author: David Vrabel Date: Mon Aug 9 17:38:10 2010 -0400 Bluetooth: HCI devices are either BR/EDR or AMP radios HCI transport drivers may not know what type of radio an AMP device has so only say whether they're BR/EDR or AMP devices. Signed-off-by: David Vrabel Signed-off-by: Marcel Holtmann Signed-off-by: Gustavo F. Padovan commit 1c456013e96f10915578dc61095d19b4906f64ac Author: Jeff Layton Date: Tue Oct 12 11:32:42 2010 -0400 cifs: on multiuser mount, set ownership to current_fsuid/current_fsgid (try #7) commit 3aa1c8c2900065a51268430ab48a1b42fdfe5b45 made cifs_getattr set the ownership of files to current_fsuid/current_fsgid when multiuser mounts were in use and when mnt_uid/mnt_gid were non-zero. It should have instead based that decision on the CIFS_MOUNT_OVERR_UID/GID flags. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 756b0322e50aebc4b9afb4488a2d3f6c802b4e64 Author: Thomas Gleixner Date: Tue Sep 7 14:33:11 2010 +0000 affs: Use sema_init instead of init_MUTEX Get rid of init_MUTE() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Al Viro LKML-Reference: <20100907125056.511395595@linutronix.de> commit 4a9410355406c31695eab9daeba694d7d9714e9b Author: Thomas Gleixner Date: Tue Sep 7 14:33:08 2010 +0000 hfs: Convert tree_lock to mutex tree_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Acked-by: Christoph Hellwig Cc: Al Viro LKML-Reference: <20100907125056.416332114@linutronix.de> commit 5356d94872502e77317f82e8fcae2a0b162af07c Author: Thomas Gleixner Date: Tue Sep 7 14:33:52 2010 +0000 arm: Bcmring: semaphore cleanup Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Leo Chen LKML-Reference: <20100907125057.371771121@linutronix.de> commit 5b8c4f23c54edda640a4850bc9b81dee70acb525 Author: Thomas Gleixner Date: Tue Sep 7 14:33:43 2010 +0000 printk: Make console_sem a semaphore not a pseudo mutex It needs to be investigated whether it can be replaced by a real mutex, but that needs more thought. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig LKML-Reference: <20100907125057.179587334@linutronix.de> commit 8192b1f6b1a46b33213b993471356495a93ffc70 Author: Thomas Gleixner Date: Tue Sep 7 14:33:40 2010 +0000 drivers/macintosh/adb: Do not claim that the semaphore is a mutex User DEFINE_SEMAPHORE() instead of DECLARE_MUTEX() Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Benjamin Herrenschmidt LKML-Reference: <20100907125057.086367802@linutronix.de> commit a529f1505b6facfd0078dcb18a444976c1985962 Author: Thomas Gleixner Date: Tue Sep 7 14:32:34 2010 +0000 parport: Semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Alan Cox Cc: Christoph Hellwig LKML-Reference: <20100907125055.743613774@linutronix.de> commit db7f859ec53c0bfaf3520afe2feafd18a27e48fb Author: Thomas Gleixner Date: Tue Sep 7 14:32:30 2010 +0000 irda: Semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: "David S. Miller" LKML-Reference: <20100907125055.651362456@linutronix.de> commit d1985508320ad40a68375bdbafa8a5d6c56d2114 Author: Thomas Gleixner Date: Tue Sep 7 14:32:25 2010 +0000 net: Wan/cosa.c: Convert "mutex" to semaphore Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: "David S. Miller" LKML-Reference: <20100907125055.557578360@linutronix.de> commit 0bce198b7688911e072bd65032ab9278b577ee93 Author: Thomas Gleixner Date: Tue Sep 7 14:32:22 2010 +0000 net: Ppp_async: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: David Miller LKML-Reference: <20100907125055.460765783@linutronix.de> commit 495e64bddeb9349395ed346177057fff7d52857e Author: Thomas Gleixner Date: Tue Sep 7 14:32:18 2010 +0000 hamradio: Mkiss: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: David Miller LKML-Reference: <20100907125055.368389976@linutronix.de> commit 89d9f10d0b21268d3dba33db984ab03092861700 Author: Thomas Gleixner Date: Tue Sep 7 14:32:14 2010 +0000 hamradio: 6pack: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: David Miller LKML-Reference: <20100907125055.269142443@linutronix.de> commit 50948ee8124c2125d833e8889002aa12a948b4e9 Author: Thomas Gleixner Date: Tue Sep 7 14:32:10 2010 +0000 net: 3c527: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: David Miller LKML-Reference: <20100907125055.175750769@linutronix.de> commit 4a4a506f81eebe63fb1b8e9e99f4bcd1fd9aac66 Author: Thomas Gleixner Date: Tue Sep 7 14:32:06 2010 +0000 input: Serio/hp_sdc: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: Dmitry Torokhov LKML-Reference: <20100907125055.079737758@linutronix.de> commit 45e8492f594dcb17e8cbb26edb2dd3018a68dada Author: Thomas Gleixner Date: Tue Sep 7 14:32:01 2010 +0000 input: Serio/hil_mlc: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: Dmitry Torokhov LKML-Reference: <20100907125054.985090435@linutronix.de> commit 10d0ff83078d5ef99aaf94a2aaceb740f5ced923 Author: Thomas Gleixner Date: Tue Sep 7 14:31:58 2010 +0000 input: Misc/hp_sdc_rtc: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Christoph Hellwig Acked-by: Dmitry Torokhov LKML-Reference: <20100907125054.888438853@linutronix.de> commit fd74d065f43f88eedc7492886d84f0accb683653 Author: Johannes Berg Date: Tue Oct 12 02:26:13 2010 -0700 iwl3945: fix queue allocation commit 6f98613258b966ffe0e6def18129b386514d10e0 Author: Jay Sternberg Date: Sat Sep 18 09:07:04 2010 -0700 iwlagn: reduce redundant parameter definitions broke 3945 because Jay accidentally removed the num_of_queues parameter for 3945, so that we now attempt to allocate a zero-sized queue array, which leads to SLUB returning ZERO_SIZE_PTR (0x10) which we then try to dereference thus crashing the system. Restore the necessary num_of_queues param. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2254 Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bc795df1d225415c2ec6ff2a81c07a753681d945 Author: Wey-Yi Guy Date: Mon Oct 11 14:24:05 2010 -0700 iwlagn: prio_tbl need to download before calibration For WiFi/BT combo devices, priority table always need to download before perform any calibration operation. Signed-off-by: Wey-Yi Guy commit a5901cbb5783b25fa71536503bfa4617d8ee41bd Author: Wey-Yi Guy Date: Thu Sep 23 09:56:51 2010 -0700 iiwlagn: always download priority table For advance BT/WiFi co-exist, always download bt priority table before sending bt_config command Signed-off-by: Wey-Yi Guy commit 37eca0d64a2dbeece25969ec0698e1ff72bdcf39 Merge: 277b199 3c06806 Author: Thomas Gleixner Date: Tue Oct 12 17:27:20 2010 +0200 Merge branch 'linus' into core/locking Reason: Pull in the semaphore related changes Signed-off-by: Thomas Gleixner commit 7df01d96b295e400167e78061b81d4c91630b12d Author: Robert Richter Date: Mon Oct 4 21:09:36 2010 +0200 oprofile: disable write access to oprofilefs while profiler is running Oprofile counters are setup when profiling is disabled. Thus, writing to oprofilefs has no immediate effect. Changes are updated only after oprofile is reenabled. To keep userland and kernel states synchronized, we now allow configuration of oprofile only if profiling is disabled. In this case it checks if the profiler is running and then disables write access to oprofilefs by returning -EBUSY. The change should be backward compatible with current oprofile userland daemon. Acked-by: Maynard Johnson Cc: William Cohen Cc: Suravee Suthikulpanit Signed-off-by: Robert Richter commit 8939b3504dc35224cb9c88e5af925b22ea9eee71 Author: Sekhar Nori Date: Tue Oct 12 10:25:22 2010 +0530 davinci: mityomapl138: make file local data static Most of the regulator data structures are local to the board file, but not made static. Fix this. Also make the nand partition table static. This gets rid of all the sparse warnings for this file. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 9daa42e22030f0c5c357a5e1f8af658411beda6b Author: Shirish Pargaonkar Date: Sun Oct 10 13:21:05 2010 -0500 CIFS ntlm authentication and signing - Build a proper av/ti pair blob for ntlmv2 without extended security authentication Build an av pair blob as part of ntlmv2 (without extended security) auth request. Include netbios and dns names for domain and server and a timestamp in the blob. Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 2ee39065988d632b403f8470942b0b5edee3632b Author: Thomas Gleixner Date: Wed Oct 6 16:28:51 2010 +0200 x86: Switch sparse_irq allocations to GFP_KERNEL No callers from atomic context (except boot) anymore. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit baa0d233afe765daa6dc01ff233aea8c5944f534 Author: Thomas Gleixner Date: Tue Oct 5 15:14:35 2010 +0200 genirq: Switch sparse_irq allocator to GFP_KERNEL The allocator functions are now called outside of preempt disabled regions. Switch to GFP_KERNEL. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit a05a900a51c7622ebd8ddb41f14f8bf9db599d8d Author: Thomas Gleixner Date: Fri Oct 8 12:47:53 2010 +0200 genirq: Make sparse_lock a mutex No callers from atomic regions. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit c2f31c37b7303150ffcce53f6c6ed4ac62952b34 Author: Thomas Gleixner Date: Thu Sep 30 12:19:03 2010 +0200 x86: lguest: Use new irq allocator Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Rusty Russell commit 78f90d91f395cd0dc1ef3f21e0c5cd6fd50d202c Author: Thomas Gleixner Date: Wed Sep 29 17:18:47 2010 +0200 genirq: Remove the now unused sparse irq leftovers The move_irq_desc() function was only used due to the problem that the allocator did not free the old descriptors. So the descriptors had to be moved in create_irq_nr(). That's history. The code would have never been able to move active interrupt descriptors on affinity settings. That can be done in a completely different way w/o all this horror. Remove all of it. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit b7b29338dc7111ed8bd4d6555d84afae13ebe752 Author: Thomas Gleixner Date: Wed Sep 29 18:46:55 2010 +0200 genirq: Sanitize dynamic irq handling Use the cleanup functions of the dynamic allocator. No need to have separate implementations. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit b7d0d8258a9f71949b810e0f82a3d75088f4d364 Author: Thomas Gleixner Date: Wed Sep 29 18:44:23 2010 +0200 genirq: Remove arch_init_chip_data() This function should have not been there in the first place. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 77dff1c755c3218691e95e7e38ee14323b35dbdb Author: Thomas Gleixner Date: Wed Sep 29 17:37:10 2010 +0200 x86: xen: Sanitise sparse_irq handling There seems to be more cleanups possible, but that's left to the xen experts :) Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Jeremy Fitzhardinge commit ad9f43340f48c5f7a0a5ef7656986e23d06bf996 Author: Thomas Gleixner Date: Thu Sep 30 11:26:43 2010 +0200 x86: Use sane enumeration Instead of looping through all interrupts, use the bitmap lookup to find the next. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 48b2650196364e4ef124efb841b63c2326e4ccb2 Author: Thomas Gleixner Date: Thu Sep 30 11:43:08 2010 +0200 x86: uv: Clean up the direct access to irq_desc Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 1a8ce7ff68d777195da2d340561bda610e533a64 Author: Thomas Gleixner Date: Mon Oct 4 21:08:56 2010 +0200 x86: Make io_apic.c local functions static No users outside of io_apic.c Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 10ba1e0eeef6a3c9453d96364e28cb4d911e1ac3 Author: Thomas Gleixner Date: Mon Oct 11 12:21:18 2010 +0200 genirq: Remove irq_2_iommu irq_2_iommu is now in the x86 code where it belongs. Remove all leftovers. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit 1a0730d6649113c820217387a011a17dd4aff3ad Author: Thomas Gleixner Date: Mon Oct 11 11:55:37 2010 +0200 x86: Speed up the irq_remapped check in hot pathes irq_2_iommu is in struct irq_cfg, so we can do the irq_remapped check based on irq_cfg instead of going through a lookup function. That's especially interesting in the eoi_ioapic_irq() hotpath. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit d585d060b42bd36f6f0b23ff327d3b91f80c7139 Author: Thomas Gleixner Date: Sun Oct 10 12:34:27 2010 +0200 intr_remap: Simplify the code further Having irq_2_iommu in struct irq_cfg allows further simplifications. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit 349d67673c08cbc299a69086b0f5447cf1094e9b Author: Thomas Gleixner Date: Sun Oct 10 12:29:27 2010 +0200 intr_remap: Use irq_2_iommu in struct irq_cfg Switch the intr_remapping code to use the irq_2_iommu struct in irg_cfg. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit 423f085952fd7253407cb92984cc2d495a564481 Author: Thomas Gleixner Date: Sun Oct 10 11:39:09 2010 +0200 x86: Embedd irq_2_iommu into irq_cfg That interrupt remapping code is x86 specific and tied to the io_apic code. No need for separate allocator functions in the interrupt remapping code. This allows to simplify the code and irq_2_iommu is small (13 bytes on 64bit) so it's not a real problem even if interrupt remapping is runtime disabled. If it's compile time disabled the impact is zero. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit d0ad63927c6d4d511e172c78ba4a623539ef6901 Author: Thomas Gleixner Date: Mon Oct 4 18:41:37 2010 +0200 pci: intr_remap: Remove unused functions No users. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit a8ef54aeb4308d3730ff31807c495390b98de16a Author: Thomas Gleixner Date: Mon Oct 4 16:51:27 2010 +0200 pci: intr_remap: Use irq_data No need to dereference irq_desc. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit 0e1e367aab873becf3e21d9b0cf46d11154ebc3f Author: Thomas Gleixner Date: Mon Oct 4 16:20:16 2010 +0200 pci: intr-remap: Free irte memory if SPARSE_IRQ=y With SPARSE_IRQ=y the irte descriptors are dynamically allocated, but not freed in free_irte(). That was ok as long as the sparse irq core was not freeing irq descriptors on destroy_irq(). Now we leak the irte descriptor. Free it in free_irte(). Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes commit bc5fdf9f3aad37406b3c8d635a7940cd65de0c12 Author: Thomas Gleixner Date: Fri Oct 8 10:40:53 2010 +0200 x86: io_apic: Remove the now unused sparse_irq arch_* functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit fbc6bff04a095e049be290ff6f6ac68839166bd6 Author: Thomas Gleixner Date: Tue Sep 28 20:34:53 2010 +0200 x86: ioapic: Cleanup sparse irq code Switch over to the new allocator and remove all the magic which was caused by the unability to destroy irq descriptors. Get rid of the create_irq_nr() loop for sparse and non sparse irq. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit fe6dab4e79e82ec35879bfe1a8968b7d15ac0d91 Author: Yinghai Lu Date: Fri Oct 8 22:44:02 2010 -0700 x86: Don't setup ioapic irq for sci twice The sparseirq rework triggered a warning in the iommu code, which was caused by setting up ioapic for ACPI irq 9 twice. This function is solely to handle interrupts which are on a secondary ioapic and outside the legacy irq range. Replace the sparse irq_to_desc check with a non ifdeffed version. [ tglx: Moved it before the ioapic sparse conversion and simplified the inverse logic ] Signed-off-by: Yinghai Lu LKML-Reference: <4CB00122.3030301@kernel.org> Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit f981a3dc1941035a108da1276c448de6b10ddac9 Author: Thomas Gleixner Date: Fri Oct 8 10:44:21 2010 +0200 x86: io_apic: Prepare alloc/free_irq_cfg() Rename the grossly misnamed get_one_free_irq_cfg() to alloc_irq_cfg(). Add a (not yet used) irq number argument to free_irq_cfg() Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 08c33db6d044d9dc74ddf8d9ee3cb1fa3eca262b Author: Thomas Gleixner Date: Wed Oct 6 22:14:21 2010 +0200 x86: Implement new allocator functions Implement new allocator functions which make use of the core changes. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 6e2fff50a5bd72a3f9e6f3ef6e9137efddb2d580 Author: Thomas Gleixner Date: Wed Oct 6 22:07:03 2010 +0200 x86: ioapic: Cleanup get_one_free_irq_cfg() Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 7e495529b62cf462eb2d8875fe15ca446b8e1f94 Author: Thomas Gleixner Date: Tue Sep 28 23:31:50 2010 +0200 x86: ioapic: Cleanup some more Cleanup after the irq_chip conversion a bit. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit be5b7bf73802a9391158d9fcc0bc6b07670c73a5 Author: Thomas Gleixner Date: Fri Oct 8 22:31:46 2010 +0200 x86: Convert ht set_affinity to new chip function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Jesse Barnes commit 0e09ddf2d71aeff92ff8055ac7600b85c255ee85 Author: Thomas Gleixner Date: Fri Oct 8 22:21:26 2010 +0200 x86: Cleanup hpet affinity setting Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit fe52b2d25919eaa01c51651a664f4f2ba6bd2a11 Author: Thomas Gleixner Date: Fri Oct 8 22:19:29 2010 +0200 x86: Convert dmar affinity setting to new chip function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: David Woodhouse commit b5d1c465794f521c352d9c1a33159750c9c3fa84 Author: Thomas Gleixner Date: Fri Oct 8 22:15:49 2010 +0200 x86: Convert remapped msi to new chip.irq_set_affinity function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Suresh Siddha Cc: Jesse Barnes commit f19f5ecc920215decfea54f26e3eb14064506675 Author: Thomas Gleixner Date: Fri Oct 8 21:50:22 2010 +0200 x86: Convert remapped ioapic affinity setting to new irq chip function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Suresh Siddha commit 5346b2a78fa3b900da672928978475acdd4632dc Author: Thomas Gleixner Date: Fri Oct 8 21:49:03 2010 +0200 x86: Convert msi affinity setting to new chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Jesse Barnes commit f7e909eae444ff733ecc5628af76d89c363ab480 Author: Thomas Gleixner Date: Fri Oct 8 21:40:23 2010 +0200 x86: Prepare the affinity common functions for taking struct irq_data * While at it rename it to sensible function names and fix the return value from unsigned to int for __ioapic_set_affinity (set_desc_affinity). Returning -1 in a function returning unsigned int is somewhat strange. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 60c69948e5b6357ac0d5ef2a2d0ce31c173c3c64 Author: Thomas Gleixner Date: Tue Sep 28 17:28:38 2010 +0200 x86: ioapic: Clean up the direct access to irq_desc Most of it is useless pseudo optimization. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit e9f7ac664bfc36685a8eb3315ec21c067d0cee36 Author: Thomas Gleixner Date: Tue Sep 28 17:22:09 2010 +0200 ht: Convert to new irq_chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Jesse Barnes commit 5c2837fbaa609e615ef9a1c58a4cd26ce90be35b Author: Thomas Gleixner Date: Tue Sep 28 17:15:11 2010 +0200 dmar: Convert to new irq chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: David Woodhouse commit d0fbca8f9304d1760fdc906b35b06e89fbdbb51f Author: Thomas Gleixner Date: Tue Sep 28 16:18:39 2010 +0200 x86: ioapic/hpet: Convert to new chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 90297c5fe71d32a2a0ead38bd8f6b1112a2e5ac0 Author: Thomas Gleixner Date: Tue Sep 28 16:03:54 2010 +0200 x86: ioapic: Convert mask to new irq_chip function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 61a38ce3f59cdb4654e9444329195bd57c3baf74 Author: Thomas Gleixner Date: Tue Sep 28 16:00:34 2010 +0200 x86: io_apic: Convert startup to new irq_chip function Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit dd5f15e5cf104c9170b76ae3274f35b42a3e4161 Author: Thomas Gleixner Date: Tue Sep 28 15:18:35 2010 +0200 x86: Cleanup io_apic Sanitize functions. Remove irq_desc pointer magic. Preparatory patch for further cleanups. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit d4eba29770244e7cc5e60c0977d73d84148a3d6d Author: Thomas Gleixner Date: Fri Sep 24 12:26:18 2010 +0200 x86: Cleanup access to irq_data Fixup the open coded access to irq_desc->[handler_data|chip_data|msi-desc] Use the macros and inline functions for it. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 4305df947ca1fd52867c8d56837a4e6b1e33167c Author: Thomas Gleixner Date: Tue Sep 28 15:01:33 2010 +0200 x86: i8259: Convert to new irq_chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 020dd984d7c0792e8234f2e4b4fb0534fe750f9d Author: Thomas Gleixner Date: Tue Sep 28 14:59:58 2010 +0200 x86: Cleanup visws interrupt handling Remove the open coded access to irq_desc and convert to the new irq chip functions. Change the mask function of piix4_virtual_irq_type so we can use the generic irq handling function for the virtual interrupt instead of open coding it. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit fe25c7fc2e036e1569faac8715a8aa5496cda78d Author: Thomas Gleixner Date: Tue Sep 28 14:57:24 2010 +0200 x86: lguest: Convert to new irq chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Rusty Russell commit a5ef2e70405c8a9ee380b5ff33a008c75454791f Author: Thomas Gleixner Date: Tue Sep 28 11:11:10 2010 +0200 x86: Sanitize apb timer interrupt handling Disable the interrupt in CPU_DEAD where it belongs. Remove the open coded irq_desc manipulation. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Jacob Pan commit a3c08e5d80c54e32423efbba113b02942c91f726 Author: Thomas Gleixner Date: Fri Oct 8 20:24:58 2010 +0200 x86: Convert irq_chip access to new functions Before moving the irq chips to the new functions, fixup direct callers. The cpu offline irq fixup code needs to become generic and archs need to honour the "force" flag as an indicator, but that's for later. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 011d578fdadb64bcc1deedbb02216bfee6a9b4dc Author: Thomas Gleixner Date: Tue Sep 28 00:15:31 2010 +0200 x86: Remove useless reinitialization of irq descriptors The descriptors are already initialized in exactly this way. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 39431acb1a4c464e62471cb3058b8ffffb9244db Author: Thomas Gleixner Date: Tue Sep 28 19:09:51 2010 +0200 pci: Cleanup the irq_desc mess in msi Handing down irq_desc to msi just so that msi can access irq_desc.irq_data.msi_desc is a pretty stupid idea. The calling code can hand down a pointer to msi_desc so msi code does not need to know about the irq descriptor at all. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Jesse Barnes commit 1c9db52534a2c0e9776788cd34ccc193289fc18c Author: Thomas Gleixner Date: Tue Sep 28 16:46:51 2010 +0200 pci: Convert msi to new irq_chip functions Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Acked-by: Jesse Barnes Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Cc: Tony Luck Cc: Russell King commit 7c5f13519a67aa7ba3a99155f128d4bdef87d087 Merge: 5e62fea 0219896 Author: Thomas Gleixner Date: Tue Oct 12 16:41:22 2010 +0200 Merge branch 'x86/urgent' of into irq/sparseirq Reason: Pull in the latest io_apic bugfixes Signed-off-by: Thomas Gleixner commit 5e62feabcc3e4127a084701ec54ffe891985b7e8 Merge: 8ffcfa4 234bb54 Author: Thomas Gleixner Date: Tue Oct 12 16:40:34 2010 +0200 Merge branch 'x86/cleanups' into irq/sparseirq Reason: Avoid conflicts with removal of boot_cpu_id Signed-off-by: Thomas Gleixner commit 8ffcfa4e2d96342180e02dfe1230b97778c52d72 Merge: b683de2 fa47f7e Author: Thomas Gleixner Date: Tue Oct 12 16:39:44 2010 +0200 Merge branch 'x86/x2apic' into irq/sparseirq Reason: Avoid conflicts with the x2apic modifications Signed-off-by: Thomas Gleixner commit b683de2b3cb17bb10fa6fd4af614dc75b5749fe0 Author: Thomas Gleixner Date: Mon Sep 27 20:55:03 2010 +0200 genirq: Query arch for number of early descriptors sparse irq sets up NR_IRQS_LEGACY irq descriptors and archs then go ahead and allocate more. Use the unused return value of arch_probe_nr_irqs() to let the architecture return the number of early allocations. Fix up all users. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit aa99ec0f3f26bf2bcd0fa5176de93598427f1e5e Author: Thomas Gleixner Date: Mon Sep 27 20:02:56 2010 +0200 genirq: Use sane sparse allocator Make irq_to_desc_alloc_node() a wrapper around the new allocator. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 25ade601a0f97453c6f511ebfae9339e06a28d75 Author: Thomas Gleixner Date: Thu Sep 30 20:33:11 2010 +0200 genirq-update-kerneldoc.patch Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 06f6c3399e9f9ff6eafc200e80f9226c3cee0eaf Author: Thomas Gleixner Date: Tue Oct 12 12:31:46 2010 +0200 genirq: Implement irq reservation Mark a range of interrupts as allocated. In the SPARSE_IRQ=n case we need this to update the bitmap for the legacy irqs so the enumerator via irq_get_next_irq() works. Signed-off-by: Thomas Gleixner commit a98d24b71b6e229965f18dc00d28dc71cb8fe324 Author: Thomas Gleixner Date: Thu Sep 30 10:45:07 2010 +0200 genirq: Implement sane enumeration Use the allocator bitmap to lookup active interrupts. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 13bfe99e09123ef5edb6acb81ba337d2db600b53 Author: Thomas Gleixner Date: Thu Sep 30 02:46:07 2010 +0200 genirq: Prepare proc for real sparse irq support /proc/irq never removes any entries, but when irq descriptors can be freed for real this is necessary. Otherwise we'd reference a freed descriptor in /proc/irq/N Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 1f5a5b87f78fade3ae48dfd55e8765d1d622ea4e Author: Thomas Gleixner Date: Mon Sep 27 17:48:26 2010 +0200 genirq: Implement a sane sparse_irq allocator The current sparse_irq allocator has several short comings due to failures in the design or the lack of it: - Requires iteration over the number of active irqs to find a free slot (Some architectures have grown their own workarounds for this) - Removal of entries is not possible - Racy between create_irq_nr and destroy_irq (plugged by horrible callbacks) - Migration of active irq descriptors is not possible - No bulk allocation of irq ranges - Sprinkeled irq_desc references all over the place outside of kernel/irq/ (The previous chip functions series is addressing this issue) Implement a sane allocator which fixes the above short comings (though migration of active descriptors needs a full tree wide cleanup of the direct and mostly unlocked access to irq_desc). The new allocator still uses a radix_tree, but uses a bitmap for keeping track of allocated irq numbers. That allows: - Fast lookup of a free slot - Allows the removal of descriptors - Prevents the create/destroy race - Bulk allocation of consecutive irq ranges - Basic design is ready for migration of life descriptors after further cleanups The bitmap is also used in the SPARSE_IRQ=n case for lookup and raceless (de)allocation of irq numbers. So it removes the requirement for looping through the descriptor array to find slots. Right now it uses sparse_irq_lock to protect the bitmap and the radix tree, but after cleaning up all users we should be able convert that to a mutex and to switch the radix_tree and decriptor allocations to GFP_KERNEL. [ Folded in a bugfix from Yinghai Lu ] Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 1318a481fc37c503a901b96ae06b692ca2b21af5 Author: Thomas Gleixner Date: Mon Sep 27 21:01:37 2010 +0200 genirq: Provide default irq init flags Arch code sets it's own irq_desc.status flags right after boot and for dynamically allocated interrupts. That might involve iterating over a huge array. Allow ARCH_IRQ_INIT_FLAGS to set separate flags aside of IRQ_DISABLED which is the default. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit d895f51ebb54cefe367bda135fcf2cd734d51d03 Author: Thomas Gleixner Date: Mon Sep 27 17:45:49 2010 +0200 genirq: Remove export of kstat_irqs_cpu The statistics accessor is only used by proc/stats and show_interrupts(). Both are compiled in. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 40f08a724fcc21285cf3a75aec957aef908605c6 Author: Thomas Gleixner Date: Wed Sep 29 22:16:36 2010 +0200 isdn: hisax: Replace the bogus access to irq stats Abusing irq stats in a driver for counting interrupts is a horrible idea and not safe with shared interrupts. Replace it by a local interrupt counter. Noticed by the attempt to remove the irq stats export. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 154cd387cdf0e5566ce523cbddf92dd2a062dfd6 Author: Thomas Gleixner Date: Wed Sep 22 15:58:45 2010 +0200 genirq: Remove early_init_irq_lock_class() early_init_irq_lock_class() is called way before anything touches the irq descriptors. In case of SPARSE_IRQ=y this is a NOP operation because the radix tree is empty at this point. For the SPARSE_IRQ=n case it's sufficient to set the lock class in early_init_irq(). Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 3795de236d67a05994a1a12759db9d4dd9ffc42c Author: Thomas Gleixner Date: Wed Sep 22 17:09:43 2010 +0200 genirq: Distangle kernel/irq/handle.c kernel/irq/handle.c has become a dumpground for random code in random order. Split out the irq descriptor management and the dummy irq_chip implementation into separate files. Cleanup the include maze while at it. No code change. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit f303a6dd127b5ec6de90d1cd79ed19820c7e9658 Author: Thomas Gleixner Date: Tue Sep 28 17:34:01 2010 +0200 genirq: Sanitize irq_data accessors Get the data structure from the core and provide inline wrappers to access the irq_data members. Provide accessor inlines for irq_data as well. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 442471848f5abb55b99cba1229301655f67492b4 Author: Thomas Gleixner Date: Tue Sep 28 10:40:18 2010 +0200 genirq: Provide status modifier Provide a irq_desc.status modifier function to cleanup the direct access to irq_desc in arch and driver code. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 3a3856d00c74560a7b8d9f8a13c1ca94ee786b78 Author: Thomas Gleixner Date: Mon Oct 4 13:47:12 2010 +0200 genirq: Remove unsused inline move_irq() has no users. Remove it and simplify the ifdef forrest while at it. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit e144710b302525de5b90b9c3ba43562458d8957f Author: Thomas Gleixner Date: Fri Oct 1 16:03:45 2010 +0200 genirq: Distangle irq.h Move irq_desc and internal functions out of irq.h Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 6d97e55f7172303082850c1de085d06fc1e57d17 Author: Dan Carpenter Date: Mon Oct 11 19:24:19 2010 +0200 vhost: fix return code for log_access_ok() access_ok() returns 1 if it's OK otherwise it should return 0. Signed-off-by: Dan Carpenter Signed-off-by: Michael S. Tsirkin commit bdd9ef24cd343c508ed93f1e08f30d4db595b754 Author: David Henningsson Date: Mon Oct 4 12:02:14 2010 +0200 ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers Position_fix quirks for specific machines now override the default position_fix behavior for all HDA controllers. BugLink: http://launchpad.net/bugs/465942 BugLink: http://launchpad.net/bugs/580749 BugLink: http://launchpad.net/bugs/587546 Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 00545785d7e355b0b1b9fb820ec70cb2ae51b409 Author: Kuninori Morimoto Date: Tue Oct 12 18:30:14 2010 +0900 ASoC: Add fsi_is_play function Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit cf6edd007b6c371613a2f48e58f3a4238d9775c8 Author: Kuninori Morimoto Date: Tue Oct 12 11:40:53 2010 +0900 ASoC: fsi: Add new macro and shift for PortA/B In/Out Some FSI register have similar bit array for PortA/B and In/Out. This patch add new macro and shift for it Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 75eda968e4db79bda95e9a5f90aead952c273839 Author: Kuninori Morimoto Date: Tue Oct 12 11:40:14 2010 +0900 ASoC: fsi: avoid un-necessary status read Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a68a3b4ed4ecafcf80f4272e8e1f0670b387041e Author: Kuninori Morimoto Date: Tue Oct 12 11:39:50 2010 +0900 ASoC: fsi: remove un-necessary variable from fsi_dai_startup Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit cca1b2353a364fd51619d0f304dd9681282b864c Author: Kuninori Morimoto Date: Tue Oct 12 11:39:25 2010 +0900 ASoC: fsi: Add fsi_get_frame_width function It is not so important for now. But will be used in future. Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1422408b34fd27ac7ab4a42e72d4b61553b6f631 Author: Kuninori Morimoto Date: Tue Oct 12 13:39:25 2010 +0900 ASoC: ak4642: simultaneous playback/recorde support Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 2f34b32977ade4249601f35f7eb0cdd56b4e0f89 Author: Gerrit Renker Date: Mon Oct 11 20:44:42 2010 +0200 dccp: cosmetics - warning format This omits the redundant "DCCP:" in warning messages, since DCCP_WARN() already echoes the function name, avoiding messages like kernel: [10988.766503] dccp_close: DCCP: ABORT -- 209 bytes unread Signed-off-by: Gerrit Renker commit ecdfbdabbe4e0cf0443cbbea2df1bf51bf67f3f3 Author: Gerrit Renker Date: Mon Oct 11 20:41:13 2010 +0200 dccp: schedule an Ack when receiving timestamps This schedules an Ack when receiving a timestamp, exploiting the existing inet_csk_schedule_ack() function, saving one case in the `dccp_ack_pending()' function. Signed-off-by: Gerrit Renker commit d196c9a5d4e150cdff675662214c80c69b906958 Author: Ivo Calado Date: Mon Oct 11 20:40:04 2010 +0200 dccp: generalise data-loss condition This patch generalises the task of determining data loss from RFC 4340, 7.7.1. Let S_A, S_B be sequence numbers such that S_B is "after" S_A, and let N_B be the NDP count of packet S_B. Then, using modulo-2^48 arithmetic, D = S_B - S_A - 1 is an upper bound of the number of lost data packets, D - N_B is an approximation of the number of lost data packets (there are cases where this is not exact). The patch implements this as dccp_loss_count(S_A, S_B, N_B) := max(S_B - S_A - 1 - N_B, 0) Signed-off-by: Ivo Calado Signed-off-by: Erivaldo Xavier Signed-off-by: Leandro Sales Signed-off-by: Gerrit Renker commit baf9e782e1dc4991edecfa3b8700cf8739c40259 Author: Gerrit Renker Date: Mon Oct 11 20:37:38 2010 +0200 dccp: remove unused argument in CCID tx function This removes the argument `more' from ccid_hc_tx_packet_sent, since it was nowhere used in the entire code. (Btw, this argument was not even used in the original KAME code where the function initially came from; compare the variable moreToSend in the freebsd61-dccp-kame-28.08.2006.patch kept by Emmanuel Lochin.) Signed-off-by: Gerrit Renker commit 93344af44c0f649582bf1e3b5ecc45b3d19e98c2 Author: Gerrit Renker Date: Mon Oct 11 20:36:33 2010 +0200 dccp: merge now-reduced connect_init() function After moving the assignment of GAR/ISS from dccp_connect_init() to dccp_transmit_skb(), the former function becomes very small, so that a merger with dccp_connect() suggests itself. Signed-off-by: Gerrit Renker commit 0b53d4604ac2b4f2faa9a62a04ea9b383ad2efe0 Author: Gerrit Renker Date: Mon Oct 11 20:35:40 2010 +0200 dccp: fix the adjustments to AWL and SWL This fixes a problem and a potential loophole with regard to seqno/ackno validity: currently the initial adjustments to AWL/SWL are only performed once at the begin of the connection, during the handshake. Since the Sequence Window feature is always greater than Wmin=32 (7.5.2), it is however necessary to perform these adjustments at least for the first W/W' (variables as per 7.5.1) packets in the lifetime of a connection. This requirement is complicated by the fact that W/W' can change at any time during the lifetime of a connection. Therefore it is better to perform that safety check each time SWL/AWL are updated, as implemented by the patch. A second problem solved by this patch is that the remote/local Sequence Window feature values (which set the bounds for AWL/SWL/SWH) are undefined until the feature negotiation has completed. During the initial handshake we have more stringent sequence number protection; the changes added by this patch effect that {A,S}W{L,H} are within the correct bounds at the instant that feature negotiation completes (since the SeqWin feature activation handlers call dccp_update_gsr/gss()). Signed-off-by: Gerrit Renker commit 8e4029ee3517084ae00fbfbcb51cc365d8857061 Merge: cd79481 73cf624 Author: H. Peter Anvin Date: Mon Oct 11 17:05:11 2010 -0700 Merge branch 'x86/urgent' into core/memblock Reason for merge: Forward-port urgent change to arch/x86/mm/srat_64.c to the memblock tree. Resolved Conflicts: arch/x86/mm/srat_64.c Originally-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 50f2d7f682f9c0ed58191d0982fe77888d59d162 Author: Nikanth Karthikesan Date: Thu Sep 30 17:34:10 2010 +0530 x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use near(er) online node instead of roundrobin for NUMA" changed NUMA initialization on Intel to choose the nearest online node or first node. Fake NUMA would be better of with round-robin initialization, instead of the all CPUS on first node. Change the choice of first node, back to round-robin. For testing NUMA kernel behaviour without cpusets and NUMA aware applications, it would be better to have cpus in different nodes, rather than all in a single node. With cpusets migration of tasks scenarios cannot not be tested. I guess having it round-robin shouldn't affect the use cases for all cpus on the first node. The code comments in arch/x86/mm/numa_64.c:759 indicate that this used to be the case, which was changed by commit d9c2d5ac6. It changed from roundrobin to nearer or first node. And I couldn't find any reason for this change in its changelog. Signed-off-by: Nikanth Karthikesan Cc: David Rientjes Signed-off-by: Andrew Morton commit c239f279e571a272c1b32a1e84b8fa037b68f49c Author: Michael Chan Date: Mon Oct 11 16:12:28 2010 -0700 bnx2: Enable AER on PCIE devices only To prevent unnecessary error message. pci_save_state() is also moved to the end of ->probe() so that all PCI config, including AER state, will be saved. Update version to 2.0.18. Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 22fa159d37efbfe781bbb99279efe83f58b87d29 Author: Michael Chan Date: Mon Oct 11 16:12:00 2010 -0700 bnx2: Update firmware to 6.0.x. - Improved flow control and simplified interface - Use hardware RSS indirection table instead of the slower firmware- based table - Lower latency interrupt on 5709 Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit e37ef961e50d74f55e9edb48e54dd2e7963aad39 Author: Eric Dumazet Date: Mon Oct 11 12:20:54 2010 +0000 neigh: reorder struct neighbour fields Le mardi 12 octobre 2010 Ă  00:02 +0200, Eric Dumazet a Ă©crit : > Here is the followup patch. > > Thanks ! > Oops, this was an old version, the up2date ones also took care of "used" field. I guess its time for a sleep, sorry again. [PATCH net-next V2] neigh: reorder struct neighbour fields (refcnt) and (ha_lock, ha, used, dev, output, ops, primary_key) should be placed on a separate cache lines. refcnt can be often written, while other fields are mostly read. This gave me good result on stress test : before: real 0m45.570s user 0m15.525s sys 9m56.669s After: real 0m41.841s user 0m15.261s sys 8m45.949s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cd79481d27b9f90aad80c9b972292c42c25bbf8e Author: Yinghai Lu Date: Mon Oct 11 12:34:09 2010 -0700 memblock: Annotate memblock functions with __init_memblock Stephen found WARNING: mm/built-in.o(.text+0x25ab8): Section mismatch in reference from the function memblock_find_base() to the function .init.text:memblock_find_region() The function memblock_find_base() references the function __init memblock_find_region(). This is often because memblock_find_base lacks a __init annotation or the annotation of memblock_find_region is wrong. So let memblock_find_region() to use __init_memblock instead of __init directly. Also fix one function that did not have __init* to be __init_memblock. Reported-by: Stephen Rothwell Signed-off-by: Yinghai Lu LKML-Reference: <4CB366B1.40405@kernel.org> Signed-off-by: H. Peter Anvin commit 236260b90dd94516982ad67aa6f5449c4c37db7b Author: Jeremy Fitzhardinge Date: Wed Oct 6 15:52:29 2010 -0700 memblock: Allow memblock_init to be called early The Xen setup code needs to call memblock_x86_reserve_range() very early, so allow it to initialize the memblock subsystem before doing so. The second memblock_init() is ignored. Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: Benjamin Herrenschmidt LKML-Reference: <4CACFDAD.3090900@goop.org> Signed-off-by: H. Peter Anvin commit 58ff4bd042adf8013c8f70fd03c2c0f8d022e387 Author: Jayamohan Kallickal Date: Wed Oct 6 23:46:47 2010 +0530 [SCSI] be2iscsi: SGE Len == 64K Signed-off-by: Jayamohan Kallickal Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit af4c609c0d645f196b570c58dd4ee878ff3afd24 Author: Jayamohan Kallickal Date: Wed Oct 6 23:46:03 2010 +0530 [SCSI] be2iscsi: Remove premature free of cid Remove unnecessary beiscsi_put_cid that was freeing up the cid while in use Signed-off-by: Jayamohan Kallickal Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 91446f060b9ae27875d38b00dc3c6394b8321bff Author: Jayamohan Kallickal Date: Wed Oct 6 23:45:21 2010 +0530 [SCSI] be2iscsi: More time for FW This patch provides more time for the FW to respond. This became necessary in boot situations Signed-off-by: Jayamohan Kallickal Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 2bc72c91ea7e104b0e40151543d135b933a12e93 Author: Jack Wang Date: Wed Oct 6 16:05:35 2010 +0800 [SCSI] libsas: fix bug for vacant phy This patch fix bug reported by Chuck. And this new version incorporate comments from Hannes. Please consider to include it into mainline. Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Tested-by: Chuck Tuffli Signed-off-by: James Bottomley commit 526f7c7950bbf1271e59177d70d74438c2ef96de Author: Martin K. Petersen Date: Tue Sep 28 14:48:47 2010 -0400 [SCSI] sd: Fix overflow with big physical blocks The hw_sector_size variable could overflow if a device reported huge physical blocks. Switch to the more accurate physical_block_size terminology and make sure we use an unsigned int to match the range permitted by READ CAPACITY(16). Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 88b522771079d7ab5f2334c8271bc13e1d309a5c Author: Niranjana Vishwanathapura Date: Wed Oct 6 13:52:11 2010 -0700 msm: smd: enable smd on qsd8x50 target Add msm_smd device in the qsd8x50 board file. Signed-off-by: Niranjana Vishwanathapura Signed-off-by: Daniel Walker commit a8855e9c093fdb35b40a707d580c75d523fed16e Author: Niranjana Vishwanathapura Date: Wed Oct 6 13:52:10 2010 -0700 msm: smd: enable smd on msm7x30 target Add msm_smd device in the msm7x30 board file. Signed-off-by: Niranjana Vishwanathapura Signed-off-by: Daniel Walker commit 29e29f27486ed7074df259b3eda8656bb014e9b5 Author: Linus Walleij Date: Fri Oct 1 09:15:41 2010 +0100 ARM: 6421/1: amba-pl011: add missing ST specific registers The ST Micro derivates have several extra interesting registers that we may soon use for something interesting so may just as well define them in the header. Signed-off-by: Jonas Aaberg Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 8b1f5d91e23300ea2f65007047d26799157dc4b8 Author: Jassi Brar Date: Tue Sep 7 04:02:16 2010 +0100 ARM: 6367/1: PL330: Accept different revision The driver can handle different revisions of the core which vary only minorly. Signed-off-by: Jassi Brar Signed-off-by: Russell King commit 725343fa748fc9b7c883d198e9cec391425aa478 Author: Linus Walleij Date: Sat Oct 9 13:43:21 2010 +0100 ARM: 6437/2: mmci: add some register defines for ST Micro variants This adds a few registers to the MMCI/PL180 derivates that is used for some odd control stuff like SDIO. Signed-off-by: Marcin Mielczarczyk Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 0e4905c0199d683497833be60a428c784d7575b8 Author: Peter Ujfalusi Date: Mon Oct 11 14:18:56 2010 -0700 OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish Implement the suggested workaround for OMAP3 regarding to sDMA draining issue, when the channel is disabled on the fly. This errata affects the following configuration: sDMA transfer is source synchronized Buffering is enabled SmartStandby is selected. The issue can be easily reproduced by creating overrun situation while recording audio. Either introduce load to the CPU: nice -19 arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null & \ dd if=/dev/urandom of=/dev/null or suspending the arecord, and resuming it: arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null CTRL+Z; fg; CTRL+Z; fg; ... In case of overrun audio stops DMA, and restarts it (without reseting the sDMA channel). When we hit this errata in stop case (sDMA drain did not complete), at the coming start the sDMA will not going to be operational (it is still draining). This leads to DMA stall condition. On OMAP3 we can recover with sDMA channel reset, it has been observed that by introducing unrelated sDMA activity might also help (reading from MMC for example). The same errata exists for OMAP2, where the suggestion is to disable the buffering to avoid this type of error. On OMAP3 the suggestion is to set sDMA to NoStandby before disabling the channel, and wait for the drain to finish, than configure sDMA to SmartStandby again. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Acked-by : Santosh Shilimkar Acked-by : Manjunath Kondaiah G Signed-off-by: Tony Lindgren commit 3e57f1626b5febe5cc99aa6870377deef3ae03cc Author: Jarkko Nikula Date: Mon Oct 11 14:18:45 2010 -0700 omap: dma: Fix buffering disable bit setting for omap24xx An errata workaround for omap24xx is not setting the buffering disable bit 25 what is the purpose but channel enable bit 7 instead. Background for this fix is the DMA stalling issue with ASoC omap-mcbsp driver. Peter Ujfalusi has found an issue in recording that the DMA stall could happen if there were a buffer overrun detected by ALSA and the DMA was stopped and restarted due that. This problem is known to occur on both OMAP2420 and OMAP3. It can recover on OMAP3 after dma free, dma request and reconfiguration cycle. However, on OMAP2420 it seems that only way to recover is a reset. Problem was not visible before the commit c12abc0. That commit changed that the McBSP transmitter/receiver is released from reset only when needed. That is, only enabled McBSP transmitter without transmission was able to prevent this DMA stall problem in receiving side and underlying problem did not show up until now. McBSP transmitter itself seems to no be reason since DMA stall does not recover by enabling the transmission after stall. Debugging showed that there were a DMA write active during DMA stop time and it never completed even when restarting the DMA. Experimenting showed that the DMA buffering disable bit could be used to avoid stalling when using source synchronized transfers. However that could have performance hit and OMAP3 TRM states that buffering disable is not allowed for destination synchronized transfers so subsequent patch will implement a method to complete DMA writes when stopping. This patch is based on assumtion that complete lock-up on OMAP2420 is different but related problem. I don't have access to OMAP2420 errata but I believe this old workaround here is put for a reason but unfortunately a wrong bit was typed and problem showed up only now. Signed-off-by: Jarkko Nikula Signed-off-by: Peter Ujfalusi Acked-by: Manjunath Kondaiah G Signed-off-by: Tony Lindgren commit 7bdb0d18bfd381cc5491eb95973ec5604b356c7e Author: Tristan Ye Date: Mon Oct 11 16:46:39 2010 +0800 ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes. Currently, the default behavior of O_DIRECT writes was allowing concurrent writing among nodes to the same file, with no cluster coherency guaranteed (no EX lock held). This can leave stale data in the cache for buffered reads on other nodes. The new mount option introduce a chance to choose two different behaviors for O_DIRECT writes: * coherency=full, as the default value, will disallow concurrent O_DIRECT writes by taking EX locks. * coherency=buffered, allow concurrent O_DIRECT writes without EX lock among nodes, which gains high performance at risk of getting stale data on other nodes. Signed-off-by: Tristan Ye Signed-off-by: Joel Becker commit e79f86b2ef9c0a8c47225217c1018b7d3d90101c Author: Yinghai Lu Date: Mon Oct 11 10:40:25 2010 -0700 swiotlb: Use page alignment for early buffer allocation We could call free_bootmem_late() if swiotlb is not used, and it will shrink to page alignment. So alloc them with page alignment at first, to avoid lose two pages before patch: [ 0.000000] memblock_x86_reserve_range: [00d3600000, 00d7600000] swiotlb buffer [ 0.000000] memblock_x86_reserve_range: [00d7e7ef40, 00d7e9ef40] swiotlb list [ 0.000000] memblock_x86_reserve_range: [00d7e3ef40, 00d7e7ef40] swiotlb orig_ad [ 0.000000] memblock_x86_reserve_range: [000008a000, 0000092000] swiotlb overflo after patch will get [ 0.000000] memblock_x86_reserve_range: [00d3600000, 00d7600000] swiotlb buffer [ 0.000000] memblock_x86_reserve_range: [00d7e7e000, 00d7e9e000] swiotlb list [ 0.000000] memblock_x86_reserve_range: [00d7e3e000, 00d7e7e000] swiotlb orig_ad [ 0.000000] memblock_x86_reserve_range: [000008a000, 0000092000] swiotlb overflo Signed-off-by: Yinghai Lu Acked-by: FUJITA Tomonori Cc: Becky Bruce Signed-off-by: Konrad Rzeszutek Wilk commit 75d9bbc73804285020aa4d99bd2a9600edea8945 Author: Goldwyn Rodrigues Date: Mon Oct 11 12:57:09 2010 -0500 Initialize max_slots early Functions such as ocfs2_recovery_init() make use of osb->max_slots. Initialize osb->max_slots early so the functions may use the correct value. Signed-off-by: Goldwyn Rodrigues Signed-off-by: Joel Becker commit f30d44f3e54a94e037da7a71d714b585dab28d9e Author: Poyo VL Date: Mon Oct 11 13:45:52 2010 -0700 When I tried to compile I got the following warning: fs/ocfs2/slot_map.c: In function ‘ocfs2_init_slot_info’: fs/ocfs2/slot_map.c:360: warning: ‘bytes’ may be used uninitialized in this function fs/ocfs2/slot_map.c:360: note: ‘bytes’ was declared here Compiler: gcc version 4.4.3 (GCC) on Mandriva I'm not sure why this warning occurs, I think compiler don't know that variable "bytes" is initialized when it is sent by reference to ocfs2_slot_map_physical_size and it throws that ugly warning. However, a simple initialization of "bytes" variable with 0 will fix it. Signed-off-by: Ionut Gabriel Popescu Signed-off-by: Joel Becker commit 9b5cd10e4c14a1a642076ace6a73be3d33c91fb6 Author: Srinivas Eeda Date: Tue Oct 5 15:53:06 2010 -0700 ocfs2: validate bg_free_bits_count after update This patch adds a safe check to ensure bg_free_bits_count doesn't exceed bg_bits in a group descriptor. This is to avoid on disk corruption that was seen recently. debugfs: group <52803072> Group Chain: 179 Parent Inode: 11 Generation: 2959379682 CRC32: 00000000 ECC: 0000 ## Block# Total Used Free Contig Size 0 52803072 32256 4294965350 34202 18207 4032 ...... Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit fc66f95c68b6d4535a0ea2ea15d5cf626e310956 Author: Eric Dumazet Date: Fri Oct 8 06:37:34 2010 +0000 net dst: use a percpu_counter to track entries struct dst_ops tracks number of allocated dst in an atomic_t field, subject to high cache line contention in stress workload. Switch to a percpu_counter, to reduce number of time we need to dirty a central location. Place it on a separate cache line to avoid dirtying read only fields. Stress test : (Sending 160.000.000 UDP frames, IP route cache disabled, dual E5540 @2.53GHz, 32bit kernel, FIB_TRIE, SLUB/NUMA) Before: real 0m51.179s user 0m15.329s sys 10m15.942s After: real 0m45.570s user 0m15.525s sys 9m56.669s With a small reordering of struct neighbour fields, subject of a following patch, (to separate refcnt from other read mostly fields) real 0m41.841s user 0m15.261s sys 8m45.949s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ed8ddf4045fcfcac36bad753dc4046118c603ec Author: Eric Dumazet Date: Thu Oct 7 10:44:07 2010 +0000 neigh: Protect neigh->ha[] with a seqlock Add a seqlock in struct neighbour to protect neigh->ha[], and avoid dirtying neighbour in stress situation (many different flows / dsts) Dirtying takes place because of read_lock(&n->lock) and n->used writes. Switching to a seqlock, and writing n->used only on jiffies changes permits less dirtying. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d122179a3c0fdc71b88cb9e3605f372b1651a9ff Merge: 419c204 b00916b Author: David S. Miller Date: Mon Oct 11 12:30:34 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/core/ethtool.c commit a13c8f3133b250e732c383b1c390d625e755db03 Author: Ivo van Doorn Date: Mon Oct 11 15:39:48 2010 +0200 rt2x00: Fix URB error handling kill_urb guarentees that when the function returns, the URB has been fully killed. This means we don't need the extra sleeping after the call to kill_urb. kill_urb can however also guarentee the submit_urb to fail, as a result, we must catch the return value from submit_urb an correctly mark the entry as owned by the driver, and the status as broken. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1a397696536e896e7d763c0c38f3ae3e588b5d52 Author: Ivo van Doorn Date: Mon Oct 11 15:39:04 2010 +0200 rt2x00: Don't perform watchdog checks on empty queue The currently used watchdog functions cannot be applied to empty queues. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit a1d1eabc8c42ddf5fd3ea4184094561b3edd127b Author: Ivo van Doorn Date: Mon Oct 11 15:38:45 2010 +0200 rt2x00: Make queue_entry flags access atomic All access to the queue_entry->flags can be done concurrently, so all flags must use the atomic operators. On most locations this was already done, so just fix the last few non-atomic versions. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 1550c8ef835af17df322045e92541561afa0f017 Author: Ivo van Doorn Date: Mon Oct 11 15:38:26 2010 +0200 rt2x00: Fix dead queue when skb allocation failed When the RX skb allocation failed, we should recycle the previously allocated skbuffer. By calling return we would kill the RX queue completely since the entry would be invalidated. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 3590eea41815679e268c90d30795a13a732b8413 Author: Ivo van Doorn Date: Mon Oct 11 15:38:07 2010 +0200 rt2x00: Validate MCS on RX path Similar to the PLCP signal and bitrates values, we should validate the MCS value from the RX descriptor before sending it to mac80211. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit cdfd2c5cffac2e744c855f9998212867387bb2de Author: Ivo van Doorn Date: Mon Oct 11 15:37:47 2010 +0200 rt2x00: Move watchdog work to kernel work_queue The watchdog function must run on a work_queue which is independent of any other work inside rt2x00. The main reasons, being that a broken work on the mac80211 work_queue can otherwise prevent the watchdog to run (while in fact the watchdog could fix the issue). And on the other hand because the watchdog relies on the completion of the completion handlers for RX/TX which for the USB case, occur on the mac80211 workqueue. This fixes some "Queue %d failed to flush" errors, which were caused by the watchdog function waiting on the completion handler which was scheduled to run right after the watchdog. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit fa69560f317d961c56e29dea788b346d2b34fb87 Author: Ivo van Doorn Date: Mon Oct 11 15:37:25 2010 +0200 rt2x00: Simplify Queue function arguments A lot of functions accept a struct rt2x00_dev combined with either a struct queue_entry or struct data_queue argument. This can be simplified by only passing on the queue/entry argument. In cases where rt2x00_dev and a sk_buff are send together, we can send the queue_entry instead. rt2x00usb_alloc_urb and rt2x00usb_free_urb have a bit of vague naming. Instead they allocate all the data which belongs to a rt2x00 data queue entry. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit a9325199edb093a5c7311a25d15da20ee984e80b Author: Jiri Slaby Date: Mon Oct 11 11:27:32 2010 +0200 WIRELESS: at76c50x, remove unneeded NULL check Stanse found that urb cannot be NULL in at76_rx_tasklet because it is dereferenced earlier, so remove the unneeded check. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit f2a6d6a08cf13f621661dd57f32bf0a5100ba26b Author: RafaÅ‚ MiÅ‚ecki Date: Mon Oct 11 03:19:22 2010 +0200 b43: N-PHY: prepare for rev3+ channel tables Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 087de74ae512fe31894c1556d5f8d5a126322de7 Author: RafaÅ‚ MiÅ‚ecki Date: Mon Oct 11 03:11:03 2010 +0200 b43: N-PHY: fix logic in band switching Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit e5c407f970ea2977600eb54cf4cc8a67a44fefeb Author: RafaÅ‚ MiÅ‚ecki Date: Mon Oct 11 03:11:02 2010 +0200 b43: N-PHY: store info about current channel's type Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit a656b6a9665dce09a8f273091f1b4aa3d5cec721 Author: RafaÅ‚ MiÅ‚ecki Date: Mon Oct 11 03:11:01 2010 +0200 b43: N-PHY: grab more info about new channel Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit a8909cfb1832ac623142898df2a9374722cfe68f Author: Björn Smedman Date: Sun Oct 10 22:51:54 2010 +0200 ath9k: built-in rate control A-MPDU fix This patch attempts to ensure that ath9k's built-in rate control algorithm does not rely on the value of the ampdu_len and ampdu_ack_len tx status fields unless the IEEE80211_TX_STAT_AMPDU flag is set. This patch has not been tested. Cc: Signed-off-by: Björn Smedman Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit ebd022873aa61937603d2c4dfea19ce63ea1a3c8 Author: Björn Smedman Date: Sun Oct 10 22:44:39 2010 +0200 ath9k: A-MPDU rate control info fix This patch fixes the following problems with the rate control feedback generated by ath9k for A-MPDU frames: 1. Rate control feedback is carried on the first frame of an aggregate that is either ACKed, or has execeeded the software retry count and is considered failed. However, ath9k would incorrectly assume the aggregate had the length 1 if one of these conditions did not apply to the first frame of the aggregate, but instead a later frame. This fix therefor copies the bf_nframes field of the buffer in the same manner as the rates field of the tx status. 2. Sometimes the ampdu_len and ampdu_ack_len fields of the tx status was left uninitialized eventhough the IEEE80211_TX_STAT_AMPDU flag was set. This is now avoid by setting flag and fields in the same place. 3. Even if a frame has been selected for aggregation by mac80211 and marked with the IEEE80211_TX_CTL_AMPDU flag it can sometimes happen that ath9k transmits the frame without aggregation. In these cases the ampdu_ack_len field could be incorrectly computed because the nbad parameter to ath_tx_rc_status was incorrect. Cc: Signed-off-by: Björn Smedman Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 15d46f38df87f89242e470f5797120fa384c1fc3 Author: Björn Smedman Date: Sun Oct 10 22:14:25 2010 +0200 mac80211: minstrel_ht A-MPDU fix This patch fixes two problems with the minstrel_ht rate control algorithms handling of A-MPDU frames: 1. The ampdu_len field of the tx status is not always initialized for non-HT frames (and it would probably be unreasonable to require all drivers to do so). This could cause rate control statistics to be corrupted. We now trust the ampdu_len and ampdu_ack_len fields only when the frame is marked with the IEEE80211_TX_STAT_AMPDU flag. 2. Successful transmission attempts where only recognized when the A-MPDU subframe carrying the rate control status information was marked with the IEEE80211_TX_STAT_ACK flag. If this information happed to be carried on a frame that failed to be ACKed then the other subframes (which may have succeeded) where not correctly registered. We now update rate control statistics regardless of whether the subframe carrying the information was ACKed or not. Cc: Signed-off-by: Björn Smedman Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 730bd83b036e72b0134352ca27e76ea08475fbf1 Author: Johannes Berg Date: Sun Oct 10 18:52:10 2010 +0200 mac80211: don't kmalloc 16 bytes Since this small buffer isn't used for DMA, we can simply allocate it on the stack, it just needs to be 16 bytes of which only 8 will be used for WEP40 keys. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc2858c987f41286e059ee777c3bc09f7b7c19f6 Author: Kalle Valo Date: Sun Oct 10 11:28:33 2010 +0300 wl1251: update the new location to the maintainers file wl1251 is grown up now and can have its own room^H^H^H^Hdirectory. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9bc6772e15d25f58c1be638031280e04514287d4 Author: Kalle Valo Date: Sun Oct 10 11:28:32 2010 +0300 wl1251: move to it's own directory wl1271 driver is under heavy development but on the other hand the older wl1251 driver is currently considered more as a legacy driver. To make it easier to develop wl1271 features move wl1251 to it's own directory, drivers/net/wireless/wl1251. There are no functional changes, only moving of files. One regression is that Kconfig won't be updated automatically and user needs to enable wl1251 manually with an older config file. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f03ee1ec73d8cad07b0ef5ba6106a9fc4d179ecb Author: Kalle Valo Date: Sun Oct 10 11:28:31 2010 +0300 wl1251: create a copy of wl12xx_80211.h for wl1251 In preparation of moving wl1251 out from drivers/net/wireless/wl12xx create a separate copy of wl12xx_80211.h. This file should not even exist, we should instead use generic ieee80211 definitions. This will be fixed in the future so that the file can be removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8f236d1bef659ca69c912536a69b3031e5ba3269 Author: Christian Lamparter Date: Sun Oct 10 01:15:07 2010 +0200 carl9170: A-MPDU frame type filter In the past, carl9170 has been plagued by mysterious ghosts. e.g.: wlan4: deauthenticated from 02:04:d8:3c:ac:c1 (Reason: 0) Apparently, the AP sent us a bogus deauthentication notification. But upon closer inspection the "management frame" turned out to be a corrupted scrap of an unsuccessful A-MPDU. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9f59f3c694c184c69e0be7d0fd0829bcb61b0429 Author: Christian Lamparter Date: Sat Oct 9 22:23:37 2010 +0200 carl9170: remove stale rx error path The total/fatal error bit was erroneously prefixed with AR9170_RX_ERROR instead of AR9170_RX_STATUS. Luckily, the hardware specification confirmed that the 0x80 flag will never be set for mac->error. So, it was always just a dead branch. This patch also imports the latest version of shared wlan.h header from the firmware git. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c8a16c68ef4eb7817e41759c7105678ebc155377 Author: Christian Lamparter Date: Sat Oct 9 21:37:11 2010 +0200 carl9170: common error path for bad frames This patch replaces several identical frame drop paths with a single shared rx frame error handler. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 12eec2cc0d5eacd8287646585dc88ab558d4866d Author: Helmut Schaa Date: Sat Oct 9 13:35:48 2010 +0200 rt2x00: Fix tx status handling in rt2800pci The patches "rt2x00: Improve TX status entry validation" and "rt2x00: rework tx status handling in rt2800pci" together were causing problems with tx status processing in rt2800pci: phy1 -> rt2800pci_txdone: Warning - Got TX status for an empty queue 3, dropping phy1 -> rt2800pci_txdone: Warning - Got TX status for an unavailable queue 7, dropping Fix this by using the correct field definition for getting the QID out of the tx status report. Reported-by: Luis Correia Signed-off-by: Helmut Schaa Tested-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 74374725cdf466629fd401a81b3a04e4cdb0815f Author: Helmut Schaa Date: Sat Oct 9 13:35:13 2010 +0200 rt2x00: Remove superfluous initialization of qidx There is no need to initialize qidx to zero as it will ever be overwritten by the correct value. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c6084d5fa2e70a436ab944066146de01819f5493 Author: Helmut Schaa Date: Sat Oct 9 13:34:43 2010 +0200 rt2x00: Use unlikely for error case in rt2x00queue_write_tx_frame This is an error condition that is not supposed to happen. Hence, it is safe to add unlikely to this check. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ff6133becae9ae1657fcff339a160a21448fa11c Author: Helmut Schaa Date: Sat Oct 9 13:34:11 2010 +0200 rt2x00: Use proper type for rxwi_w2 in rt2800_agc_to_rssi Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 546adf294e85ca0dcd9c052294ef35b83a6ab2f4 Author: Helmut Schaa Date: Sat Oct 9 13:33:43 2010 +0200 rt2x00: Optimize unmapping of skbs Since no skb will be mapped for RX and TX at the same time we can simply shortcut the check for SKBDESC_DMA_MAPPED_TX. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a23c22080345f1748a933f32736986ff11f44d60 Author: Helmut Schaa Date: Sat Oct 9 13:33:16 2010 +0200 rt2x00: Shortcut link state updates when not operating as STA Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cfdfa4d3a0c7aa1287c61326a7714f262466157a Author: Steve deRosier Date: Sat Oct 9 17:23:28 2010 -0700 mac80211: Update mesh constants to approved IEEE ANA values This patch updates IEEE802.11 mesh constants to be consistent with newly approved values. It modifies some values, as well as adds many new constants in preparation for updating mesh code to the current 802.11s drafts. ANA numbers were taken from: https://mentor.ieee.org/802.11/dcn/09/11-09-0031-12-0000-ana-database-assigned-number-authority.xls A few notes are in order: 1. This will break backwards compatibility with existing Linux kernels as over-the-air constants have changed. 2. Some old and obsolete constants have been retained for now as the mesh code itself hasn't been updated yet to the new 802.11s draft. This was desired to keep the existing mesh scheme working until it can be updated. Adding the approved values is the first step in updating the mesh code. 3. Obsolete constants have been clearly marked. 4. All ANA approved 802.11s constants have been added. Signed-off-by: Steve deRosier Signed-off-by: John W. Linville commit 3430098ae463e31ab16926ac3eb295368a3ca5d9 Author: Felix Fietkau Date: Sun Oct 10 18:21:52 2010 +0200 ath9k: implement channel utilization stats for survey Results for the active channel are updated whenever a new survey dump is requested, the old data is kept to allow multiple processes to make their own channel utilization averages. All other channels only contain the data for the last time that the hardware was on the channel, i.e. the last scan result or other off-channel activity. Running a background scan does not clear the data for the active channel. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cac4220b2e93e6344f987581d52d5bd71ff2cc0e Author: Felix Fietkau Date: Sat Oct 9 02:39:30 2010 +0200 ath9k: add compile time checking for the size of the channel list This prevents random memory corruption if the number of channels ever gets changed without an update to the internal channel array size. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8610c29a2c9f273886b1c31ae4d92c69d4326262 Author: Felix Fietkau Date: Sat Oct 9 02:39:29 2010 +0200 cfg80211: add channel utilization stats to the survey command Using these, user space can calculate a relative channel utilization with arbitrary intervals by regularly taking snapshots of the survey results. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 15943a72c7d2031c9150917ca9161a9f891d455a Author: Christian Lamparter Date: Fri Oct 8 22:35:09 2010 +0200 mac80211: temporarily disable reorder release timer Several serve threading problems in the current release reorder timer implementation have been discovered. A lengthy discussion - which lists some of the pitfalls and possible solutions - can be found at: http://marc.info/?t=128635927000001 But due to the complicated nature of the subject and the imminent advent of a new -rc cycle, it was decided to disable the feature for the time being. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d12c74528e3065c90df70fbc06ec6ffd6e804738 Author: Christian Lamparter Date: Fri Oct 8 22:27:07 2010 +0200 mac80211: fix possible null-pointer de-reference This patch not only fixes a null-pointer de-reference that would be triggered by a PLINK_OPEN frame with mis- matching/incompatible mesh configuration, but also responds correctly to non-compatible PLINK_OPEN frames by generating a PLINK_CLOSE with the right reason code. The original bug was detected by smatch. ( http://repo.or.cz/w/smatch.git ) net/mac80211/mesh_plink.c +574 mesh_rx_plink_frame(168) error: we previously assumed 'sta' could be null. Cc: Reviewed-and-Tested-by: Steve deRosier Reviewed-and-Tested-by: Javier Cardona Acked-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7109ca5c80a0bb94378ebd7f8bb6d00edb5e6fba Author: Felix Fietkau Date: Fri Oct 8 22:13:54 2010 +0200 ath5k: use the common cycle counter / listen time implementation Signed-off-by: Felix Fietkau Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b5bfc5683db44a121ad47ec0a9f4efd4aac040e0 Author: Felix Fietkau Date: Fri Oct 8 22:13:53 2010 +0200 ath9k_hw: move the cycle counter tracking to ath Instead of keeping track of wraparound, clear the counters on every access and keep separate deltas for ANI and later survey use. Also moves the function for calculating the 'listen time' for ANI Signed-off-by: Felix Fietkau Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9d119f3ebd074bde0b801f476a44ca60d222efb2 Author: Felix Fietkau Date: Fri Oct 8 22:13:52 2010 +0200 ath5k: store the clock rate in common data on channel changes Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit dfdac8ac033c9ad048a5c68563bd41bda6c5e60b Author: Felix Fietkau Date: Fri Oct 8 22:13:51 2010 +0200 ath9k_hw: store the clock rate in common data on channel changes Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 62c58fb4316905cd9c1dbf01967935ed5610b45d Author: Ben Greear Date: Fri Oct 8 12:01:15 2010 -0700 ath5k: Adjust opmode when interfaces are removed. Otherwise, if there is an AP and a STATION, and AP is removed, the NIC will not revert back to STATION mode. Reported-by: Eliad Peller Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 92c68a66a8f73c51f062ae8cae958c86a21fea78 Author: Ben Greear Date: Fri Oct 8 09:43:29 2010 -0700 ath5k: Print out opmode in debugfs. Helps debug multi-VIF scenarios. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 5a5c731aa59cc2c44ca20f45b1a577cd4f5435e2 Author: Ben Greear Date: Thu Oct 7 16:39:20 2010 -0700 wireless: Set some stats used by /proc/net/wireless (wext) Some stats for /proc/net/wireless (and wext in general) are not being set. This patch addresses a few of those with values easily obtained from mac80211 core. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit b38afa87698375179026224522c2e48dcbf17e65 Author: Ben Greear Date: Thu Oct 7 16:12:06 2010 -0700 mac80211: Improve mlme probe response log messages. Old messages didn't mention the device in question. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 03620b2d7545fee29ecd3bb270f206b9cff75e58 Author: FUJITA Tomonori Date: Mon Aug 2 23:48:06 2010 +0900 swiotlb: make io_tlb_overflow static We don't need to export io_tlb_overflow_buffer. I'll remove io_tlb_overflow_buffer completely in the long term though. Signed-off-by: FUJITA Tomonori Signed-off-by: Konrad Rzeszutek Wilk commit 7623225f905263424c7254dc6a07bff083a498dd Author: Johannes Berg Date: Mon Oct 11 14:46:52 2010 -0400 Revert "wireless: Use first phyX name available when registering phy devices." This reverts commit 5a254ffe3ffdfa84fe076009bd8e88da412180d2. The commit failed to take into account that allocated wireless devices (wiphys) are not added into the device list upon allocation, but only when they are registered. Therefore, it opened up a race between allocating and registering a name, so that if two processes allocate and register concurrently ("alloc, alloc, register, register" rather than "alloc, register, alloc, register") the code will attempt to use the same name twice. Signed-off-by: Johannes Berg commit d86a4f2dd4ec554cf3346f4cab763925761c4095 Merge: bf53f93 674f305 Author: John W. Linville Date: Mon Oct 11 14:43:46 2010 -0400 Merge branch 'wireless-next' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 419c20465d6319274e7286f0966e2390540e6e0a Author: Jiri Slaby Date: Sun Oct 10 23:26:56 2010 +0000 NET: pch, fix use after free Stanse found that pch_gbe_xmit_frame uses skb after it is freed. Fix that. Signed-off-by: Jiri Slaby Cc: Masayuki Ohtake Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit a1b04cc197e17c47b043051becb548dc8c60c886 Author: Santosh Shilimkar Date: Mon Oct 11 11:05:18 2010 +0000 omap: serial: Fix the boot-up crash/reboot without CONFIG_PM The omap2plus_defconfig doesn't boot up when built with CONFIG_PM disabled on the latest linux-omap master. Below are the observations 1. OMAP3 reboots in the middle of boot -------------------------------------------------- [ 0.000000] Calibrating delay loop... 494.72 BogoMIPS (lpj=1933312) [ 0.000000] pid_max: default: 32768 minimum: 301 [ 0.000000] Security Framework initialized [ 0.000000] Mount-cache hash table entries: 512 [ 0.000000] CPU: Testing write buffer coherency: ok [ 0.000000] Brought up 1 CPUs [ 0.000000] SMP: Total of 1 processors activated (494.72 BogoMIPS). [ 0.000000] regulator: core version 0.5 [ 0.000000] NET: Registered protocol family 16 U-Boot 1.1.4 (Feb 11 2009 - 16:10:23) OMAP3430-GP rev 2, CPU-OPP2 L3-165MHz TI 3430SDP 1.0 Version + mDDR (Boot NOR) DRAM: 128 MB Flash: 128 MB NAND:128 MiB -------------------------------------------------- 2. OMAP4 does a kernel PANIC ------------------------------------- [ 0.000000] Calibrating delay loop... 1195.29 BogoMIPS (lpj=4669440) [ 0.000000] pid_max: default: 32768 minimum: 301 [ 0.000000] Security Framework initialized [ 0.000000] Mount-cache hash table entries: 512 [ 0.000000] CPU: Testing write buffer coherency: ok [ 0.000000] L310 cache controller enabled [ 0.000000] l2x0: 16 ways, CACHE_ID 0x410000c2, AUX_CTRL 0x0e050000 [ 0.000000] CPU1: Booted secondary processor [ 0.000000] Brought up 2 CPUs [ 0.000000] SMP: Total of 2 processors activated (2395.78 BogoMIPS). [ 0.000000] regulator: core version 0.5 [ 0.000000] NET: Registered protocol family 16 [ 0.000000] mux: Could not set signal i2c2_scl.i2c2_scl [ 0.000000] mux: Could not set signal i2c2_sda.i2c2_sda [ 0.000000] mux: Could not set signal i2c3_scl.i2c3_scl [ 0.000000] mux: Could not set signal i2c3_sda.i2c3_sda [ 0.000000] mux: Could not set signal i2c4_scl.i2c4_scl [ 0.000000] mux: Could not set signal i2c4_sda.i2c4_sda ------------------------------------- This is happening because 'omap_serial_init()' is hanging in the boot. On OMAP3 the watchdog is generating reboot because devices_init doesn't happens where as on OMAP4 it just hangs without reboot. The uart clock is not getting enabled after omap_device_idle as part of omap_serial_init. The omap_device_idle(will disable the clock) then omap_uart_block_sleep() should enable clock back disabled during the boot up phase. But omap_uart_block_sleep() stuffed version is binded only under CONFIG_PM and other version is just empty. Hence it is not enabling clock back as expected This patch adds uart clock enable code to omap_uart_block_sleep() function built with CONFIG_PM disabled. Thanks to Charulatha and Govindraj for their help on this debug. Signed-off-by: Santosh Shilimkar Signed-off-by: Charulatha V Signed-off-by: Govindraj.R Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 0361e02342f60b64a7075755d5851ed4e6f98c7d Merge: 4fdaa7b e9677b3 Author: Robert Richter Date: Mon Oct 11 19:38:39 2010 +0200 Merge branch 'oprofile/perf' into oprofile/core Conflicts: arch/arm/oprofile/common.c Signed-off-by: Robert Richter commit e9677b3ce207a07fad5746b6f7ddc70cae79de0a Author: Robert Richter Date: Wed Sep 29 15:42:30 2010 +0200 oprofile, ARM: Use oprofile_arch_exit() to cleanup on failure There is duplicate cleanup code in the init and exit functions. Now, oprofile_arch_exit() is also used if oprofile_arch_init() fails. Acked-by: Will Deacon Signed-off-by: Robert Richter commit 2bcb2b641a8f1524f7a9801eb9e52a00b8f18c6e Author: Robert Richter Date: Wed Sep 29 14:43:29 2010 +0200 oprofile, ARM: Rework op_create_counter() This patch simplifies op_create_counter(). Removing if/else if paths and return code variable by direct returning from function. Acked-by: Will Deacon Signed-off-by: Robert Richter commit 9c91283a19c2d998a83f50f113f8585709c15caf Author: Robert Richter Date: Fri Aug 27 14:32:41 2010 +0200 oprofile, ARM: Remove some goto statements This patch removes some unnecessary goto statements. Acked-by: Will Deacon Signed-off-by: Robert Richter commit 652953b72eea8b9d1bd6b9f67b796c6722bada3a Merge: 8177197 5140434 Author: Robert Richter Date: Mon Oct 11 19:33:42 2010 +0200 Merge branch 'oprofile/core' (early part) into oprofile/perf Conflicts: arch/arm/oprofile/common.c Signed-off-by: Robert Richter commit 81771974ae49bf79aab60c42eac7a6d730a9ef2b Author: Robert Richter Date: Wed Sep 29 16:52:25 2010 +0200 oprofile, ARM: Release resources on failure This patch fixes a resource leak on failure, where the oprofilefs and some counters may not released properly. Signed-off-by: Robert Richter Acked-by: Will Deacon Cc: linux-arm-kernel@lists.infradead.org Cc: # .35.x LKML-Reference: <20100929145225.GJ13563@erda.amd.com> Signed-off-by: Ingo Molnar commit ad0f7cfaa85fc033523a09ab1f3dd6b8ded3dff5 Merge: 86c8c04 c7a27aa Author: Robert Richter Date: Mon Oct 11 19:26:50 2010 +0200 Merge branch 'oprofile/urgent' (early part) into oprofile/perf commit de65815860f187cb43551bc833bf9d72720faa01 Author: Kevin Hilman Date: Fri Oct 8 22:43:45 2010 +0000 OMAP3: PM: fix scratchpad memory accesses for off-mode Commit 914bab936fe0388a529079679e2f137aa4ff548d (OMAP: mach-omap2: Fix incorrect assignment warnings) changed a pointer from 'u32 *' to 'void *' without also fixing up the pointer arithmetic. Fix the scratchpad offsets so they are byte offsets instead of word offsets and thus work correctly with a void pointer base. Special thanks to Jean Pihet for taking the time track down this problem and propose an initial solution. Tested with off-idle and off-suspend on 36xx/Zoom3 and 34xx/omap3evm. Cc: Manjunath Kondaiah G Reported-by: Jean Pihet Signed-off-by: Kevin Hilman Tested-by: Jean Pihet Signed-off-by: Tony Lindgren commit c9ee46a910f6edb40ddb7fb9aeac0030057c6fdb Merge: 4fa0466 81490fc Author: Russell King Date: Mon Oct 11 17:30:44 2010 +0100 Merge branch 'for-rmk-next' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 34d101dd6204bd100fc2e6f7b5f9a10f959ce2c9 Author: Eric Dumazet Date: Mon Oct 11 09:16:57 2010 -0700 neigh: speedup neigh_hh_init() When a new dst is used to send a frame, neigh_resolve_output() tries to associate an struct hh_cache to this dst, calling neigh_hh_init() with the neigh rwlock write locked. Most of the time, hh_cache is already known and linked into neighbour, so we find it and increment its refcount. This patch changes the logic so that we call neigh_hh_init() with neighbour lock read locked only, so that fast path can be run in parallel by concurrent cpus. This brings part of the speedup we got with commit c7d4426a98a5f (introduce DST_NOCACHE flag) for non cached dsts, even for cached ones, removing one of the contention point that routers hit on multiqueue enabled machines. Further improvements would need to use a seqlock instead of an rwlock to protect neigh->ha[], to not dirty neigh too often and remove two atomic ops. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 86c8c04792f152c5469023885510140dd34817bc Author: Matt Fleming Date: Fri Sep 10 20:36:23 2010 +0100 sh: oprofile: Use perf-events oprofile backend Now that we've got a generic perf-events based oprofile backend we might as well make use of it seeing as SH doesn't do anything special with its oprofile backend. Also introduce a new CONFIG_HW_PERF_EVENTS symbol so that we can fallback to using the timer interrupt for oprofile if the CPU doesn't support perf events. Also, to avoid a section mismatch warning we need to annotate oprofile_arch_exit() with an __exit marker. Signed-off-by: Matt Fleming Acked-by: Paul Mundt Signed-off-by: Robert Richter commit 3d90a00763b51e1db344a7430c966be723b67a29 Author: Matt Fleming Date: Mon Sep 27 20:45:08 2010 +0100 oprofile: Abstract the perf-events backend Move the perf-events backend from arch/arm/oprofile into drivers/oprofile so that the code can be shared between architectures. This allows each architecture to maintain only a single copy of the PMU accessor functions instead of one for both perf and OProfile. It also becomes possible for other architectures to delete much of their OProfile code in favour of the common code now available in drivers/oprofile/oprofile_perf.c. Signed-off-by: Matt Fleming Tested-by: Will Deacon Signed-off-by: Robert Richter commit 58850e210cd207399cf6461326e322541b2ec81c Author: Matt Fleming Date: Mon Sep 27 20:35:29 2010 +0100 ARM: oprofile: Move non-ARM code into separate init/exit In preparation for moving the majority of this oprofile code into an architecture-neutral place separate the architecture-independent code into oprofile_perf_init() and oprofile_perf_exit(). Signed-off-by: Matt Fleming Tested-by: Will Deacon Signed-off-by: Robert Richter commit 80e96b11f6cd261e1e569f3931604d656388af33 Author: Matt Fleming Date: Mon Sep 27 20:29:58 2010 +0100 ARM: oprofile: Rename op_arm to oprofile_perf In preparation for moving the generic functions out of this file, give the functions more general names (e.g. remove "arm" from the names). Signed-off-by: Matt Fleming Tested-by: Will Deacon Signed-off-by: Robert Richter commit 56946331b28d53232115a155ba662ab3dc598952 Author: Matt Fleming Date: Fri Oct 8 21:42:17 2010 +0100 oprofile: Make op_name_from_perf_id() global Make op_name_from_perf_id() global so that we have a way for each architecture to construct an oprofile name for op->cpu_type. We need to remove the argument from the function prototype so that we can hide all implementation details inside the function. Signed-off-by: Matt Fleming Signed-off-by: Robert Richter commit 84c7991059c9c4530cc911137c5bf508a41ed129 Author: Matt Fleming Date: Sun Oct 3 21:41:13 2010 +0100 perf: New helper function for pmu name Introduce perf_pmu_name() helper function that returns the name of the pmu. This gives us a generic way to get the name of a pmu regardless of how an architecture identifies it internally. Signed-off-by: Matt Fleming Acked-by: Peter Zijlstra Acked-by: Paul Mundt Signed-off-by: Robert Richter commit 5a30d7bfcd33c03f1f67d3e1c317eb5d6a6bc811 Author: Kulikov Vasiliy Date: Sun Oct 10 17:28:27 2010 +0000 sh: boards/mach-x3proto: gpio: fix error handling code Checks for (irq < 0) and (ilsel < 0) didn't make sense since they were unsigned. Made them signed. Signed-off-by: Vasiliy Kulikov Signed-off-by: Paul Mundt commit 81490fcdf406f42fff9d9f57d541788f90242885 Author: Amit Kucheria Date: Thu Oct 7 03:58:25 2010 +0300 mx51: efikamx: add otg support Ethernet hangs off OTG Signed-off-by: Amit Kucheria Signed-off-by: Sascha Hauer commit 088d01b00e335230bc51be6ae396babb9767e9ea Author: Amit Kucheria Date: Thu Oct 7 03:58:12 2010 +0300 mx51: add support for genesi efikamx nettop Get serial port working for now Signed-off-by: Amit Kucheria Signed-off-by: Sascha Hauer commit 6ff554e06869e970e6ef2c4d44ea43315917d22c Author: David Jander Date: Fri Oct 8 11:24:01 2010 +0200 spi/imx: Support different fifo sizes The i.MX51 ECSPI has a fifo size of 64 entries instead of 8 entries as found on the other cspi bus devices. Cc: Jason Wang Signed-off-by: David Jander Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König Acked-by: Grant Likely Signed-off-by: Sascha Hauer commit 4b5ee7a7689e3551f304b9154ecadbb0c3ae292f Author: Sascha Hauer Date: Sat Oct 9 23:09:45 2010 +0200 ARM: iomux-mx51: Add AUD5 pinmux definitions Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 0d0e9cbf815a78d62889554826f7d06b323c2d06 Author: Wolfram Sang Date: Mon Oct 11 15:04:53 2010 +0200 mx25/clocks: match esdhc-clocks to platform device So the correct clock will be taken for each of the two independent controllers. Signed-off-by: Wolfram Sang Cc: Eric BĂ©nard Signed-off-by: Sascha Hauer commit 886ab3dae2ba26bde5bab096c931365db9f49830 Author: Peter Korsgaard Date: Mon Oct 11 15:02:06 2010 +0200 mxc/gpio: make _set_value work with values != 0/1 Documentation/gpio.txt specifies that the value argument to gpio_set_value() should be handled as a boolean (E.G. != 0 is high), so use the same logic as in _set_direction(). Signed-off-by: Peter Korsgaard Signed-off-by: Sascha Hauer commit 9524705c867dc8d5b558f4793b7464eab967a530 Author: Juergen Beisert Date: Wed Sep 22 09:42:15 2010 +0200 MX35: Fix bogus L2 cache settings i.MX35 CPUs marked with "MCIMX357CJQ5C M99V CTHA0943B" are coming with bogus L2 cache settings. If these settings are kept unmodified prior enabling the L2 cache the CPU runs amok immediately when its enabled. This fix should not hurt already working CPUs, as they are using the written register value already. Its currently unknown if its possible to detect the production lot from the software to fix only affected CPUs. While at it, make sure that mxc_init_l2x0 is only executed on i.MX31/35 Signed-off-by: Juergen Beisert Signed-off-by: Michael Grzeschik Signed-off-by: Sascha Hauer commit 55fd2ef6d9e9f40f30d891e01f2f565552e688fa Author: Uwe Kleine-König Date: Wed Oct 6 12:00:19 2010 +0200 ARM: mx3/cpuimx35: mark otg_pdata and usbh1_pdata as maybe unused This fixes arch/arm/mach-mx3/mach-cpuimx35.c:143: warning: 'otg_pdata' defined but not used arch/arm/mach-mx3/mach-cpuimx35.c:148: warning: 'usbh1_pdata' defined but not used when USB_ULPI is not selected. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 6bd96f3c332d422c0dda302f1b32c8e21dd75ee3 Author: Uwe Kleine-König Date: Wed Oct 6 12:00:18 2010 +0200 ARM: imx: dynamically register fec devices Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8a8d20600dce01553c8505b7c576f8d4307e4ba8 Author: Uwe Kleine-König Date: Fri Oct 8 16:00:11 2010 +0200 ARM: imx: fix/define clocks and create devices for imx dma Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 67520f3a896acb1635894fd25626f7fa7c91e61c Author: Eric BĂ©nard Date: Fri Oct 8 16:00:10 2010 +0200 ARM: mx35: Add mx35_revision function to query the silicon revision Based on work done earlier by Sascha Hauer Signed-off-by: Sascha Hauer Signed-off-by: Eric BĂ©nard [ukl: actually squash the two approaches together] Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit fdb03870a9714ba2695daa0c2b3e6b6be4318e9d Author: Sascha Hauer Date: Fri Oct 8 16:00:09 2010 +0200 ARM: mx3: use MX3x_ prefixed version of CHIP_REV_x Also, remove the deprecated symbols from arch/arm/mach-mx3/cpu.c Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 6f8460eb823c37f6ba236cd261a6edceea4805e5 Author: Eric BĂ©nard Date: Sat Oct 2 17:15:29 2010 +0200 eukrea_mbimxsd for cpuimx25: add CAN & SDCard support Signed-off-by: Eric BĂ©nard Signed-off-by: Sascha Hauer commit f5e40c28b63939ee63f1f9d865eece0a28444fd0 Author: Eric BĂ©nard Date: Sat Oct 2 17:15:28 2010 +0200 i.mx25: add esdhc support Signed-off-by: Eric BĂ©nard Signed-off-by: Sascha Hauer commit 438a4d66a561fe3d6dceeb9c7f30d23f52cb371b Author: Eric BĂ©nard Date: Sat Oct 2 17:15:27 2010 +0200 eukrea_mbimxsd for cpuimx35: add CAN & SDCard support Signed-off-by: Eric BĂ©nard Signed-off-by: Sascha Hauer commit 9a545943a378ec1b3a9819de4b189ce5e822a6af Author: Wolfram Sang Date: Mon Oct 11 12:55:23 2010 +0200 arm: pcm043: add esdhc-device to boardconfig Signed-off-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 774305d0ee105f75d44699e2c94ef3bf9c5e2d90 Author: Wolfram Sang Date: Mon Oct 11 12:55:22 2010 +0200 arm: imx35: add esdhc-device to MX35-platform Signed-off-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 203a0734709779fa40552cd9bb7c4dd325b5131f Author: Wolfram Sang Date: Mon Oct 11 12:55:21 2010 +0200 arm: imx: add generic esdhc device Signed-off-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 6370a6ad3b53df90b4700977f7718118a2cd524a Author: Tejun Heo Date: Mon Oct 11 15:12:27 2010 +0200 workqueue: add and use WQ_MEM_RECLAIM flag Add WQ_MEM_RECLAIM flag which currently maps to WQ_RESCUER, mark WQ_RESCUER as internal and replace all external WQ_RESCUER usages to WQ_MEM_RECLAIM. This makes the API users express the intent of the workqueue instead of indicating the internal mechanism used to guarantee forward progress. This is also to make it cleaner to add more semantics to WQ_MEM_RECLAIM. For example, if deemed necessary, memory reclaim workqueues can be made highpri. This patch doesn't introduce any functional change. Signed-off-by: Tejun Heo Cc: Jeff Garzik Cc: Dave Chinner Cc: Steven Whitehouse commit 6a92934d9e987b6363db3e6a08e17bc0f2078c5d Author: Takashi Iwai Date: Mon Oct 11 15:16:20 2010 +0200 ALSA: hda - Add input volume control for each mic/line-in pin The input pins on cirrus codecs have also input amps. Let's make control elemetns for them. Signed-off-by: Takashi Iwai commit 66fa12c571d35e3cd62574c65f1785a460105397 Author: Stefan Richter Date: Sun Oct 10 00:12:20 2010 +0200 ieee1394: remove the old IEEE 1394 driver stack The drivers - ohci1394 (controller driver) - ieee1394 (core) - dv1394, raw1394, video1394 (userspace ABI) - eth1394, sbp2 (protocol drivers) are replaced by - firewire-ohci (controller driver) - firewire-core (core and userspace ABI) - firewire-net, firewire-sbp2 (protocol drivers) which are more featureful, better performing, and more secure than the older drivers; all with a smaller and more modern code base. The driver firedtv in drivers/media/dvb/firewire/ contains backends to both ieee1394 and firewire-core. Its ieee1394 backend code can be removed in an independent commit; firedtv as-is builds and works fine without ieee1394. The driver pcilynx (an incomplete controller driver) is deleted without replacement since PCILynx cards are extremely rare. Owners of these cards use them with the stand-alone bus sniffer driver nosy instead. The drivers nosy and init_ohci1394_dma which do not interact with either of the two IEEE 1394 stacks are not affected by the ieee1394 subsystem removal. There are still some issues with the newer firewire subsystem compared to the older one: - The rare and quirky controllers ALi M52xx, Apple UniNorth v1, NVIDIA NForce2 are even less well supported by firewire-ohci than by ohci1394. I am looking into the M52xx issue. - The experimental firewire-net is reportedly less stable than its experimental cousin eth1394. - Audio playback of a certain group of audio devices (ones based on DICE chipset with EAP; supported by prerelease FFADO code) does not work yet. This issue is still under investigation. - There were some ieee1394 based out-of-the-mainline drivers. Of them, only lisight, an audio driver for iSight webcams, seems still useful. Work is underway to reimplement it on top of firewire-core. All these remainig issues are minor; they should not stand in the way of overall better user experience of IEEE 1394 on Linux, together with a reduction in support efforts and maintenance burden. The coexistence of two IEEE 1394 kernel driver stacks in the mainline since 2.6.22 shall end now, as announced earlier this year. Signed-off-by: Stefan Richter commit 1ef5b816c0eaf84f91106cfc0893069c49e86113 Author: Stefan Richter Date: Sun Oct 10 00:54:02 2010 +0200 ieee1394: move init_ohci1394_dma to drivers/firewire/ because drivers/ieee1394/ will be deleted. Additional changes: - add some #include directives - adjust to use firewire/ohci.h instead of ieee1394/ohci1394.h, replace struct ti_ohci by a minimal struct ohci, replace quadlet_t from ieee1394_types.h by u32 - two or three trivial stylistic changes - __iomem annotation Signed-off-by: Stefan Richter commit f46119b73425df9d1e05c5d5e909a993d95b0218 Author: Takashi Iwai Date: Mon Oct 11 14:46:35 2010 +0200 ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1 Reference: Novell bnc#645066 https://bugzilla.novell.com/show_bug.cgi?id=645066 Signed-off-by: Takashi Iwai commit e799d0bce6b191de6e96e556528243c1d73303ca Merge: 1d2019f 838c364 Author: Takashi Iwai Date: Mon Oct 11 13:56:12 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit 1d2019fb6be2f318f0aa85be5f224f47a5f006fe Author: Nicolas Kaiser Date: Tue Oct 5 17:38:12 2010 +0200 ALSA: sound/usb/usx2y: simplify conditional Simplify conditional: (a || (!a && b)) => (a || b) Signed-off-by: Nicolas Kaiser Signed-off-by: Takashi Iwai commit b7d22ccf08d67d13f77a9580d07e7f72e6241213 Author: Dan Carpenter Date: Sun Oct 10 19:34:22 2010 +0200 OSS: soundcard: fix return value of sound_open() Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit 4e83998f5af010a928495988c586ea2926624db9 Merge: dd1d3a4 d4cfa4d Author: Takashi Iwai Date: Mon Oct 11 13:45:22 2010 +0200 Merge branch 'fix/misc' into topic/misc commit fe3e2e7ff2da41bd7a985c4c206e05a95ebe7a6b Author: Dan Carpenter Date: Sat Oct 9 21:31:31 2010 +0200 ASoC: checking kzalloc() for IS_ERR() instead of NULL There is a typo here that got copy and pasted to several probe functions. kzalloc() returns NULL on allocation failures and not an ERR_PTR. Signed-off-by: Dan Carpenter Acked-by: Dimitris Papastamos Signed-off-by: Mark Brown commit c969f19f8fd17e600a16fe91aab66d86936cce0a Author: Mark Brown Date: Thu Oct 7 20:41:04 2010 -0700 ASoC: Compress WM8962 register access map Reduce the source code size still futher by only specifying non-zero rows in the WM8962 access map. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit f57f6c046ff54b7115c6cafd3e29a60342352cce Author: Mark Brown Date: Thu Oct 7 17:41:04 2010 -0700 ASoC: Shrink code size for WM8962 register defaults table Dramatically reduce the code size for the WM8962 register defaults table by switching to explicitly initialise only defined registers, relying on static defaulting to zero for the overwelming bulk of the register map. Similar treatement for the register access table will come later and will produce a similarly dramatic code size shrink. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 30310045dd20a286cf3800f063f79b468e132fb1 Author: Tejun Heo Date: Mon Oct 11 11:51:57 2010 +0200 workqueue: fix HIGHPRI handling in keep_working() The policy function keep_working() didn't check GCWQ_HIGHPRI_PENDING and could return %false with highpri work pending. This could lead to late execution of a highpri work which was delayed due to @max_active throttling if other works are actively consuming CPU cycles. For example, the following could happen. 1. Work W0 which burns CPU cycles. 2. Two works W1 and W2 are queued to a highpri wq w/ @max_active of 1. 3. W1 starts executing and W2 is put to delayed queue. W0 and W1 are both runnable. 4. W1 finishes which puts W2 to pending queue but keep_working() incorrectly returns %false and the worker goes to sleep. 5. W0 finishes and W2 starts execution. With this patch applied, W2 starts execution as soon as W1 finishes. Signed-off-by: Tejun Heo commit 838c364ff05c143fd1810e8ad1469935d6c23a7a Author: Jaroslav Kysela Date: Fri Oct 8 10:48:50 2010 +0200 ALSA: OSS mixer emulation - fix locking Fix mutex release and cleanup some locking code. Cc: Signed-off-by: Jaroslav Kysela commit b1c73fc8e697eb73e23603e465e9af2711ed4183 Author: Jaroslav Kysela Date: Mon Oct 11 10:45:00 2010 +0200 ALSA: snd-aloop: Fix hw_params restrictions and checking This patch fixes the hw_params restrictions when first (or playback) stream sets the final hardware parameters. Also, fix the hw_params checking in the trigger callback. Signed-off-by: Jaroslav Kysela commit 3bf101ba42a1c89b5afbc7492e7647dae5e18735 Author: Matt Fleming Date: Mon Sep 27 20:22:24 2010 +0100 perf: Add helper function to return number of counters The number of counters for the registered pmu is needed in a few places so provide a helper function that returns this number. Signed-off-by: Matt Fleming Tested-by: Will Deacon Acked-by: Paul Mundt Acked-by: Peter Zijlstra Signed-off-by: Robert Richter commit 3cfc535c5df8122af1258ae05aaf2770c033425d Author: Andres Salomon Date: Sun Oct 10 21:42:33 2010 -0600 of/promtree: make drivers/of/pdt.c no longer sparc-only Clean up pdt.c: - make build dependent upon config OF_PROMTREE - #ifdef out the sparc-specific stuff - create pdt-specific header Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit 37f9fc452d138dfc4da2ee1ce5ae85094efc3606 Author: Samuel Ortiz Date: Wed Oct 6 01:03:12 2010 +0200 irda: Fix heap memory corruption in iriap.c While parsing the GetValuebyClass command frame, we could potentially write passed the skb->data pointer. Cc: stable@kernel.org Reported-by: Ilja Van Sprundel Signed-off-by: Samuel Ortiz commit efc463eb508798da4243625b08c7396462cabf9f Author: Samuel Ortiz Date: Mon Oct 11 01:17:56 2010 +0200 irda: Fix parameter extraction stack overflow Cc: stable@kernel.org Reported-by: Ilja Van Sprundel Signed-off-by: Samuel Ortiz commit 3b06dbbeadb6488cd00999b61b080bb6f0218503 Author: Roel Kluin Date: Tue Oct 5 01:30:02 2010 +0200 irda: Test index before read in stir421x_patch_device() Test whether index exceeds fw->size before reading the element Signed-off-by: Roel Kluin Signed-off-by: Samuel Ortiz commit f8cba16cad68c9b9ee7fecae48a1b91708e8e482 Author: Samuel Ortiz Date: Tue Oct 5 01:24:20 2010 +0200 irda: Remove BKL instances from irnet The code intends to lock the irnet_socket, so adding a mutex to it allows for a complet BKL removal. Signed-off-by: Samuel Ortiz commit 5b40964eadea40509d353318d2c82e8b7bf5e8a5 Author: Samuel Ortiz Date: Mon Oct 11 00:46:51 2010 +0200 irda: Remove BKL instances from af_irda.c Most of the times, lock_kernel() was pointless or could simply be replaced by lock_sock(). Signed-off-by: Samuel Ortiz commit ec588ae6c21ae20a22ce13a287728a220935b8ee Author: Jarkko Nikula Date: Wed Oct 6 16:47:26 2010 +0300 ASoC: omap: Remove needless prints from machine drivers It is currently completely normal to execute these machine drivers code on different boards if the kernel includes support for multiple boards so no error message should be printed if the machine_is_xxx does not match with the machine driver. Therefore remove these pr_err and pr_debug prints in those cases. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit d852a6afd91fc928128f59ebff381838c365e358 Author: Akinobu Mita Date: Wed Sep 29 18:08:51 2010 +0900 bitops: remove duplicated extern declarations If CONFIG_GENERIC_FIND_NEXT_BIT is enabled, find_next_bit() and find_next_zero_bit() are doubly declared in asm-generic/bitops/find.h and linux/bitops.h. asm/bitops.h includes asm-generic/bitops/find.h if and only if the architecture enables CONFIG_GENERIC_FIND_NEXT_BIT. And asm/bitops.h is included by linux/bitops.h So we can just remove the extern declarations of find_next_bit() and find_next_zero_bit() in linux/bitops.h. Also we can remove unneeded #ifndef CONFIG_GENERIC_FIND_NEXT_BIT in asm-generic/bitops/find.h. Signed-off-by: Akinobu Mita Signed-off-by: Arnd Bergmann commit 708ff2a0097b02d32d375b66996661f36cd4d6d1 Author: Akinobu Mita Date: Wed Sep 29 18:08:50 2010 +0900 bitops: make asm-generic/bitops/find.h more generic asm-generic/bitops/find.h has the extern declarations of find_next_bit() and find_next_zero_bit() and the macro definitions of find_first_bit() and find_first_zero_bit(). It is only usable by the architectures which enables CONFIG_GENERIC_FIND_NEXT_BIT and disables CONFIG_GENERIC_FIND_FIRST_BIT. x86 and tile enable both CONFIG_GENERIC_FIND_NEXT_BIT and CONFIG_GENERIC_FIND_FIRST_BIT. These architectures cannot include asm-generic/bitops/find.h in their asm/bitops.h. So ifdefed extern declarations of find_first_bit and find_first_zero_bit() are put in linux/bitops.h. This makes asm-generic/bitops/find.h usable by these architectures and use it. Also this change is needed for the forthcoming duplicated extern declarations cleanup. Signed-off-by: Akinobu Mita Signed-off-by: Arnd Bergmann Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org Cc: Chris Metcalf commit c24cef0b68a719324c344c1563ef3d750ac6bf0e Author: Andrea Gelmini Date: Sat Feb 27 17:51:35 2010 +0100 asm-generic: kdebug.h: Checkpatch cleanup include/asm-generic/kdebug.h:6: ERROR: spaces required around that '=' (ctx:VxV) Signed-off-by: Andrea Gelmini Signed-off-by: Arnd Bergmann commit 269b8fd5d058f2c0da01a42b20315ffc2640d99b Author: Lucian Adrian Grijincu Date: Wed Oct 6 15:03:47 2010 -0700 asm-generic: fcntl: make exported headers use strict posix types All 'pid_t' were changed to '__kernel_pid_t' in a previous commit: make exported headers use strict posix types A number of standard posix types are used in exported headers, which is not allowed if __STRICT_KERNEL_NAMES is defined. In order to get rid of the non-__STRICT_KERNEL_NAMES part and to make sane headers the default, we have to change them all to safe types. but a later change introduced 'pid_t' again: fcntl: add F_[SG]ETOWN_EX This makes asm-generic/fcntl.h d use strict posix types again. Signed-off-by: Lucian Adrian Grijincu Signed-off-by: Andrew Morton Signed-off-by: Arnd Bergmann commit c6691126636769bd22bfd7b55829f0373a93c1ce Author: Mathieu Lacage Date: Tue Jun 22 10:30:15 2010 +0200 asm-generic: cmpxchg does not handle non-long arguments The version of cmpxchg defined in asm-generic/system.h does not handle correctly non-long arguments. Use the version defined in cmpxchg.h instead. Signed-off-by: Mathieu Lacage Signed-off-by: Arnd Bergmann commit 8b9d40691e8f5e7e0c8fb839c2bad29c5e0888ce Author: Mathieu Lacage Date: Sun Jun 27 12:26:06 2010 +0200 asm-generic: make atomic_add_unless a function atomic_add_unless is a macro so, bad things happen if the caller defines a local variable named c, just like like the local variable c defined by the macro. Thus, convert atomic_add_unless to a function. (bug triggered by net/ipv4/netfilter/ipt_CLUSTERIP.c: clusterip_config_find_get calls atomic_inc_not_zero) Signed-off-by: Mathieu Lacage Signed-off-by: Arnd Bergmann commit 4d94aa1b1d437f9513ddc89974d8bd214b8304f6 Author: Sunil Mushran Date: Sat Oct 9 10:27:04 2010 -0700 ocfs2/cluster: Bump up dlm protocol to version 1.1 dlm protocol 1.1. activates messages DLM_QUERY_REGION and DLM_QUERY_NODEINFO that are a must for global heartbeat. It also activates o2hb_global_heartbeat_active(). Signed-off-by: Sunil Mushran commit 7b738b55b2ec0e95a5030037c45b3c312e385789 Author: Eric Dumazet Date: Sat Oct 9 02:17:01 2010 +0000 sundance: get_stats proper locking sundance get_stats() should not be run concurrently, add a lock to avoid potential losses. Note: Remove unused rx_lock field Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2259dca36a2f0226596ea37132a46338fcff6722 Author: Nicolas Kaiser Date: Thu Oct 7 23:29:27 2010 +0000 net/tg3: simplify conditional Simplify: ((a && !b) || (!a && b)) => (a != b) Signed-off-by: Nicolas Kaiser Signed-off-by: David S. Miller commit aa3bc6c68e3c1064969f5f2962be84491ffb69a0 Author: Nicolas Kaiser Date: Thu Oct 7 13:14:50 2010 +0000 ehea: simplify conditional Simplify: ((a && b) || (!a && !b)) => (a == b) Signed-off-by: Nicolas Kaiser Acked-by: Breno Leitao Signed-off-by: David S. Miller commit e18434c45765cfc4a74b5c61da9e9fbc6ddd3d5f Author: Changli Gao Date: Thu Sep 30 06:17:44 2010 +0000 net_sched: use __TCA_HTB_MAX and TCA_HTB_MAX Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit b476ef059ec9e49d4f2a4280b862b446ef3866e8 Author: Marek Vasut Date: Mon Aug 9 06:23:28 2010 +0200 ARM: pxa/balloon3: Disperse MFP config Move pin config to appropriate places and use it only if needed. Signed-off-by: Marek Vasut Acked-By: Jonathan McDowell Signed-off-by: Eric Miao commit f090c74b23de6d8f362684e4a8c4b2bf8a32b6eb Author: Haojian Zhuang Date: Tue Sep 21 16:43:57 2010 +0800 ARM: mmp: update cpuid of pxa168 and pxa910 Correct the cpuid of pxa168 and pxa910. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 799929d7048b3ec0086ed525ed7ccf6f2b8ecda6 Author: Haojian Zhuang Date: Sun Sep 19 20:10:13 2010 -0400 ARM: pxa: reduce the scope of get_memclk_frequency_10khz() Up to now, only pxa2xx pcmcia driver is using the API. No other device driver is using this API in PXA3xx or any other PXA silicons. Restrict the scope only on pxa2xx and remove the implementation of pxa3xx. So we can avoid oo much checking on cpuid after more pxa chips supported. Signed-off-by: Haojian Zhuang Cc: Eric Miao Signed-off-by: Eric Miao commit ecf89b8a9189462480086f72791eb41f8aa09bfd Author: Haojian Zhuang Date: Sun Sep 19 20:09:10 2010 -0400 ARM: pxa: reduce the scope of get_clk_frequency_khz() get_clk_frequency_khz() is used in private cpufreq driver. In order to meet the change of different pxa silicons, checking cpuid is introduced in get_clk_frequency_khz(). While more pxa silicons are supported, the workload of checking cpuid is higher. So restrict the scope of get_clk_frequency_khz() on pxa2xx. Different pxa silcions use different private cpufreq driver to avoid too much checking on cpuid. Signed-off-by: Haojian Zhuang Cc: Eric Miao Signed-off-by: Eric Miao commit 759305c62f294d4f5fb1d8dde5ece98d2f71cfcb Author: Mark F. Brown Date: Sun Sep 12 23:51:36 2010 -0400 ARM: pxa168/teton bga: add board support for i2c and rtc-ds1337 Defined I2C/ALARM pin definitions DS1337 RTC alarm support is tied to RTC_INT_GPIO Signed-off-by: Mark F. Brown Acked-by: Haojian Zhuang Acked-by: Marek Vasut Signed-off-by: Eric Miao commit d2ce697309ba5215cc5b2d5a11c8599d9eb1c75c Author: Mark F. Brown Date: Sun Sep 12 23:51:35 2010 -0400 ARM: pxa168/teton bga: added keypad support Support for Matrix keypad ESC, ENTER, LEFT, and RIGHT Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 1bbd7089f2effc40c35ffbbc62ad54aefd741633 Author: Mark F. Brown Date: Sun Sep 12 23:51:34 2010 -0400 ARM: pxa168: added support for Teton BGA platform Added board defintion, header, and debug UART support. Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 0bd8696119904b5868c7315b644128b16ab06f59 Author: Haojian Zhuang Date: Wed Sep 8 09:42:42 2010 -0400 ARM: mmp: support sparse irq Add sparse IRQ support in ARCH_MMP. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 20266df55db7dcb70b3f527a55f4eb5a4d7092e2 Author: Haojian Zhuang Date: Wed Sep 8 09:42:40 2010 -0400 ARM: pxa: append tavorevb3 support Bringup tavorevb3 development platform. UART and PMIC are enabled. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit ba1aa3248e484e5cc39a74ae418232bd5c877a90 Author: Haojian Zhuang Date: Sun Aug 29 20:32:16 2010 -0400 ARM: pxa168fb: add .remove function The pxa168fb driver is missing .remove function so the framebuffer isn't correctly shut down when the module is removed. Signed-off-by: Marek Vasut Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 6aafc5f394fce437bf005b59034d7e5917778a99 Author: Mark F. Brown Date: Fri Sep 3 18:28:11 2010 -0400 ARM: pxa168/aspenite: add board support for keypad Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit ab5739a17953b22480dc7caf6603380d563c53fc Author: Mark F. Brown Date: Fri Sep 3 18:28:10 2010 -0400 ARM: pxa168: added keypad wake clear event support for platform Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 3587c258078479824342f33dc513ca7c66d729bc Author: Mark F. Brown Date: Fri Sep 3 18:28:09 2010 -0400 ARM: pxa27x_keypad: added wakeup event handler for keypad interrupts mach-mmp needs to clear wake event in order to clear the keypad interrupt Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 2ce4389068129fb4a8756b5ba126da1260f5dbef Author: Mark F. Brown Date: Fri Sep 3 18:28:08 2010 -0400 ARM: pxa168: added wake clear register support for APMU Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 6d109465fb751fe4376c080e5fb10838d3414c28 Author: Mark F. Brown Date: Fri Sep 3 18:28:07 2010 -0400 ARM: pxa168: added keypad support Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 4a2490eac897e3648c4800b1068b56b7e1ad91b3 Author: Mark F. Brown Date: Fri Sep 3 18:28:06 2010 -0400 ARM: pxa: moved pxa27x_keypad.h to platform pxa directory mach-mmp utilizes pxa27x_keypad code so we need to move header to platform pxa directory. Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 9bdf6bab4ecfb6a8ca50c0c46f2365ef6c3e35b7 Author: Andres Salomon Date: Mon Aug 30 03:57:28 2010 +0000 sparc: break out some PROM device-tree building code out into drivers/of Transitioning into making this useful for architectures other than sparc. This is a verbatim copy of all functions/variables that've been moved. Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit 8d1255627d4ce9cb4b9d0a1c44b6c18d92e84a99 Author: Andres Salomon Date: Fri Oct 8 14:18:11 2010 -0700 of/sparc: convert various prom_* functions to use phandle Rather than passing around ints everywhere, use the phandle type where appropriate for the various functions that talk to the PROM. Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit 3e51d3c924aea8a1f1372e6c615b0a37b528121d Author: Kai Makisara Date: Sat Oct 9 00:17:56 2010 +0300 [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer This patch adds a new MTIOCTOP operation MTWEOFI that writes filemarks with immediate bit set. This means that the drive does not flush its buffer and the next file can be started immediately. This speeds up writing in applications that have to write multiple small files. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit d9c8279b326e18bcb25ee9d12fe7513d24f8bbb1 Author: Stepan Moskovchenko Date: Tue Aug 24 19:51:15 2010 -0700 msm: Platform data for msm8x60 IOMMUs Add the platform data for the IOMMUs found on the Qualcomm msm8x60 SoC. Signed-off-by: Stepan Moskovchenko Signed-off-by: Daniel Walker commit c6a5951ee53db0f275dd85a702325c981c8d8c4c Author: Stepan Moskovchenko Date: Tue Aug 24 18:32:38 2010 -0700 msm: Platform initialization for the IOMMU driver Register a driver for the MSM IOMMU devices and a driver for the translation context devices. Set up the global IOMMU registers and initialize the context banks. Signed-off-by: Stepan Moskovchenko Signed-off-by: Daniel Walker commit 0720d1f052dc1576396a39b327da6e60082c4efa Author: Stepan Moskovchenko Date: Tue Aug 24 18:31:10 2010 -0700 msm: Add MSM IOMMU support Add support for the IOMMUs found on the upcoming Qualcomm MSM8x60 chips. These IOMMUs allow virtualization of the address space used by most of the multimedia cores on these chips. Signed-off-by: Stepan Moskovchenko Signed-off-by: Daniel Walker commit 69b7f6ff855e32ec353475ce7b7246d293816078 Author: Gregory Bean Date: Sun Apr 4 22:29:02 2010 -0700 msm: add MSM8x60 FFA support The MSM8X60 FFA contains different components than the MSM8X60 SURF, and therefore requires a different ARCH type and machine ID. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 57bbf1cc8c265f9d4c6831d9e3f07a72cf16ee27 Author: Steve Muckle Date: Thu Jan 7 12:51:10 2010 -0800 msm: MSM8X60 simulator board support Board configuration for MSM8X60 simulation. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit 49b76f718d634599693e18efe169adfa2d5b75e8 Author: Steve Muckle Date: Fri Mar 19 17:00:08 2010 -0700 msm: add msm8x60_surf machine Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit 998ba079fee7d9639003d77521d2117db17b4a04 Author: Jeff Ohlstein Date: Thu May 6 14:18:06 2010 -0700 msm: physical offset for MSM8X60 The MSM8x60 has a different physical memory offset than other targets. Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit e4fbb68f4594388367e4e4595abf9330d9875704 Author: Abhijeet Dharmapurikar Date: Mon Feb 1 12:30:28 2010 -0800 msm: 8x60: setup correct handlers for private interrupts Private Peripheral interrupts could be edge triggered or level triggered depending on the platform. Initialize handlers for these in board file. Signed-off-by: Abhijeet Dharmapurikar Signed-off-by: Daniel Walker commit 569fb6e3e60eef77941c319562271daf759e634d Author: Jeff Ohlstein Date: Thu Aug 12 13:02:56 2010 -0700 msm: add build support for msm8x60 target Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit 46fe5f29e3062f681cc3cf07a604d82396faea89 Author: Daniel Walker Date: Wed Aug 18 11:00:25 2010 -0700 msm: allow uart to be conditionally disabled Some MSM targets don't select the debug UART in this way. For those we need to disable this selection mechanism. Signed-off-by: Daniel Walker Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit 4ca06de368ddfaee47983d3d1f9eec9e2a6c23d4 Author: Daniel Walker Date: Wed Aug 18 10:53:05 2010 -0700 msm: dma: add stub functions for dma features not yet present on 8x60 Signed-off-by: Daniel Walker Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit 871c94a8612f6b13193752c765617cfe68a038d3 Author: Jeff Ohlstein Date: Tue Aug 17 20:04:19 2010 -0700 msm: clock: add dummy clock driver Need to add this until real clock support for 8x60 goes in, or else some drivers won't compile. Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit 9161d303af547653c66dab4e235b6fd0c3ac6148 Author: Steve Muckle Date: Thu Feb 11 11:50:40 2010 -0800 msm: 8x60: gic initialization fixup for RUMI On RUMI platform STIs are not enabled by default, contrary to the GIC spec. The bits for STIs in the enable/enable clear registers are also RW instead of RO. STIs need to be enabled at initialization time. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit f880c5649ec7a831a45cd254e9ecf9bd25b17dba Author: Steve Muckle Date: Wed Dec 9 14:03:13 2009 -0800 msm: irq: rename existing entry-macro to entry-macro-vic The existing MSM irq entry macro is specific to a VIC implementation. Renaming this makes room for irq support based on other interrupt controllers. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit a55df6edcfc42354ae5f828c31d9236b8a7bbea7 Author: Steve Muckle Date: Thu Jan 7 12:43:24 2010 -0800 msm: MSM8X60 RUMI3 board support Board configuration for MSM8X60 emulation on RUMI3. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit 672039f0351f324bb498c5ff5d468103d321d56c Author: Jeff Ohlstein Date: Tue Oct 5 15:23:57 2010 -0700 msm: timer: support 8x60 timers Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit 01eb4f5c77f3717d8f295610f0dbb705950beadc Author: Abhijeet Dharmapurikar Date: Thu Jan 21 18:10:29 2010 -0800 msm: irqs-8x60: interrupt map Define the interrupt map in irq-8x60.h Signed-off-by: Abhijeet Dharmapurikar Signed-off-by: Daniel Walker commit ed1f31b4b742647e2ec18c885e65fbef484eaf58 Author: Steve Muckle Date: Sat Nov 28 13:00:13 2009 -0800 msm: initial irq definitions for MSM8X60 IRQ assignments are different for MSM8X60 than other existing MSMs. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit 6cf6dfefe1f07f309998df8734fdc0961dbae38c Author: Steve Muckle Date: Wed Jan 6 14:55:24 2010 -0800 msm: io: MSM8X60 io support MSM8X60 has different IO mappings than previous MSMs. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit c8aabaeb52ef6a0aeb6e8e209431b9bb01dcd287 Author: Steve Muckle Date: Wed Apr 21 16:20:27 2010 -0700 msm: create config option for proc-comm Some builds may not support the proc-comm interface with the baseband processor. Signed-off-by: Steve Muckle Signed-off-by: Daniel Walker commit 4315d834c1496ddca977e9e22002b77c85bfec2c Author: Tom Herbert Date: Thu Oct 7 10:09:10 2010 +0000 net: Fix rxq ref counting The rx->count reference is used to track reference counts to the number of rx-queue kobjects created for the device. This patch eliminates initialization of the counter in netif_alloc_rx_queues and instead increments the counter each time a kobject is created. This is now symmetric with the decrement that is done when an object is released. Signed-off-by: Tom Herbert Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit a131d82266e77b8eb8a2dab930a94ed0de9e91b0 Author: RĂ©mi Denis-Courmont Date: Fri Oct 8 04:02:03 2010 +0000 Phonet: mark the pipe controller as EXPERIMENTAL There are a bunch of issues that need to be fixed, including: - GFP_KERNEL allocations from atomic context (and GFP_ATOMIC in process context), - abuse of the setsockopt() call convention, - unprotected/unlocked static variables... IMHO, we will need to alter the userspace ABI when we fix it. So mark the configuration option as EXPERIMENTAL for the time being (or should it be BROKEN instead?). Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 03789f26722a15ccfe6f191e9fb3d356f2f18a1e Author: RĂ©mi Denis-Courmont Date: Fri Oct 8 04:02:02 2010 +0000 Phonet: cleanup pipe enable socket option The current code works like this: int garbage, status; socklen_t len = sizeof(status); /* enable pipe */ setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &garbage, sizeof(garbage)); /* disable pipe */ setsockopt(fd, SOL_PNPIPE, PNPIPE_DISABLE, &garbage, sizeof(garbage)); /* get status */ getsockopt(fd, SOL_PNPIPE, PNPIPE_INQ, &status, &len); ...which does not follow the usual socket option pattern. This patch merges all three "options" into a single gettable&settable option, before Linux 2.6.37 gets out: int status; socklen_t len = sizeof(status); /* enable pipe */ status = 1; setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status)); /* disable pipe */ status = 0; setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status)); /* get status */ getsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, &len); This also fixes the error code from EFAULT to ENOTCONN. Signed-off-by: RĂ©mi Denis-Courmont Cc: Kumar Sanghvi Signed-off-by: David S. Miller commit 6d8e74ed377dd4cbad7ccc69300f734090e15c05 Author: RĂ©mi Denis-Courmont Date: Fri Oct 8 04:02:01 2010 +0000 Phonet: advise against enabling the pipe controller As it currently is, the new code path is not compatible with existing Nokia modems. This would break existing userspace for Nokia modem, such as the existing oFono ISI driver. Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 838e7a03a31b890ee82c74039b84c05fa237bd46 Author: RĂ©mi Denis-Courmont Date: Fri Oct 8 04:02:00 2010 +0000 Phonet: add to MAINTAINERS and add myself Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 56dd2c0691a5a387b7b05835fe547dc6fade9407 Author: Darrick J. Wong Date: Fri Oct 1 13:55:47 2010 -0700 [SCSI] libsas: Don't issue commands to devices that have been hot-removed sd will get hung up issuing commands to flush write cache if a SAS device behind the expander is unplugged without warning. Change libsas to reject commands to domain devices that have already gone away. [maciej.trela@intel.com: removed setting ->gone in sas_deform_port() to permit sync cache commands at module removal] Signed-off-by: Darrick J. Wong Tested-by: Haipao Fan Signed-off-by: Maciej Trela Signed-off-by: Dan Williams Signed-off-by: James Bottomley commit b1091fea295825d99c3f7c69a58c057e7d972389 Author: Amit Kumar Salecha Date: Thu Oct 7 23:46:11 2010 +0000 qlcnic: update driver version 5.0.11 Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit ff1b1bf867ebb7eb5e3ff0eab21c26b830d5e890 Author: Sritej Velaga Date: Thu Oct 7 23:46:10 2010 +0000 qlcnic: change all P3 references to P3P This patch just rename all P3 #define to P3P. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit ee07c1a70117fe93cf71686d481791c2498f80d2 Author: Rajesh Borundia Date: Thu Oct 7 23:46:09 2010 +0000 qlcnic: fix promiscous mode for VF o Allow promiscous mode setting for VF's depending upon the configuration. Signed-off-by: Rajesh Borundia Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 6336acd5522b150e7695cb3b42221999b352baa5 Author: Sritej Velaga Date: Thu Oct 7 23:46:08 2010 +0000 qlcnic: fix board description Remove "Flex-10" from board description. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit a2152d096e0cd8593e883f72e875195ea0e89bb7 Author: Amit Kumar Salecha Date: Thu Oct 7 23:46:07 2010 +0000 qlcnic: remove private LRO flag LRO was not getting enable after interface down/up. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit b8c17620458b82fd868f4813e1ff18368a832b7c Author: Amit Kumar Salecha Date: Thu Oct 7 23:46:06 2010 +0000 qlcnic: support quiescent mode Put device in quiescent mode during internal loopback test. Before running test, set state to NEED_QUISCENT. After getting ack from all function, change state to QUISCENT and perform test. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f7ec804a3edd2f7cf98a42bcad741d89d547c117 Author: Amit Kumar Salecha Date: Thu Oct 7 23:46:05 2010 +0000 qlcnic: driver private workqueue Currently fw recovery usage global workqueue. As same workqueue used by kernel for ethtool and etc., supporting quiescent mode is not possible, without driver private workqueue. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 9cf8d1a3b8cb19fa49494c1b8f0f9e3a37f2c218 Merge: 8391d07 e9a6870 Author: David S. Miller Date: Fri Oct 8 13:51:11 2010 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6e9636693373d938aa3b13427be3d212f172ac06 Author: Konrad Rzeszutek Wilk Date: Fri Oct 8 14:53:48 2010 -0400 x86, iommu: Update header comments with appropriate naming The header comments diverged a bit from the implementation. Lets re-sync them. Signed-off-by: Konrad Rzeszutek Wilk LKML-Reference: <1286564028-2352-3-git-send-email-konrad.wilk@oracle.com> Signed-off-by: H. Peter Anvin commit fc6a2f37d084173de57fe75f73cbe4bb296b9e8a Author: Konrad Rzeszutek Wilk Date: Fri Oct 8 14:53:47 2010 -0400 ia64, iommu: Add a dummy iommu_table.h file in IA64. We don't need a complex IOMMU dependency list on IA64 so we just define the IOMMU_* macro which is used the DMAR driver, as a dummy. Signed-off-by: Konrad Rzeszutek Wilk LKML-Reference: <1286564028-2352-2-git-send-email-konrad.wilk@oracle.com> Reported-by: Tony Luck Tested-by: Tony Luck Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: H. Peter Anvin commit e9a68707d736f4f73d7e209885d7b4c5c452b1dc Merge: dd53df2 15a6321 Author: John W. Linville Date: Fri Oct 8 15:39:28 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ipw2x00/ipw2200.c commit 4e13efc99106723960a27e55f560028bced5076d Author: Andres Salomon Date: Fri Oct 8 11:34:24 2010 -0700 sparc: stop exporting openprom.h header It's unknown why openprom.h was being exported; there doesn't seem to be any reason for it currently, and it creates headaches with userspace being able to potentially use the structures in there. So, don't export it anymore. Signed-off-by: Andres Salomon Acked-by: David S. Miller Signed-off-by: Grant Likely commit e8b17b5b3f30252b5470dbbf54bc251ddc7fac17 Author: Masayuki Ohtake Date: Fri Oct 8 12:44:49 2010 -0600 spi/topcliff: Add topcliff platform controller hub (PCH) spi bus driver Topcliff PCH is the platform controller hub that is going to be used in Intel's upcoming general embedded platform. All IO peripherals in Topcliff PCH are actually devices sitting on AMBA bus. This patch adds a driver for the SPI bus integrated into the Topcliff device. Signed-off-by: Masayuki Ohtake Signed-off-by: Grant Likely commit a7c887510073b2f403e123f2befa40bf93554df9 Merge: 4415beb 4367260 Author: Tony Lindgren Date: Fri Oct 8 11:10:36 2010 -0700 Merge branch 'control_mcbsp_fix_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus commit 4415beb6fb519c4e98491666838494a8c46cc3ee Author: David Anders Date: Thu Oct 7 19:36:30 2010 +0000 omap4: pandaboard: enable the ehci port on pandaboard The OMAP4 PandaBoard has EHCI port1 hooked up to an external SMSC3320 transciever. GPIO 1 is used to power on the transceiver and GPIO 62 for reset on the transceiver. Signed-off-by: David Anders Signed-off-by: Tony Lindgren commit b9b52620823f84f95f3fd94dd6769b7102d7888a Author: David Anders Date: Thu Oct 7 19:36:29 2010 +0000 omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set Avoid possible crash if CONFIG_MMC_OMAP_HS is not set. Signed-off-by: David Anders Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 191183b94cc511d0fc2326c83165d95aeabacac4 Author: David Anders Date: Thu Oct 7 19:36:28 2010 +0000 omap4: pandaboard: remove unused hsmmc definition remove the second hsmmc definition as it is only used on the expansion header of the PandaBoard and can be mux for other functions. Signed-off-by: David Anders Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 8391d07b80e8da957cd888870e23f8e218438622 Author: Dimitris Michailidis Date: Thu Oct 7 14:48:38 2010 +0000 ipv4: Remove leftover rcu_read_unlock calls from __mkroute_output() Commit "fib: RCU conversion of fib_lookup()" removed rcu_read_lock() from __mkroute_output but left a couple of calls to rcu_read_unlock() in there. This causes lockdep to complain that the rcu_read_unlock() call in __ip_route_output_key causes a lock inbalance and quickly crashes the kernel. The below fixes this for me. Signed-off-by: Dimitris Michailidis Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 4367260c0bc1773c00b2309a31b31657cabfda3f Author: Jarkko Nikula Date: Fri Oct 8 11:40:21 2010 -0600 OMAP: McBSP: Remove null omap44xx ops comment It seems these comments where accidentally added so remove them. Signed-off-by: Jarkko Nikula Acked-by: Paul Walmsley Acked-by: Peter Ujfalusi commit e4cc41d7bc31cbf99fc633e4d3ab708b55696096 Author: Jarkko Nikula Date: Fri Oct 8 11:40:21 2010 -0600 OMAP: McBSP: Swap CLKS source definition This is just a readability and debugging improvement. As selection bit in DEVCONF register is cleared when using 96 MHz PRCM source and set when using external CLKS pin, change definitions to be sync with these. Signed-off-by: Jarkko Nikula Acked-by: Paul Walmsley Acked-by: Peter Ujfalusi commit 425925dd750acc17234977decfda1f9cc223389a Author: Jarkko Nikula Date: Fri Oct 8 11:40:20 2010 -0600 OMAP: McBSP: Fix CLKR and FSR signal muxing Fix bit clear. Now it clears all other bits than mask bit where it should clear only it. Signed-off-by: Jarkko Nikula Acked-by: Paul Walmsley Acked-by: Peter Ujfalusi commit 6041c27f51f237b59ea0838c33e08223cf98e43e Author: Paul Walmsley Date: Fri Oct 8 11:40:20 2010 -0600 OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks Reduce the amount of debugging generated by default when unused clocks are being disabled by the clock code. The previous code would only generate debug-level messages, but some people who wished to run production kernels with debug-level messages enabled reported that the large number of clock disable messages were slowing boot. Now to enable clock-by-clock disable messages, DEBUG needs to be defined in mach-omap2/clock.c. Signed-off-by: Paul Walmsley Cc: Tuukka Tikkanen Cc: Tim Bird commit 4814ced5116e3b73dc4f63eec84999739fc8ed11 Author: Paul Walmsley Date: Fri Oct 8 11:40:20 2010 -0600 OMAP: control: move plat-omap/control.h to mach-omap2/control.h Only OMAP2+ platforms have the System Control Module (SCM) IP block. In the past, we've kept the SCM header file in plat-omap. This has led to abuse - device drivers including it; includes being added that create implicit dependencies on OMAP2+ builds; etc. In response, move the SCM headers into mach-omap2/. As part of this, remove the direct SCM access from the OMAP UDC driver. It was clearly broken. The UDC code needs an indepth review for use on OMAP2+ chips. Signed-off-by: Paul Walmsley Cc: Cory Maccarrone Cc: Kyungmin Park commit aa218dafd7b37ba92fcfdd6d5c8d459772f88042 Author: Paul Walmsley Date: Fri Oct 8 11:40:19 2010 -0600 OMAP: split plat-omap/common.c Split plat-omap/common.c into three pieces: 1. the 32KiHz sync timer and clocksource code, which now lives in plat-omap/counter_32k.c; 2. the OMAP2+ common code, which has been moved to mach-omap2/common.c; 3. and the remainder of the OMAP-wide common code, which includes the deprecated ATAGs code and a deprecated video RAM reservation function. The primary motivation for doing this is to move the OMAP2+-specific parts into an OMAP2+-specific file, so that build breakage related to the System Control Module code can be resolved. BenoĂ®t Cousson suggested a new filename and found some bugs in the counter_32k.c comments - thanks BenoĂ®t. Signed-off-by: Paul Walmsley Cc: BenoĂ®t Cousson commit d13586574d373ef40acd4725c9a269daa355e412 Author: Paul Walmsley Date: Fri Oct 8 11:40:19 2010 -0600 OMAP: McBSP: implement functional clock switching via clock framework Previously the OMAP McBSP ASoC driver implemented CLKS switching by using omap_ctrl_{read,write}l() directly. This is against policy; the OMAP System Control Module functions are not intended to be exported to drivers. These symbols are no longer exported, so as a result, the OMAP McBSP ASoC driver does not build as a module. Resolve the CLKS clock changing portion of this problem by creating a clock parent changing function that lives in arch/arm/mach-omap2/mcbsp.c, and modify the ASoC driver to use it. Due to the unfortunate way that McBSP support is implemented in ASoC and the OMAP tree, this symbol must be exported for use by sound/soc/omap/omap-mcbsp.c. Going forward, the McBSP device driver should be moved from arch/arm/*omap* into drivers/ or sound/soc/* and the CPU DAI driver should be implemented as a platform_driver as many other ASoC CPU DAI drivers are. These two steps should resolve many of the layering problems, which will rapidly reappear during a McBSP hwmod/PM runtime conversions. Signed-off-by: Paul Walmsley Acked-by: Jarkko Nikula Acked-by: Peter Ujfalusi Acked-by: Liam Girdwood Acked-by: Mark Brown commit cf4c87abe238ec17cd0255b4e21abd949d7f811e Author: Paul Walmsley Date: Fri Oct 8 11:40:19 2010 -0600 OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c The OMAP ASoC McBSP code implemented CLKR and FSR signal muxing via direct System Control Module writes on OMAP2+. This required the omap_ctrl_{read,write}l() functions to be exported, which is against policy: the only code that should call those functions directly is OMAP core code, not device drivers. omap_ctrl_{read,write}*() are no longer exported, so the driver no longer builds as a module. Fix the pinmuxing part of the problem by removing calls to omap_ctrl_{read,write}l() from the OMAP ASoC McBSP code and implementing signal muxing functions in arch/arm/mach-omap2/mcbsp.c. Due to the unfortunate way that McBSP support is implemented in ASoC and the OMAP tree, these symbols must be exported for use by sound/soc/omap/omap-mcbsp.c. Going forward, the McBSP device driver should be moved from arch/arm/*omap* into drivers/ or sound/soc/*, and the CPU DAI driver should be implemented as a platform_driver as many other ASoC CPU DAI drivers are. These two steps should resolve many of the layering problems, which will rapidly reappear during a McBSP hwmod/PM runtime conversion. Signed-off-by: Paul Walmsley Acked-by: Jarkko Nikula Acked-by: Peter Ujfalusi Acked-by: Liam Girdwood Acked-by: Mark Brown commit 829e5b127a33d3baa227e87636032f36cd4c05fc Author: Paul Walmsley Date: Fri Oct 8 11:40:18 2010 -0600 OMAP3xxx: clock: add clkdev aliases for McBSP fclk source switching The OMAP3 clock tree already contains the infrastructure to support clock framework-based McBSP functional clock source switching. But it did not contain the clkdev aliases for the McBSP code to refer to the parent clocks in an SoC integration-neutral way. So, add the clkdev aliases for the parent clocks. Signed-off-by: Paul Walmsley commit b115b743c2e4bcee9ddc91f7ae2942a06e1a53db Author: Paul Walmsley Date: Fri Oct 8 11:40:18 2010 -0600 OMAP2430: clock: add MCBSP_CLKS node and clkdev aliases Add the MCBSP_CLKS clock and the clksel structures needed to support clock framework-based source switching for McBSPs 1-5. Also, add clkdev aliases on the parent clocks for the McBSP source switching code, added in a subsequent patch. Signed-off-by: Paul Walmsley commit 1bccb345bd8c5652017013d7e963fdd158ead600 Author: Paul Walmsley Date: Fri Oct 8 11:40:17 2010 -0600 OMAP2420: clock: add MCBSP_CLKS node and clkdev aliases Add the MCBSP_CLKS clock and the clksel structures needed to support clock framework-based source switching for McBSP 1 and 2. Also, add clkdev aliases on the parent clocks for the McBSP source switching code, added in a subsequent patch. Signed-off-by: Paul Walmsley commit 54164bb2927edd9f183a108a0d037d80639c8429 Author: Paul Walmsley Date: Fri Oct 8 11:40:17 2010 -0600 OMAP2420: CTRL: fix OMAP242X_CTRL_REGADDR macro Conform the OMAP2420_CTRL_BASE macro name to the standard of the rest of the OMAP*_CTRL_BASE macro names. This fixes a bug in the OMAP2420 SCM code that prevented OMAP242X_CTRL_REGADDR from working. Signed-off-by: Paul Walmsley commit 6515e48932c8bf04227f9dd638c8ac634f89ba24 Author: Paul Walmsley Date: Fri Oct 8 11:40:17 2010 -0600 OMAP2+: Kconfig: disallow builds for boards that don't use the currently-selected SoC Currently, if, for example, CONFIG_ARCH_OMAP2420 is not selected, OMAP2420 board files can still be included in the build. This results in link errors: arch/arm/mach-omap2/built-in.o: In function `omap_generic_map_io': .../arch/arm/mach-omap2/board-generic.c:51: undefined reference to `omap2_set_globals_242x' arch/arm/mach-omap2/built-in.o: In function `omap_h4_init': .../arch/arm/mach-omap2/board-h4.c:330: undefined reference to `omap2420_mux_init' arch/arm/mach-omap2/built-in.o: In function `omap_h4_map_io': .../arch/arm/mach-omap2/board-h4.c:373: undefined reference to `omap2_set_globals_242x' arch/arm/mach-omap2/built-in.o: In function `omap_apollon_init': .../arch/arm/mach-omap2/board-apollon.c:325: undefined reference to `omap2420_mux_init' arch/arm/mach-omap2/built-in.o: In function `omap_apollon_map_io': .../arch/arm/mach-omap2/board-apollon.c:353: undefined reference to `omap2_set_globals_242x' make: *** [.tmp_vmlinux1] Error 1 Fix this by making the boards depend on the Kconfig option for the specific SoC that they use. Also, while here, fix the mach-omap2/board-generic.c file to remove the dependency on OMAP2420. Charulatha Varadarajan caught a typo - thanks Charu. Signed-off-by: Paul Walmsley Cc: Tony Lindgren Cc: Charulatha Varadarajan commit 993284dfff3ba4643f08b592427d0ac758d30156 Author: Ben Hutchings Date: Fri Oct 8 10:36:10 2010 -0700 sfc: Don't try to set filters with search depths we know won't work The filter engine will time-out and ignore filters beyond 200-something hops. We also need to avoid infinite loops in efx_filter_search() when the table is full. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4e7f79511e7332ae4056eda9156a0299511ea41e Author: Ben Hutchings Date: Fri Oct 8 10:33:39 2010 -0700 net: Update kernel-doc for netif_set_real_num_rx_queues() Synchronise the comment with the preceding implementation change. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6f911492ed901dcafc9c5c7f507087bb94218ba7 Author: Tony Lindgren Date: Fri Oct 8 10:23:44 2010 -0700 omap: Update omap2plus_defconfig to use ttyO instead ttyS With the omap-serial the device has changed from ttyS to ttyO as the system may have both omap-serial and 8250 ports. Note that systems using omap-serial need to be updated to use ttyO[012] instead of ttyS[012] in the bootloader, CONFIG_CMDLINE, /etc/inittab, and the root file system with mknod. Also you may need to add ttyO[012] to /etc/securetty. Signed-off-by: Tony Lindgren commit 503923eeecb93ff69ee940549f314e0fe3a68429 Author: Kevin Hilman Date: Fri Oct 8 10:23:32 2010 -0700 OMAP2: PM: check UART status before trying to idle As is done on OMAP3, check omap_uart_can_sleep() as one of the pre-conditions for entering the idle loop. Without this check, entering idle introduces large latencies on active UARTs, and is especially noticable on serial console. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit cc7a1d2a540a780066aa562c651a88dd28b6fc8a Author: Rajendra Nayak Date: Fri Oct 8 10:23:22 2010 -0700 omap: hwmod: Handle modules with 16bit registers Some modules which have 16bit registers can cause imprecise aborts if a __raw_readl/writel is used to read/write 32 bits. Add an additional flag to identify modules which have such hard requirement, and handle it in the hwmod framework. Signed-off-by: Rajendra Nayak Acked-by: Paul Walmsley Tested-by: Kevin Hilman Signed-off-by: Tony Lindgren commit c710e19222794f45f2376ba6f00dc675dc4279d6 Author: Nicolas Kaiser Date: Fri Oct 8 10:23:14 2010 -0700 arm/omap: remove duplicated include Remove duplicated include. Signed-off-by: Nicolas Kaiser Signed-off-by: Tony Lindgren commit 20252d46597e457b7506f28be05478be457b8c4f Author: Charulatha V Date: Fri Oct 8 10:23:06 2010 -0700 OMAP2PLUS: WDT: Fix: Disable WDT after reset during init Inorder to avoid any assumptions from bootloader, the watchdog timer module is reset during init. This enables the watchdog timer. Therefore, it is required to disable WDT after it is reset during init. Otherwise the system would reboot as per the default watchdog timer registers settings. Later, when the watchdog driver is loaded, the watchdog timer settings is adjusted as per the default timer_margin set in the driver and the driver would supports the normal operations supported by OMAP watchdog timer. Signed-off-by: Charulatha V Reported-by: Kevin Hilman Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 72f381ba0565b358dc10c67ff47728a2c9aa5457 Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:57 2010 -0700 omap3: Remove VMMC2 regulator on IGEP v2 VMMC2 regulator is configured but it's not used for the IGEP v2, so remove this regulator from board. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 91d139cf3630eff73f161494ee0c596472c11fef Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:51 2010 -0700 omap3: Add i2c eeprom driver to read EDID on IGEP v2 Add i2c eeprom driver to access monitor EDID binary information from user space, something that is required by 'decode-edid' and 'parse-edid'. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 5a9fcc9980ae741c4657029c7e92d914072f824a Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:43 2010 -0700 omap3: Fix handling some GPIO's for WLAN-BT combo on IGEP v2 Some GPIO's used by WLAN-BT combo on IGEP v2 depends on hardware revision. This patch handles these GPIO's. ---------------------------------------------------------- | Hw Rev. | WIFI_NPD | WIFI_NRESET | BT_NRESET | ---------------------------------------------------------- | B | gpio94 | gpio95 | - | | B/C (B-compatible) | gpio94 | gpio95 | gpio137 | | C | gpio138 | gpio139 | gpio137 | ---------------------------------------------------------- Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 3f8c48d95f8e4ed3ea241c3e8704b5ff6c423fa4 Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:35 2010 -0700 omap3: Introduce function to detect the IGEP v2 hardwarerevision There are currently two versions of IGEP v2 board, this patch introduces a function to detect the hardware revision of IGEP board. -------------------------- | Id. | Hw Rev. | GPIO 28 | -------------------------- | 0 | B/C | high | | 1 | C | low | -------------------------- Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit bee153906424f3bf669afec397c810b76117e22b Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:28 2010 -0700 omap3: fix and improve the LED handling on IGEP v2 board The IGEP v2 board has four leds, this patch allows control all of these LEDs using the LED class if CONFIG_LEDS_GPIO is selected or using the General Purpose Input/Output (GPIO) interface if CONFIG_LEDS_GPIO is not selected. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 61e118dd7755417c541a8ecf32a82c3971258cff Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:19 2010 -0700 omap3: Add external VBUS power switch and overcurrent detect onIGEP v2 board GPIO for various devices are missing from the board initialization. This patch adds support for the VBUS and over current gpios. Without this patch, input/outputs from these two sources are ignored. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit e844b1da87270d96aef3fc79763ecc2c6541a71b Author: Enric Balletbo i Serra Date: Fri Oct 8 10:22:11 2010 -0700 omap3: Add minimal OMAP3 IGEP module support The OMAP3 IGEP module is a low-power, high performance production-ready system-on-module (SOM) based on TI's OMAP3 family. More about this board at www.igep.es. Signed-off-by: Enric Balletbo i Serra [tony@atomide.com: updated for the mmc changes and to be selected by default] Signed-off-by: Tony Lindgren commit bc3caae8a191c712d8ae666d0b8d18807bfe2b14 Merge: 73c5ef1 69758ab Author: Tony Lindgren Date: Fri Oct 8 10:20:40 2010 -0700 Merge branch 'pm-hwmods' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus commit 73c5ef126f40b0b872e5964ff65dbe792eeec493 Merge: 582c77d 243e76b 64be978 Author: Tony Lindgren Date: Fri Oct 8 10:19:53 2010 -0700 Merge branches 'devel-omap1' and 'devel-omap2plus' into omap-for-linus commit 582c77d783e0cb1e6c30a330e42582173bcadfd2 Merge: bead437 ebfa88c Author: Tony Lindgren Date: Fri Oct 8 10:19:36 2010 -0700 Merge branch 'pm-next-2' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus commit bead4375731ad283cccbcbcb55bc7549c9746168 Author: Manjunath Kondaiah G Date: Fri Oct 8 10:01:13 2010 -0700 OMAP3: Keypad: Fix incorrect type initializer The keypad matrix variable declaration is not matching with structure variable keymap declared in keypad_matrix.h. Due to this, following sparse warnings are generated with omap3_defconfig. arch/arm/mach-omap2/board-devkit8000.c:223:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-devkit8000.c:223:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-devkit8000.c:223:14: got int static [toplevel] * arch/arm/mach-omap2/board-ldp.c:107:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-ldp.c:107:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-ldp.c:107:14: got int static [toplevel] * arch/arm/mach-omap2/board-omap3evm.c:472:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-omap3evm.c:472:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-omap3evm.c:472:14: got int static [toplevel] * arch/arm/mach-omap2/board-3430sdp.c:114:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-3430sdp.c:114:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-3430sdp.c:114:14: got int static [toplevel] * arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: got int static [toplevel] * arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: got int static [toplevel] * arch/arm/mach-omap2/board-cm-t35.c:568:14: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-cm-t35.c:568:14: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-cm-t35.c:568:14: got int static [toplevel] * arch/arm/mach-omap2/board-omap3stalker.c:415:13: warning: incorrect type in initializer (different signedness) arch/arm/mach-omap2/board-omap3stalker.c:415:13: expected unsigned int const [usertype] *keymap arch/arm/mach-omap2/board-omap3stalker.c:415:13: got int static [toplevel] * This patch modifies the variable keymap declaration as per declaration in matrix_keymap structure. Signed-off-by: Manjunath Kondaiah G Cc: linux-input@vger.kernel.org Cc: Dmitry Torokhov Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit b0a330dc5eff6b27cce3b7b5dbea9379d969f73e Author: Manjunath Kondaiah G Date: Fri Oct 8 10:00:19 2010 -0700 OMAP: plat-omap: Fix static function warnings This patch fixes sparse warnings due non declarations of static functions. arch/arm/plat-omap/sram.c:130:13: warning: symbol 'omap_detect_sram' was not declared. Should it be static? arch/arm/plat-omap/sram.c:216:13: warning: symbol 'omap_map_sram' was not declared. Should it be static? arch/arm/plat-omap/sram.c:450:12: warning: symbol 'omap_sram_init' was not declared. Should it be static? arch/arm/plat-omap/sram.c:348:12: warning: symbol 'omap242x_sram_init' was not declared. Should it be static? arch/arm/plat-omap/sram.c:369:12: warning: symbol 'omap243x_sram_init' was not declared. Should it be static? arch/arm/plat-omap/sram.c:425:12: warning: symbol 'omap34xx_sram_init' was not declared. Should it be static? arch/arm/plat-omap/sram.c:441:12: warning: symbol 'omap44xx_sram_init' was not declared. Should it be static arch/arm/plat-omap/mcbsp.c:36:6: warning: symbol 'omap_mcbsp_write' was not declared. Should it be static? arch/arm/plat-omap/mcbsp.c:50:5: warning: symbol 'omap_mcbsp_read' was not declared. Should it be static? arch/arm/plat-omap/mcbsp.c:65:6: warning: symbol 'omap_mcbsp_st_write' was not declared. Should it be static? arch/arm/plat-omap/mcbsp.c:70:5: warning: symbol 'omap_mcbsp_st_read' was not declared. Should it be static? arch/arm/plat-omap/mcbsp.c:1648:15: warning: symbol 'omap_st_add' was not declared. Should it be static? arch/arm/plat-omap/fb.c:414:15: warning: symbol 'omapfb_reserve_sram' was not declared. Should it be static? arch/arm/plat-omap/cpu-omap.c:43:5: warning: symbol 'omap_verify_speed' was not declared. Should it be static? arch/arm/plat-omap/cpu-omap.c:61:14: warning: symbol 'omap_getspeed' was not declared. Should it be static? Signed-off-by: Manjunath Kondaiah G Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit 600ecd9874d56d310a597b1e0a3936f195c83022 Author: Manjunath Kondaiah G Date: Fri Oct 8 09:59:20 2010 -0700 OMAP: mach-omap2: Fix miscellaneous sparse warnings This patch fixes miscellaneous sparse warnings in mach-omap2. arch/arm/mach-omap2/board-am3517evm.c:141:17: warning: Initializer entry defined twice arch/arm/mach-omap2/board-am3517evm.c:142:18: also defined here arch/arm/mach-omap2/irq.c:50:35: warning: Using plain integer as NULL pointer Signed-off-by: Manjunath Kondaiah G Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit 04aeae777945df0e3e37d968d211c821c7458cc5 Author: Manjunath Kondaiah G Date: Fri Oct 8 09:58:35 2010 -0700 OMAP2plus: Fix static function warnings This patch fixes sparse warnings due non declarations of static functions. arch/arm/mach-omap2/timer-gp.c:115:12: warning: symbol 'omap2_gp_clockevent_set_gptimer' was not declared. Should it be static? arch/arm/mach-omap2/powerdomain.c:993:5: warning: symbol 'pwrdm_set_lowpwrstchange' was not declared. Should it be static? arch/arm/mach-omap2/board-flash.c:141:8: warning: symbol 'board_nand_init' was not declared. Should it be static? arch/arm/mach-omap2/board-n8x0.c:416:6: warning: symbol 'n8x0_mmc_slot1_cover_handler' was not declared. Should it be static? arch/arm/mach-omap2/board-n8x0.c:544:13: warning: symbol 'n8x0_mmc_init' was not declared. Should it be static? arch/arm/mach-omap2/board-rx51-peripherals.c:902:13: warning: symbol 'rx51_peripherals_init' was not declared. Should it be static? arch/arm/mach-omap2/board-rx51-video.c:107:13: warning: symbol 'rx51_video_mem_init' was not declared. Should it be static? arch/arm/mach-omap2/board-zoom-debugboard.c:155:12: warning: symbol 'zoom_debugboard_init' was not declared. Should it be static? arch/arm/mach-omap2/board-zoom-peripherals.c:280:13: warning: symbol 'zoom_peripherals_init' was not declared. Should it be static? arch/arm/mach-omap2/board-igep0020.c:110:13: warning: symbol 'igep2_flash_init' was not declared. Should it be static? arch/arm/mach-omap2/board-am3517evm.c:109:6: warning: symbol 'am3517_evm_ethernet_init' was not declared. Should it be static? drivers/mtd/onenand/omap2.c:577:5: warning: symbol 'omap2_onenand_rephase' was not declared. Should it be static? Signed-off-by: Manjunath Kondaiah G Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit 38815733972655ee3cbfc34e254c403c332693c3 Author: Manjunath Kondaiah G Date: Fri Oct 8 09:56:37 2010 -0700 OMAP: mach-omap2: Fix static declaration warnings This patch fixes sparse warnings due to non declaration of static structures and variables. Sparse warning logs fixed: arch/arm/mach-omap2/control.c:88:6: warning: symbol 'omap3_secure_ram_storage' was not declared. Should it be static? n arch/arm/mach-omap2/timer-gp.c:50:22: warning: symbol 'gptimer_wakeup' was not declared. Should it be static? arch/arm/mach-omap2/timer-gp.c:240:18: warning: symbol 'omap_timer' was not declared. Should it be static? arch/arm/mach-omap2/prcm.c:121:24: warning: symbol 'prcm_context' was not declared. Should it be static? arch/arm/mach-omap2/mux2420.c:510:29: warning: symbol 'omap2420_pop_ball' was not declared. Should it be static? arch/arm/mach-omap2/mux2430.c:589:29: warning: symbol 'omap2430_pop_ball' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:934:28: warning: symbol 'omap3_cus_subset' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:1080:29: warning: symbol 'omap3_cus_ball' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:1272:28: warning: symbol 'omap3_cbb_subset' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:1393:29: warning: symbol 'omap3_cbb_ball' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:1603:28: warning: symbol 'omap36xx_cbp_subset' was not declared. Should it be static? arch/arm/mach-omap2/mux34xx.c:1821:29: warning: symbol 'omap36xx_cbp_ball' was not declared. Should it be static? arch/arm/mach-omap2/pm-debug.c:165:15: warning: symbol 'pm_dbg_dir' was not declared. Should it be static? arch/arm/mach-omap2/board-omap3evm.c:587:30: warning: symbol 'ads7846_config' was not declared. Should it be static? arch/arm/mach-omap2/board-omap3evm.c:606:23: warning: symbol 'omap3evm_spi_board_info' was not declared. Should it be static? arch/arm/mach-omap2/board-rx51-sdram.c:46:25: warning: symbol 'rx51_sdrc_params' was not declared. Should it be static? arch/arm/mach-omap2/board-rx51-sdram.c:211:25: warning: symbol 'rx51_get_sdram_timings' was not declared. Should it be static? arch/arm/mach-omap2/board-omap3touchbook.c:64:15: warning: symbol 'touchbook_revision' was not declared. Should it be static? arch/arm/mach-omap2/board-am3517evm.c:350:24: warning: symbol 'am3517_evm_dss_device' was not declared. Should it be static? arch/arm/mach-omap2/board-omap3stalker.c:567:23: warning: symbol 'omap3stalker_spi_board_info' was not declared. Should it be static? Signed-off-by: Manjunath Kondaiah G Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit 4d63bc1de704c6f413979261bf42781cf364eb14 Author: Manjunath Kondaiah G Date: Fri Oct 8 09:56:11 2010 -0700 OMAP: mach-omap2: Fix incorrect assignment warnings This patch fixes below sparse warnings for incorrect assignments. arch/arm/mach-omap2/control.c:195:16: warning: incorrect type in assignment (different address spaces) arch/arm/mach-omap2/control.c:195:16: expected unsigned int [usertype] *v_addr arch/arm/mach-omap2/control.c:195:16: got void [noderef] * arch/arm/mach-omap2/control.c:199:25: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/control.c:199:25: expected void const volatile [noderef] * arch/arm/mach-omap2/control.c:199:25: got unsigned int [usertype] * arch/arm/mach-omap2/control.c:320:28: warning: incorrect type in assignment (different address spaces) arch/arm/mach-omap2/control.c:320:28: expected void *[noderef] scratchpad_address arch/arm/mach-omap2/control.c:320:28: got void [noderef] * arch/arm/mach-omap2/control.c:321:9: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/control.c:321:9: expected void volatile [noderef] * arch/arm/mach-omap2/control.c:321:9: got void *[noderef] scratchpad_address arch/arm/mach-omap2/control.c:324:9: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/control.c:324:9: expected void volatile [noderef] * arch/arm/mach-omap2/control.c:324:9: got void * arch/arm/mach-omap2/control.c:327:9: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/control.c:327:9: expected void volatile [noderef] * arch/arm/mach-omap2/control.c:327:9: got void * arch/arm/mach-omap2/control.c:334:9: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/control.c:334:9: expected void volatile [noderef] * arch/arm/mach-omap2/control.c:334:9: got void * arch/arm/mach-omap2/control.c:321:9: warning: dereference of noderef expression arch/arm/mach-omap2/control.c:324:9: warning: dereference of noderef expression arch/arm/mach-omap2/control.c:327:9: warning: dereference of noderef expression arch/arm/mach-omap2/control.c:334:9: warning: dereference of noderef expression arch/arm/mach-omap2/pm34xx.c:323:28: warning: incorrect type in assignment (different address spaces) arch/arm/mach-omap2/pm34xx.c:323:28: expected unsigned int [usertype] *scratchpad_address arch/arm/mach-omap2/pm34xx.c:323:28: got void [noderef] * arch/arm/mach-omap2/pm34xx.c:326:26: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/pm34xx.c:326:26: expected void const volatile [noderef] * arch/arm/mach-omap2/pm34xx.c:326:26: got unsigned int [usertype] * arch/arm/mach-omap2/pm34xx.c:329:26: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/pm34xx.c:329:26: expected void const volatile [noderef] * arch/arm/mach-omap2/pm34xx.c:329:26: got unsigned int [usertype] * arch/arm/mach-omap2/pm34xx.c:334:29: warning: incorrect type in argument 1 (different address spaces) arch/arm/mach-omap2/pm34xx.c:334:29: expected void const volatile [noderef] * arch/arm/mach-omap2/pm34xx.c:334:29: got unsigned int [usertype] * Signed-off-by: Manjunath Kondaiah G Cc: linux-arm-kernel@lists.infradead.org Cc: Nishanth Menon Signed-off-by: Tony Lindgren commit 0dd12c21951e085357046b68c3a108273062d2aa Author: Jeff Layton Date: Fri Oct 8 12:20:12 2010 -0400 cifs: initialize tlink_tree_lock and tlink_tree Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 5b8544c38e6fde6968645afd46ff681492192b86 Author: Kumar Gala Date: Fri Oct 8 10:37:31 2010 -0500 powerpc/ppc64e: Fix link problem when building ppc64e_defconfig arch/powerpc/platforms/built-in.o:(.toc1+0x18): undefined reference to `__early_start' This is due to the 85xx/smp.c not handling the 64-bit side properly. We need to set the entry point for secondary cores on ppc64e to generic_secondary_smp_init instead of __early_start that we due on ppc32. Signed-off-by: Kumar Gala commit fe21221386e46b8e0f2cbd83559a29680c28473b Author: Thomas Gleixner Date: Fri Oct 8 15:33:01 2010 +0200 mfd: twl4030: Fix dummy irq chip usage The twl irqchip uses the dummy irq chip ack functions, which is NULL now. Switch it over to use irq_ack. Reported-and-tested-by: Grazvydas Ignotas Signed-off-by: Thomas Gleixner commit 674f3058c806ae2591b98f59194fa85b650aa667 Author: Ohad Ben-Cohen Date: Fri Oct 8 16:16:27 2010 +0300 wl1271: sdio: add suspend/resume support Add required suspend/resume support to prevent the SDIO core from removing our card completely during system suspend. Signed-off-by: Ohad Ben-Cohen Tested-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 00cbb3c5317d418c349c60876fe12fba7624f3e7 Author: Ohad Ben-Cohen Date: Fri Oct 8 16:16:16 2010 +0300 wl1271: sdio: enable runtime PM Enable runtime PM for the wl1271 SDIO device. We request power whenever the WLAN interface is brought up, and release it after the WLAN interface is taken down. As a result, power is released immediately after probe returns, since at that point power has not been explicitly requested yet (i.e. the WLAN interface is still down). Signed-off-by: Ohad Ben-Cohen Acked-by: Luciano Coelho Tested-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 865a4fae7793b80e2b8bca76e279d6dfecbeac17 Author: Russell King Date: Mon Oct 4 18:02:59 2010 +0100 ARM: add register documentation for __enable_mmu Add some additional documentation on register usage in __enable_mmu to help complete the overall picture. Signed-off-by: Russell King commit 00945010c063b95e813b966f44bf58ffa1955a38 Author: Russell King Date: Mon Oct 4 17:56:13 2010 +0100 ARM: hotplug cpu: move secondary_startup, __enable_mmu to cpuinit Move these two functions, both of which are required for secondary CPU booting, into the cpuinit section. Ensure bad processors call __error_p for better diagnostics, rather than just __error. Signed-off-by: Russell King commit 786f1b73f7d5cad5c88dc75a96d53a74160aa7d7 Author: Russell King Date: Mon Oct 4 17:51:54 2010 +0100 ARM: hotplug cpu: ensure that __enable_mmu is identity mapped __enable_mmu is required to be executed in an identity mapped region to ensure that variances in CPUs do not cause a crash. We currently achieve this by assuming that it will be co-located with __create_page_tables. With hotplug CPU support, this assumption becomes invalid. Implement a better solution which ensures that it will be appropriately mapped no matter where it is placed. Signed-off-by: Russell King commit 80924ac595f3ca32ec0a80cc1217c7019d3519ff Author: Russell King Date: Mon Oct 4 17:45:25 2010 +0100 ARM: cleanup lookup_machine_type data and ensure these are placed in __HEAD Signed-off-by: Russell King commit c083c6609b290a650894f846270a9233401adc22 Author: Russell King Date: Mon Oct 4 17:39:20 2010 +0100 ARM: hotplug cpu: move __error and __error_p to cpuinit section __error and __error_p may be used by secondary CPUs, so these need to be in the cpuinit section. Signed-off-by: Russell King commit 17bb5e2c1706c7296eec96e97be0d760e59f282c Author: Russell King Date: Mon Oct 4 16:29:35 2010 +0100 ARM: move __mmap_switched, C-API functions to init section Move these functions, which are only ever used during boot CPU initialization, to the init section. Signed-off-by: Russell King commit a4ae41341fd39af6e25ec9861a6a4dc0c5c58b16 Author: Russell King Date: Mon Oct 4 16:22:34 2010 +0100 ARM: cleanup boot cpu calling __mmap_switched This allows us to relocate __mmap_switched and associated data away from the head section. Signed-off-by: Russell King commit 5085f3ff458521045f7e43da62b8c30ea7df2e82 Author: Russell King Date: Fri Oct 1 15:37:05 2010 +0100 ARM: hotplug cpu: Keep processor information, startup code & __lookup_processor_type When hotplug CPU is enabled, we need to keep the list of supported CPUs, their setup functions, and __lookup_processor_type in place so that we can find and initialize secondary CPUs. Move these into the __CPUINIT section. Signed-off-by: Russell King commit 37b05b63754e995b8cb76f4fbe7ed7219b3ca896 Author: Russell King Date: Fri Oct 1 15:38:24 2010 +0100 ARM: hotplug cpu: setup 1:1 map for entire kernel image for secondary CPUs Make the entire kernel image available for secondary CPUs rather than just the first MB of memory. This allows the startup code to appear in the cpuinit sections. Signed-off-by: Russell King commit f131a0800e286a13839784e554383c0ddfa78bce Author: Russell King Date: Fri Oct 1 15:42:02 2010 +0100 ARM: no need for nommu to jump through the hoops that mmu does nommu can jump directly to __mmap_switched without the absolute address branching which the mmuful kernel does. Acked-by: Greg Ungerer Signed-off-by: Russell King commit 4fa046655b80e9bb361a95da5c86ce778f5018b9 Merge: 552dc34 846afbd1 Author: Russell King Date: Fri Oct 8 10:06:58 2010 +0100 Merge branch 'for-russell' of git://codeaurora.org/quic/kernel/dwalker/linux-msm into devel-stable commit e4eab08d6050ad04d960738f589724204fd1064c Author: Nicolas Pitre Date: Fri Aug 20 21:14:46 2010 +0100 ARM: 6342/1: fix ASLR of PIE executables Since commits 990cb8acf2 and cc92c28b2d, it is possible to have full address space layout randomization (ASLR) on ARM. Except that one small change was missing for ASLR of PIE executables. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 01723a9566f9e9ce4c75e5c4c9f6dc20600871a7 Author: Linus Walleij Date: Tue Sep 7 22:43:19 2010 +0100 ARM: 6368/1: move the PrimeCell IDs to use macros This make four macros for the PrimeCell ID register available to drivers that use them witout using the PrimeCell/AMBA bus abstraction and struct amba_device. It also moves the magic PrimeCell CID "B105F00D" to the bus.h header file. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 2da6d64a638eb982bebf34e2999f0b67cfb90f33 Author: Linus Walleij Date: Sat Sep 11 12:47:25 2010 +0100 ARM: 6369/1: Update RealView SMP defconfig This patches the condensed RealView SMP defconfig activating the same 2.6.36 features mentioned in the vanilla RealView defconfig patch submitted earlier. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 6a7d520fc141ad8f72efab3a5a2a73b3655fee24 Author: Linus Walleij Date: Mon Sep 6 09:16:04 2010 +0100 ARM: 6365/1: Update RealView defconfig This patches the condensed RealView defconfig activating some stuff that has been missing from this config for some time and some stuff that was merged in the 2.6.36 merge window: - The new character LCD driver is enabled - The Versatile I2C is enabled - The PL022 SPI driver is enabled - gpiolib is enabled (and makes MMC detection work properly) - The new LEDs code is enabled with a heartbeat trigger - The RTC class is enabled, and the PL031 RTC (onchip) and the offchip DS1307 on I2C is enabled Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 74b0ec0708e7c8c530079b737f32c55597d062cc Author: Russell King Date: Fri Oct 1 14:26:56 2010 +0100 ARM: vmlinux.lds: Move unwind tables into _stext.._etext Signed-off-by: Russell King commit 842eab40b6920819fff5caeefdb709f07d3f8e23 Author: Russell King Date: Fri Oct 1 14:12:22 2010 +0100 ARM: vmlinux.lds: Refer to start of .data using _sdata rather than _data Use _sdata as the start of the data section, rather than _data. Signed-off-by: Russell King commit c7b0aff44a0740eedd31b759fd08d9e25672fa76 Author: Kevin Hilman Date: Fri Oct 1 22:13:47 2010 +0100 ARM: 6428/1: add cpu_idle_wait() to support CPUidle on SMP systems. In order for CPUidle to work on SMP systems, an implementation of cpu_idle_wait() is needed. This patch duplicates the x86 implementation of cpu_idle_wait() for ARM. Tested-by: Colin Cross Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 7511db9d25080d53e5427bf4b8849278c07019bc Author: Tony Lindgren Date: Tue Oct 5 16:40:13 2010 +0100 ARM: 6429/1: Check for is_smp for tlb_ops and cache_ops broadcast Broadcast should not be needed when running SMP kernel on UP systems. Also, this fixes an undefined instruction for SMP_ON_UP on earlier ARM cores without the extended CPUID_EXT_MMFR3 register. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 5fb31a96e1e0078f1e82736ccd72a61ecabe6a4f Author: Linus Walleij Date: Wed Oct 6 11:07:28 2010 +0100 ARM: 6431/1: fix isb regression on CPU < v7 The kernel does not compile for my ARM926EJ-S system U300 due to the isb instruction inserted in generic assember statement from commit 8925ec4c530094b878e7e28a1fd78e7122afd973, "ARM: 6385/1: setup: detect aliasing I-cache when D-cache is non-aliasing" hey the isb is only available when assembling for v7 so let's use the generic isb() macro from setup.h instead. Acked-by: Will Deacon Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 552dc340bce3b28f4af33c9134adafa5efacf1c9 Merge: a9fda02 ee621dd Author: Russell King Date: Fri Oct 8 09:58:55 2010 +0100 Merge branch 'for_rmk' of git://github.com/at91linux/linux-2.6-at91 into devel-stable commit 7cd2541cf2395962daf98ec32a141aba3398a9b2 Merge: c62f981 cb655d0 Author: Ingo Molnar Date: Fri Oct 8 10:46:27 2010 +0200 Merge commit 'v2.6.36-rc7' into perf/core Conflicts: arch/x86/kernel/module.c Merge reason: Resolve the conflict, pick up fixes. Signed-off-by: Ingo Molnar commit a754aea25e804d0635d1871558bee5024605ff92 Author: Marek Vasut Date: Fri Sep 3 22:35:46 2010 +0200 ARM: pxa: fix pxa3xx-u2d crash when ULPI not used In case the pxa3xx-u2d driver isn't used, probing of ohci-pxa27x will cause an ugly kernel crash (NULL pointer dereference in pxa3xx_u2d_start_hc(), because struct u2d is NULL and clk_enable() call will crash the kernel, trying to access it). Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 884646a5721e547d302390d8a483e9b75a31b017 Author: Mark F. Brown Date: Wed Aug 25 23:51:55 2010 -0400 ARM: pxa168/aspenite: added initial support for TPO TD043MTEA1 LCD Signed-off-by: Mark F. Brown Cc: Haojian Zhuang Cc: Marek Vasut Signed-off-by: Eric Miao commit 58cf68b88ce3fc48e345e756c07770e1d6e4cbe9 Author: Mark F. Brown Date: Wed Aug 25 23:51:54 2010 -0400 ARM: pxa168: added framebuffer support code Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao commit 6ac6b817f3f4c23c5febd960d8deb343e13af5f3 Author: Haojian Zhuang Date: Fri Aug 20 15:23:59 2010 +0800 ARM: pxa: encode IRQ number into .nr_irqs Signed-off-by: Haojian Zhuang Acked-by: Antonio Ospite Signed-off-by: Eric Miao commit 1b43d8eda71bc953c9005afd63952e0666169553 Author: Igor Grinberg Date: Tue Jul 27 15:07:00 2010 +0300 ARM: pxa/cm-x300: enable USB host port2 Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6dc3ae845c56157098f8af2d793aaefac2b31840 Author: Igor Grinberg Date: Tue Jul 27 15:06:59 2010 +0300 ARM: ohci-pxa27x: enable OHCI over U2DC for pxa3xx U2D Controller of pxa3xx is able to work in host mode. Make pxa specific ohci implementation aware of it. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 69f22be7b10684ade3808de22db87c536ed135f3 Author: Igor Grinberg Date: Tue Jul 27 15:06:58 2010 +0300 ARM: pxa: add U2D controller and ULPI driver for pxa3xx USB2.0 Device Controller (U2DC) which is found in Marvell PXA3xx. U2DC supports both High and Full speed modes. PXA320 and PXA300 U2DC supports only UTMI interface. PXA310 U2DC supports only ULPI interface and has the OTG capability. U2D Controller ULPI driver introduced in this patch supports only the PXA310 USB Host via the ULPI. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 286e5b97eb22baab9d9a41ca76c6b933a484252c Author: Paul Fox Date: Fri Oct 1 18:17:19 2010 +0100 x86, olpc: Don't retry EC commands forever Avoids a potential infinite loop. It was observed once, during an EC hacking/debugging session - not in regular operation. Signed-off-by: Daniel Drake Cc: dilinger@queued.net Cc: Signed-off-by: Ingo Molnar commit 4d033556f1bfaa7604b951bfadd17aaf1b74e4c5 Author: Feng Tang Date: Mon Sep 13 15:08:56 2010 +0800 x86, earlyprintk: Add hsu early console for Intel Medfield platform Intel Medfield platform has a high speed UART device, which could act as a early console. To enable early printk of HSU console, simply add "earlyprintk=hsu" in kernel command line. Currently we put the code in the early_printk_mrst.c as it is also for Intel MID platforms like the mrst early console Signed-off-by: Feng Tang Acked-by: Alan Cox Cc: greg@kroah.com LKML-Reference: <1284361736-23011-5-git-send-email-feng.tang@intel.com> Signed-off-by: Ingo Molnar commit c20b5c3318fe45e4f33f01a91ccead645dfdf619 Author: Feng Tang Date: Mon Sep 13 15:08:55 2010 +0800 x86, earlyprintk: Add earlyprintk for Intel Moorestown platform Intel Moorestown platform has a spi-uart device(Maxim3110), which connects to a Designware spi core controller. This patch will add early console function based on it. As it will be used long before Linux spi subsystem get initialised, we simply directly manipulate the spi controller's register to acheive the early console func. This is safe as it will be disabled when devices subsytem get initialised. To use it, user need enable CONFIG_X86_MRST_EARLY_PRINTK in kenrel config and add "earlyprintk=mrst" in kernel command line. Signed-off-by: Feng Tang Acked-by: Alan Cox Cc: greg@kroah.com LKML-Reference: <1284361736-23011-4-git-send-email-feng.tang@intel.com> Signed-off-by: Ingo Molnar commit 5a47c7dae861c3ca3edf178546641909851bf715 Author: Feng Tang Date: Mon Sep 13 15:08:54 2010 +0800 x86: Add two helper macros for fixed address mapping Sometimes fixmap will be used to map an physical address which is not PAGE align, so to use it we need first map it and then add the address offset to the mapped fixed address. These 2 new helpers are suggested by Ingo Molnar to make the process simpler. For a physicall address like "phys", a directly usable virtual address can be get by virt = (void *)set_fixmap_offset(fixed_idx, phys); or virt = (void *)set_fixmap_offset_nocache(fixed_idx, phys); (depends on whether the physical address is cachable or not). Signed-off-by: Feng Tang Cc: alan@linux.intel.com Cc: greg@kroah.com Cc: x86@kernel.org LKML-Reference: <1284361736-23011-3-git-send-email-feng.tang@intel.com> Signed-off-by: Ingo Molnar commit 153db80f8cf74e8700cac96305b6c0b92918f17c Merge: 5fd03dd cb655d0 Author: Ingo Molnar Date: Fri Oct 8 09:14:51 2010 +0200 Merge commit 'v2.6.36-rc7' into core/memblock Merge reason: Update from -rc3 to -rc7. Signed-off-by: Ingo Molnar commit 5fd03ddab7fdbc44bfb2d183a4531c26a8dbca5a Author: Yinghai Lu Date: Tue Oct 5 21:28:10 2010 -0700 memblock/arm: Fix memblock_region_is_memory() typo Fix typo in commit dbe3039 ("memblock/arm: Use memblock_region_is_memory() for omap fb") - it should be memblock_is_region_memory(). Reported-by: Tomi Valkeinen Signed-off-by: Yinghai Lu Cc: Benjamin Herrenschmidt Cc: Felipe Balbi Cc: Kevin Hilman Cc: ext Grazvydas Ignotas LKML-Reference: <4CABFADA.9020305@kernel.org> Signed-off-by: Ingo Molnar commit 68f4d5a00adaab33b136fce2c72d5c377b39b0b0 Author: Zhao Yakui Date: Fri Oct 8 09:47:33 2010 +0800 x86, setup: Use string copy operation to optimze copy in kernel compression The kernel decompression code parses the ELF header and then copies the segment to the corresponding destination. Currently it uses slow byte-copy code. This patch makes it use the string copy operations instead. In the test the copy performance can be improved very significantly after using the string copy operation mechanism. 1. The copy time can be reduced from 150ms to 20ms on one Atom machine 2. The copy time can be reduced about 80% on another machine The time is reduced from 7ms to 1.5ms when using 32-bit kernel. The time is reduced from 10ms to 2ms when using 64-bit kernel. Signed-off-by: Zhao Yakui LKML-Reference: <1286502453-7043-1-git-send-email-yakui.zhao@intel.com> Signed-off-by: H. Peter Anvin commit 6ea75952d7c671ea8b0d7b66f82afcafbb5d20c2 Merge: 6b0cd00 d244555 Author: Steve French Date: Fri Oct 8 03:42:03 2010 +0000 Merge branch 'for-next' commit d2445556137c38ae15d3191174bfd235630ed7cd Author: Steve French Date: Fri Oct 8 03:38:46 2010 +0000 [CIFS] Remove build warning Signed-off-by: Steve French commit ccc46a7402200a3b28a8fa1605ea5405a9ef66f7 Author: Jeff Layton Date: Wed Oct 6 19:51:12 2010 -0400 cifs: fix module refcount leak in find_domain_name find_domain_name() uses load_nls_default which takes a module reference on the appropriate NLS module, but doesn't put it. Signed-off-by: Jeff Layton Cc: Shirish Pargaonkar Signed-off-by: Steve French commit 2de970ff69bbcc5a4b7440df669a595b2b1acd73 Author: Jeff Layton Date: Wed Oct 6 19:51:12 2010 -0400 cifs: implement recurring workqueue job to prune old tcons Create a workqueue job that cleans out unused tlinks. For now, it uses a hardcoded expire time of 10 minutes. When it's done, the work rearms itself. On umount, the work is cancelled before tearing down the tlink tree. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 3aa1c8c2900065a51268430ab48a1b42fdfe5b45 Author: Jeff Layton Date: Thu Oct 7 14:46:28 2010 -0400 cifs: on multiuser mount, set ownership to current_fsuid/current_fsgid (try #5) ...when unix extensions aren't enabled. This makes everything on the mount appear to be owned by the current user. This version of the patch differs from previous versions however in that the admin can still force the ownership of all files to appear as a single user via the uid=/gid= options. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 55572b293b3a5929e8c54bc91d14ae6264186bf6 Author: H. Peter Anvin Date: Thu Oct 7 16:42:54 2010 -0700 x86, mrst: A function in a header file needs to be marked "inline" A function in a header file needs to be explicitly marked "inline", or gcc will complain if it is not used. Signed-off-by: H. Peter Anvin Cc: Jacob Pan Cc: v2.6.36 LKML-Reference: <1274295685-6774-3-git-send-email-jacob.jun.pan@linux.intel.com> commit a416e9e1dde0fbcf20cda59df284cc0dcf2aadc4 Author: Namhyung Kim Date: Wed Sep 29 23:29:48 2010 +0900 x86-32: Fix sparse warning for the __PHYSICAL_MASK calculation On 32-bit non-PAE system, cast to 'phys_addr_t' truncates value before subtraction. Subtracting before cast produce same result but remove following warnings from sparse: arch/x86/include/asm/pgtable_types.h:255:38: warning: cast truncates bits from constant value (100000000 becomes 0) arch/x86/include/asm/pgtable_types.h:270:38: warning: cast truncates bits from constant value (100000000 becomes 0) arch/x86/include/asm/pgtable.h:127:32: warning: cast truncates bits from constant value (100000000 becomes 0) arch/x86/include/asm/pgtable.h:132:32: warning: cast truncates bits from constant value (100000000 becomes 0) arch/x86/include/asm/pgtable.h:344:31: warning: cast truncates bits from constant value (100000000 becomes 0) 64-bit or PAE machines will not be affected by this change. Signed-off-by: Namhyung Kim LKML-Reference: <1285770588-14065-1-git-send-email-namhyung@gmail.com> Signed-off-by: H. Peter Anvin commit c75f2aa13f5b268aba369b5dc566088b5194377c Author: Tony Luck Date: Thu Oct 7 16:23:34 2010 -0700 [IA64] Cannot use register_percpu_irq() from ia64_mca_init() This is called before early_irq_init() which will clobber any registrations made too early. Move the calls to ia64_mca_late_init(). Signed-off-by: Tony Luck commit f14362d1fe81cece6f1d78483e5bbfcf8cc497bf Author: Ian Munsie Date: Fri Oct 1 17:06:07 2010 +1000 powerpc, of_serial: Endianness issues setting up the serial ports The speed and clock of the serial ports is retrieved from the device tree in both the PowerPC legacy serial code and the Open Firmware serial driver, therefore they need to handle the fact that the device tree is always big endian, while the CPU may not be. Also fix other device tree references in the legacy serial code. Signed-off-by: Ian Munsie Signed-off-by: Grant Likely commit bf53f939e02c0e818df93ab130fedc0e4ba95796 Author: Shanyu Zhao Date: Tue Sep 21 16:54:01 2010 -0700 iwlagn: add temperature offset calib for 6000g2 6000g2 devices need to have temperature offset calibration. The runtime uCode needs to receive the calibration results just like BB and LO calibration. To do this, driver reads the offset value from NVM and send it to uCode after runtime uCode is alive. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 642454cc0774e0774bc1ccb4292d6dc0abd06d20 Author: Shanyu Zhao Date: Tue Sep 21 12:06:18 2010 -0700 iwlagn: fix default calibration table size iwlagn driver uses the IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE as the chain noise reset calibration index and IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE+1 as the chain noise gain calibration index, if not specified by the TLV value in the new firmware format. However, this is broken if we need to add more calibrations like the temperature offset calibration because we increased IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE by 1. To fix this issue, define IWL_DEFAULT_STANDARD_PHY_CALIBRATE_TBL_SIZE and use it as the calibration index instead. We still keep the IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE as a sanity check for the TLV value given by ucode. Signed-off-by: Shanyu Zhao Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 65cccfb03d0dc99fd213d57be5f60f8ca6a60824 Author: Wey-Yi Guy Date: Tue Sep 21 16:15:58 2010 -0700 iwlagn: no version check for experimental uCode For experimental uCode, it should work with the driver if driver has experimental uCode support option enabled; remove the API version checking. Signed-off-by: Wey-Yi Guy commit 1cf263736092b3712103a5290a93dd0fff376f26 Author: Johannes Berg Date: Wed Sep 22 07:32:13 2010 -0700 iwlwifi: fix dual-mode scanning The recent scanning code shuffle accidentally moved the SCAN_HW bit setting _after_ the PAN parameters are modified, which means that they don't take the scan into account -- fix that. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a313f3839eeeebb3cbbcf1fbd2aee92bde389032 Author: Johannes Berg Date: Wed Sep 22 18:02:12 2010 +0200 iwlwifi: remove iwl_check_bits The function is used exactly once, and the caller doesn't even need the special check, it can be simplified to a simple bit check. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 0de76736552cff02cc6ee4bae41e5502d7673f8e Author: Johannes Berg Date: Wed Sep 22 18:02:11 2010 +0200 iwlwifi: clean up declarations A number of declarations in iwl-core.h should be in agn specific files, and also rename the iwl-calib.h file to iwl-agn-calib.h to better reflect that it belongs to agn. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 14e8e4afeb7e90f1f2d3f2d3b54da57c27f59f38 Author: Johannes Berg Date: Wed Sep 22 18:02:10 2010 +0200 iwlwifi: remove apm_ops.stop Since all devices share the same operation here, there's no need to call it indirectly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9597ebac91e5a88f558d236a51d776508d42a237 Author: Johannes Berg Date: Wed Sep 22 18:02:09 2010 +0200 iwlwifi: remove set_pwr_src operation The set_pwr_src operation is only ever used from within the same sub-driver that it is declared in, so it can just be called directly instead of being an operation. Also, it is never called to set the power source to V_aux, so change the two functions accordingly (but keep the V_aux code for documentation purposes in a comment). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 0453674c90be7b39c8925ba5e1d746447905f8ee Author: Johannes Berg Date: Wed Sep 22 18:02:08 2010 +0200 iwlwifi: remove set_ct_kill operation This operation is only ever called from set_hw_params, which is also already based on the config/ops, so that there's no need to have a separate set_ct_kill op and we can just call the right ct_threshold function. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 84fac3d9604147db37bd8c68897f79442d7ed714 Author: Johannes Berg Date: Wed Sep 22 18:02:07 2010 +0200 iwlwifi: move iwl_dump_fh to agn The iwl_dump_fh function is only used by the agn module, so it can be there instead of being exported by the core. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit fed732920bf9d96a95804a499ca586ff745540cd Author: Johannes Berg Date: Wed Sep 22 18:02:06 2010 +0200 iwlwifi: move iwl_dump_csr to agn The iwl_dump_csr function is only used within the agn module, so it can be moved there instead of being exported by the core. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit facd982e8246ed25a049d270a71513fb11b901ec Author: Johannes Berg Date: Wed Sep 22 18:02:05 2010 +0200 iwlwifi: move iwl_toggle_rx_ant to agn The iwl_toggle_tx_ant function is only used by agn code, so it can be moved into the agn module instead of being exported from the core. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 635b85b42796a6ab4e6a31cde78f1d9660c9c4a0 Author: Johannes Berg Date: Wed Sep 22 18:02:04 2010 +0200 iwlwifi: remove agn rates info there Code and data related to agn bitrates can be part of the agn module rather than being in the core module. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 57934dc1fb7ef65a8a0f5d7a1578536b36043c0a Author: Johannes Berg Date: Wed Sep 22 18:02:03 2010 +0200 iwlwifi: remove spurious exports A number of exports, especially related to thermal throttling, are unnecessary because the code lives in the same module that it is used in, so remove them. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 69fdb710b29d096bc50123f7c97891e31ffe45f9 Author: Johannes Berg Date: Wed Sep 22 18:02:02 2010 +0200 iwlwifi: move tx fail code to agn The code to print out TX failure reasons is AGN specific, so it can be in the AGN module. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a30e3112a8bcb5bc1caa48547e597de3992e1b21 Author: Johannes Berg Date: Wed Sep 22 18:02:01 2010 +0200 iwlwifi: move agn specific station code there By duplicating a little bit of code between 3945 and agn, we can move a lot of code into an agn specific station management file and thus reduce the amount of code in core that is dead to 3945. before: text data bss dec hex filename 212886 3872 96 216854 34f16 iwlcore.ko 620542 10448 304 631294 9a1fe iwlagn.ko 314013 3264 196 317473 4d821 iwl3945.ko after: text data bss dec hex filename 202857 3872 92 206821 327e5 iwlcore.ko 629102 10448 308 639858 9c372 iwlagn.ko 314240 3264 196 317700 4d904 iwl3945.ko delta: -10029 iwlcore.ko 8560 iwlagn.ko 227 iwl3945.ko so it's a net win even if you have both loaded, likely because a lot of EXPORT_SYMBOLs go away. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit d3f5ba958d6c425a87535c6fa2a69ca90eb6e930 Author: Johannes Berg Date: Wed Sep 22 18:02:00 2010 +0200 iwlwifi: remove verify_signature eeprom operation All drivers share the same implementation, so there's no need to call this via a function pointer nor to export it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 575ccfd0f47e5d791246cb03c07d636190322fa1 Author: Johannes Berg Date: Wed Sep 22 18:01:59 2010 +0200 iwlwifi: rename iwl_mac_beacon_update Rename iwl_mac_beacon_update to iwlcore_beacon_update and make the calling convention a bit different. The old name with _mac_ indicated that it was a mac80211 callback, but that's no longer true. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 5de33068a2f841536ca8632534e3e193d5b2607f Author: Johannes Berg Date: Wed Sep 22 18:01:58 2010 +0200 iwlwifi: move chain settings to agn The core module doesn't need to carry around the code for chain settings that is used for HT drivers (agn) only. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 8289e07b8a4b588e167bc84f93419458fd6efa3e Author: Johannes Berg Date: Wed Sep 22 18:01:57 2010 +0200 iwl3945: use iwl3945_commit_rxon There's no need to go via the indirect function call from within the 3945 subdriver. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a77029ee3fc03a37238b73892e55b789273991aa Author: Johannes Berg Date: Wed Sep 22 18:01:56 2010 +0200 iwlwifi: introduce post_scan hook The different drivers need to do different things after a scan, so create a post_scan hook to allow them to do this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7314c2b377afaf367f2966bd9ea67bf83350e29b Author: Johannes Berg Date: Wed Sep 22 18:01:55 2010 +0200 iwlagn: rename iwl_commit_rxon iwl_commit_rxon really should be named iwlagn_commit_rxon, so rename it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 955a857e062642cd3ebe1dc7bb38c0f85d8f8f17 Author: Bryan Schumaker Date: Wed Sep 29 15:41:49 2010 -0400 NFS: new idmapper This patch creates a new idmapper system that uses the request-key function to place a call into userspace to map user and group ids to names. The old idmapper was single threaded, which prevented more than one request from running at a single time. This means that a user would have to wait for an upcall to finish before accessing a cached result. The upcall result is stored on a keyring of type id_resolver. See the file Documentation/filesystems/nfs/idmapper.txt for instructions. Signed-off-by: Bryan Schumaker [Trond: fix up the return value of nfs_idmap_lookup_name and clean up code] Signed-off-by: Trond Myklebust commit 39a985547cbfcbb0b23667b69b8ae82a6cf312ac Author: bo yang Date: Wed Sep 22 22:36:29 2010 -0400 [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive To add the Online controller reset support, driver need to do: a). reset the controller chips -- Xscale and Gen2 which will change the function calls and add the reset function related to this two chips. b). during the reset, driver will store the pending cmds which not returned by FW to driver's pending queue. Driver will re-issue those pending cmds again to FW after the OCR finished. c). In driver's timeout routine, driver will report to OS as reset. Also driver's queue routine will block the cmds until the OCR finished. d). in Driver's ISR routine, if driver get the FW state as state change, FW in Failure status and FW support online controller reset (OCR), driver will start to do the controller reset. e). In driver's IOCTL routine, the application cmds will wait for the OCR to finish, then issue the cmds to FW. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 969c9165581fbb55cab0f500f555a69279cecb57 Author: James Smart Date: Wed Sep 29 11:19:22 2010 -0400 [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17 Update lpfc driver version to 8.3.17 Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3677a3a76e190f801af0778df3b8efa1fe161a6e Author: James Smart Date: Wed Sep 29 11:19:14 2010 -0400 [SCSI] lpfc 8.3.17: Replace function reset methodology Replace graceful teardown steps with the singular function reset command. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit eee8877ee5e8a879f78034001b5e7c04db005ab2 Author: James Smart Date: Wed Sep 29 11:19:08 2010 -0400 [SCSI] lpfc 8.3.17: SCSI fixes - Fail I/Os with incomplete data that complete with SCSI Check condition. - Complete aborted I/Os with host_scribble equal to NULL with success. - Initialize context1 field of iocbq in the new_scsi_buf routines. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit 515e0aa21ec399ddcf783140a596312e83d20a80 Author: James Smart Date: Wed Sep 29 11:19:00 2010 -0400 [SCSI] lpfc 8.3.17: BSG fixes - Add support for bsg MBX_SLI4_CONFIG. - Multiply linkup timeout in loopback test code by 100. - Set iocb_stat to 0 in the lpfcdiag_loop_get_xri function. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit dcf2a4e0792e837d6133506444a033a95cbc9616 Author: James Smart Date: Wed Sep 29 11:18:53 2010 -0400 [SCSI] lpfc 8.3.17: SLI Additions and Fixes - Added driver support for management application to pass down two security specific mailbox commands (MBX_SECURITY_MGMT and MBX_AUTH_PORT) - Added driver support for handling FIPS zeroization trap of host ERATT ER8, performing selective reset and bringing the device up. - Added code to detect INIT_LINK mailbox command completion returning status MBXERR_SEC_NO_PERMISSION. - Increased the wait timeout on host status register HS_FFRDY and HS_MBRDY being set. - Remove the port offline code from the Heartbeat TMO handler. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit d439d286f573afab8c164dbc953ce1d214585a40 Author: James Smart Date: Wed Sep 29 11:18:45 2010 -0400 [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes - Move Unload flag earlier in vport deletei to stop ELS traffic - Replaced some unnecessary spin_lock_irqsave with spin_lock_irq - Fixed circular spinlock dependency between low-level driver and SCSI midlayer - Remove duplicate code from lpfc_els_retry routine - Make all error values negative Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit bf5eefb007e7c5498a41af2dd65d957ae9793a63 Author: Christof Schmitt Date: Tue Sep 28 10:11:06 2010 +0200 [SCSI] zfcp: Remove scsi_cmnd->serial_number from debug traces With the change that drivers have to explicitly request the serial number for SCSI commands, this field should not be part of the zfcp traces. It is not worth the effort to request the serial number only for tracing purposes, so simply remove this field from the debug traces. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7262026f0eded76b935a12b9b15af05516a8610a Author: Wayne Boyer Date: Mon Sep 27 10:45:28 2010 -0700 [SCSI] ipr: fix array error logging The structure definitions for reporting array errors did not have the correct size for the Array WWID field. This patch fixes those definitions. It also fixes part of the output formatting that did not have newlines and fixes size calculations. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 4ebcfb929b6be63bacdba34f6aae0f5b51432d2c Author: Jiri Slaby Date: Fri Sep 24 22:07:51 2010 +0200 [SCSI] aha152x: enable PCMCIA on 64bit It was disabled when x86_64 was introduced, but it is reported to be working on 64bit by two different people, so let's enable it back again. Signed-off-by: Jiri Slaby Cc: "Juergen E. Fischer" Signed-off-by: James Bottomley commit 69723d178da97b09ae8996f60fbf2f0cf68d6d61 Author: Hannes Reinecke Date: Fri Sep 24 15:57:04 2010 +0200 [SCSI] scsi_dh_alua: Handle all states correctly For ALUA we should be handling all states, independent of whether the mode is explicit or implicit. For 'Transitioning' we should retry for a certain amount of time; after that we're setting the port to 'Standby' and return SCSI_DH_RETRY to signal upper layers a retry is in order here. Signed-off-by: Hannes Reinecke Acked-by: Mike Snitzer Signed-off-by: James Bottomley commit e27d6169c79e3c75edc74a14424a7856e7ff487c Author: kxie@chelsio.com Date: Thu Sep 23 16:43:23 2010 -0700 [SCSI] cxgb4i: connection and ddp setting update Update cxgb4i connection setting and pagepod programming. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 0b3d8947972bfd2dd6d55c8009427ad2941ef038 Author: kxie@chelsio.com Date: Thu Sep 23 16:43:23 2010 -0700 [SCSI] cxgb3i: fixed connection over vlan Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit e3d2ad8cb2775e4201446489efd1cf26c5bbce5c Author: kxie@chelsio.com Date: Thu Sep 23 16:43:23 2010 -0700 [SCSI] libcxgbi: pdu read fixes Fixed the locking and releasing skb in the case of error in the pdu read path, and added define iscsi_task_cxgbi_data to access the private data inside the iscsi_task. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 24d3f95a5b6082ca4aba89071ca6259e15d3e564 Author: kxie@chelsio.com Date: Thu Sep 23 16:43:23 2010 -0700 [SCSI] cxgbi: rename alloc_cpl to alloc_wr Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit d24099df9e379b150c164da354b8c6fdafc73257 Author: Brian King Date: Tue Sep 21 10:17:11 2010 -0500 [SCSI] ibmvfc: Handle Virtual I/O Server reboot If a Virtual I/O server is rebooted, the client fibre channel sees a transport event on its CRQ, which causes it to attempt to reconnect to the CRQ. For a period of time during the VIOS reboot, the client's attempts to register the CRQ will return H_CLOSED, indicating the server side is not currently registered. The ibmvfc driver was not handling this well and was taking the virtual adapter offline. Fix this by re-enabling our interrupt and waiting for the event on our CRQ indicating the server is back, at which point we can reconnect. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 1a03ae0f556a931aa3747b70e44b78308f5b0590 Author: Michael Reed Date: Mon Sep 20 11:20:22 2010 -0500 [SCSI] sd name space exhaustion causes system hang Following a site power outage which re-enabled all the ports on my FC switches, my system subsequently booted with far too many luns! I had let it run hoping it would make multi-user. It didn't. :( It hung solid after exhausting the last sd device, sdzzz, and attempting to create sdaaaa and beyond. I was unable to get a dump. Discovered using a 2.6.32.13 based system. correct this by detecting when the last index is utilized and failing the sd probe of the device. Patch applies to scsi-misc-2.6. Signed-off-by: Michael Reed Cc: Stable Tree Signed-off-by: James Bottomley commit 43ca910a9c90566308f39f51ac03a55f94a5f83c Author: Mike Christie Date: Wed Sep 15 16:52:32 2010 -0500 [SCSI] fc class: add fc host dev loss sysfs file This adds a fc host dev loss sysfs file. Instead of calling into the driver using the get_host_def_dev_loss_tmo callback, we allow drivers to init the dev loss like is done for other fc host params, and then the fc class will handle updating the value if the user writes to the new sysfs file. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0af5d708aae3aef1f98a1c689007b92db2c10277 Author: Mike Christie Date: Wed Sep 15 16:52:31 2010 -0500 [SCSI] lpfc: prep for fc host dev loss tmo support This removes the driver's get_host_def_dev_loss_tmo callback and just has the driver set the dev loss using the fc class fc_host_dev_loss_tmo macro like is done for other fc params. It also adds compat support for the driver's existing dev loss and nodev sysfs and modparams. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d2b5f10e5b93633a40d9263383b914f06019f00b Author: Mike Christie Date: Wed Sep 15 16:52:30 2010 -0500 [SCSI] qla2xxx: prep for fc host dev loss tmo support This removes the driver's get_host_def_dev_loss_tmo callback and just has the driver set the dev loss using the fc class fc_host_dev_loss_tmo macro like is done for other fc params. Signed-off-by: Mike Christie Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit a5110f2983bdf931d9819f88505775b16de8b99e Author: Mike Christie Date: Wed Sep 15 16:52:29 2010 -0500 [SCSI] ibmvfc: prep for fc host dev loss tmo support This removes the driver's get_host_def_dev_loss_tmo callback and just has the driver set the dev loss using the fc class fc_host_dev_loss_tmo macro like is done for other fc params. This patch also removes the module dev loss param. To override the value the fc host sysfs value being added in the fc class patch can be used instead of the driver module param. Signed-off-by: Mike Christie Acked-by: Brian King Signed-off-by: James Bottomley commit 485868208ee833628d49f81b4609001749d92d56 Author: Mike Christie Date: Wed Sep 15 16:52:28 2010 -0500 [SCSI] fnic: prep for fc host dev loss tmo support This removes the driver's get_host_def_dev_loss_tmo callback and just has the driver set the dev loss using the fc class fc_host_dev_loss_tmo macro like is done for other fc params. This also adds a set rport dev loss function so the fc class host dev loss tmp sysfs support being added in the fc class patch can update rports. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a6751ccb9ba85180c84135cc921eea11d83d5689 Author: Jiri Slaby Date: Tue Sep 14 14:12:54 2010 +0200 [SCSI] qla4xxx: fix build on PPC We use read/write[bslq] but do not include linux/io.h. This causes build failures on PPC. Include that file. Signed-off-by: Jiri Slaby Cc: Stable Tree Acked-by: Vikas Chaudhary Signed-off-by: James Bottomley commit f0ad30d3d2dc924decc0e10b1ff6dc32525a5d99 Author: David Milburn Date: Fri Sep 3 17:13:03 2010 -0500 [SCSI] libsas: fix NCQ mixing with non-NCQ Some cards (like mvsas) have issue troubles if non-NCQ commands are mixed with NCQ ones. Fix this by using the libata default NCQ check routine which waits until all NCQ commands are complete before issuing a non-NCQ one. The impact to cards (like aic94xx) which don't need this logic should be minimal Cc: Stable Tree Signed-off-by: James Bottomley commit 9d9641ec891a53ef93a8972c7913605aeb8127c7 Merge: 5c75848 cf8eda3 Author: Mark Brown Date: Thu Oct 7 13:44:20 2010 -0700 Merge branch 'for-2.6.36' into for-2.6.37 commit 5c75848a7ca19c83c7b8afd0822bdcb716992c0c Author: Mark Brown Date: Wed Oct 6 16:18:17 2010 -0700 ASoC: Staticise CS4270 DAI It's not needed with multi-component. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Acked-by: Timur Tabi commit 4c14d78e8ad3bacfe1f70cb49ae17afcd658e368 Author: Mark Brown Date: Wed Oct 6 15:54:28 2010 -0700 ASoC: Use delayed work for debounce of GPIO based jacks Rather than block the workqueue by sleeping to do the debounce use delayed work to implement the debounce time. This should also means that we extend the debounce time on each new bounce, potentially allowing shorter debounce times for clean insertions. Signed-off-by: Mark Brown Acked-by: Jarkko Nikula Acked-by: Liam Girdwood commit de535a5be53a06738409538c471a10a9de357bdd Author: Mark Brown Date: Wed Oct 6 16:20:07 2010 -0700 ASoC: Staticise AD1980 DAI It doesn't need to be exported with multi-component. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 13cd4b7f7472eea7cbc1ab34e042842fbb902160 Author: Steve French Date: Thu Oct 7 18:46:32 2010 +0000 [CIFS] Various small checkpatch cleanups Signed-off-by: Steve French commit 15a6321d1c0f8db561932cd99e1b9897981da71f Author: Rajkumar Manoharan Date: Thu Oct 7 20:58:39 2010 +0530 ath9k_hw: Fix hw reset failure with HTC driver The following commit removed DISABLE_REGWRITE_BUFFER ops. The unnecessary REGWRITE_BUFFER_FLUSH was not removed properly which is causing failure on hw reset. Author: Felix Fietkau Date: Tue Oct 5 12:03:42 2010 +0200 ath9k_hw: clean up register write buffering Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 388ac775be95e510c2095ed6cd59422a5183a9fb Author: Johannes Berg Date: Thu Oct 7 13:11:09 2010 +0200 cfg80211: constify WDS address There's no need for the WDS peer address to not be const, so make it const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43b19952de54b0fccfcdc5968891ebe550367fe8 Author: Johannes Berg Date: Thu Oct 7 13:10:30 2010 +0200 nl80211: use new genl helpers for WDS Bill Jordan's patch to allow setting the WDS peer crossed with my patch removing all the boilerplate code in nl80211, and consequently he didn't make use of it yet. Fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7b99a7c2dab7efe7c265b66fedbf3444958ebfe3 Author: Johannes Berg Date: Thu Oct 7 12:55:24 2010 +0200 mac80211: fix sw scan locking The recent scan overhaul broke locking because now we can jump to code that attempts to unlock, while we don't have the mutex held. Fix this by holding the mutex around all the relevant code. Reported-by: Ben Greear Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b34d432b0fcff422304de4eb49d6da861fe335c Author: Juuso Oikarinen Date: Thu Oct 7 10:16:42 2010 +0300 wl1271: Support FEM autodetection In the NVS/INI-parameters for the driver/firmware there is the FEM (front end module) selection option, which may configure the hardware FEM via autodetection or manual selection. So far, there has been support for manual selection only. Add support for FEM autodetection. Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville commit edbe4073a84713c1c01a3f37fb880f151d0a5b68 Merge: 7573eac cf9768d6 Author: John W. Linville Date: Thu Oct 7 14:40:26 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 7573eac762af253e0b61b60cce34ab80f2dd45c7 Merge: a6d27d2 4efe7f5 Author: John W. Linville Date: Thu Oct 7 14:39:03 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0eb8a132c449c755b7a3f18f33365b2040c47347 Author: Jeff Layton Date: Wed Oct 6 19:51:12 2010 -0400 cifs: add "multiuser" mount option This allows someone to declare a mount as a multiuser mount. Multiuser mounts also imply "noperm" since we want to allow the server to handle permission checking. It also (for now) requires Kerberos authentication. Eventually, we could expand this to other authtypes, but that requires a scheme to allow per-user credential stashing in some form. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 9d002df492b14c690425d9785530371b6c1ccbca Author: Jeff Layton Date: Wed Oct 6 19:51:11 2010 -0400 cifs: add routines to build sessions and tcons on the fly This patch is rather large, but it's a bit difficult to do piecemeal... For non-multiuser mounts, everything will basically work as it does today. A call to cifs_sb_tlink will return the "master" tcon link. Turn the tcon pointer in the cifs_sb into a radix tree that uses the fsuid of the process as a key. The value is a new "tcon_link" struct that contains info about a tcon that's under construction. When a new process needs a tcon, it'll call cifs_sb_tcon. That will then look up the tcon_link in the radix tree. If it exists and is valid, it's returned. If it doesn't exist, then we stuff a new tcon_link into the tree and mark it as pending and then go and try to build the session/tcon. If that works, the tcon pointer in the tcon_link is updated and the pending flag is cleared. If the construction fails, then we set the tcon pointer to an ERR_PTR and clear the pending flag. If the radix tree is searched and the tcon_link is marked pending then we go to sleep and wait for the pending flag to be cleared. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit af9a2d006611124eb1de9d7fee160b25b252ad98 Author: Simon Guinot Date: Thu Oct 7 16:38:50 2010 +0200 [ARM] Kirkwood: add LED support for netxbig_v2 boards Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 2446783250fc12ba9bc39771e04988692742ed90 Author: Simon Guinot Date: Thu Oct 7 16:38:49 2010 +0200 leds: add LED driver for Big Network series LEDs This patch add a LED class driver for LEDs found on the LaCie 2Big and 5Big Network v2 boards. The LEDs are wired to a CPLD and are controlled through a GPIO extension bus. Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit e5971bbc1caf0ccbab3fea74fe37abb649d1c7cf Author: Simon Guinot Date: Thu Oct 7 16:35:40 2010 +0200 leds: leds-ns2: fix private driver data storage dev_set_drvdata() can't be used to set the driver private data pointer. This would overwrite the led classdev object previously registered by led_classdev_register(). Note that despite this mistake, the driver work fine because led_dat and led_dat->cdev are at the same memory address. Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit ee621dd619b9a85eced150fc06e352fef54cfda0 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Sun Aug 8 06:21:33 2010 +0200 net: atmel_macb Kconfig: remove long dependency line Many Atmel SOC are embedding a MACB controller. This patch removes the long dependency line for this Atmel MACB ethernet driver configuration entry. The HAVE_NET_MACB configuration option is located in the net Kconfig file as it may be setup by ARM/AT91 and AVR32 chips. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Cc: David Miller Cc: Haavard Skinnemoen Acked-by: Nicolas Ferre Acked-by: Andrew Victor commit cb809b1a5ebffca8cf0314b788919989e8e4ab5f Author: Greg Ungerer Date: Tue Sep 21 20:39:40 2010 +1000 AT91: fix use of clock disable on idle for AT91x40 devices The simpler AT91x40 processors do not have the same power management controller as the new AT91 devices. They do have a simpler power controller module that we can use to disable the CPU clock at idle time. Add code to support that. Signed-off-by: Greg Ungerer Acked-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: Nicolas Ferre commit a6e016f19d393fbe4e040bee8155b03b840fa689 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Tue Sep 21 18:01:37 2010 +0200 AT91: at91sam9g20ek: merge 2mmc version in one board The board-sam9g20ek-2slot-mmc.c was a revision of the at91sam9g20ek since board revision C. It contains 2 sd/mmc slots. This merge keep the support of the old machine ID MACH_AT91SAM9G20EK_2MMC for backward compatibility. Now we use the ATAG to pass the hardware functionality to kernel with this board revision encoding bit 0: 0 => 1 sd/mmc slot 1 => 2 sd/mmc slots connectors (board from revision C) system_rev tested on Barebox commit d8f3ee103a9f4bd Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Nicolas Ferre commit 9a400da84ffe7205b9921c87ac24069217442c84 Author: Nicolas Ferre Date: Thu Jul 1 10:55:45 2010 +0200 AT91: Correct configuration define value The MTD nand driver for Atmel chips is atmel_nand and not at91_nand anymore. Change wrong configuration variables that were remaining. Reported-by: Christoph Egger Signed-off-by: Nicolas Ferre commit 67dd8995fd60bab890b9c3c4cd3e9f00d5811c25 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Wed Sep 22 07:55:59 2010 +0200 AT91: at91sam9m10g45ek: use the right machine id Today the board use 2 machines id AT91SAM9G45EKES and AT91SAM9M10G45EK now will use only AT91SAM9M10G45EK. The other boards revision will be specified via system_rev. for 9g45ekes, m10g45ekes and m10g45ek boards and revisions Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Cc: Patrice Vilchez Acked-by: Nicolas Ferre commit 6506cf6ce68d78a5470a8360c965dafe8e4b78e3 Author: Peter Zijlstra Date: Thu Sep 16 17:50:31 2010 +0200 sched: fix RCU lockdep splat from task_group() This addresses the following RCU lockdep splat: [0.051203] CPU0: AMD QEMU Virtual CPU version 0.12.4 stepping 03 [0.052999] lockdep: fixing up alternatives. [0.054105] [0.054106] =================================================== [0.054999] [ INFO: suspicious rcu_dereference_check() usage. ] [0.054999] --------------------------------------------------- [0.054999] kernel/sched.c:616 invoked rcu_dereference_check() without protection! [0.054999] [0.054999] other info that might help us debug this: [0.054999] [0.054999] [0.054999] rcu_scheduler_active = 1, debug_locks = 1 [0.054999] 3 locks held by swapper/1: [0.054999] #0: (cpu_add_remove_lock){+.+.+.}, at: [] cpu_up+0x42/0x6a [0.054999] #1: (cpu_hotplug.lock){+.+.+.}, at: [] cpu_hotplug_begin+0x2a/0x51 [0.054999] #2: (&rq->lock){-.-...}, at: [] init_idle+0x2f/0x113 [0.054999] [0.054999] stack backtrace: [0.054999] Pid: 1, comm: swapper Not tainted 2.6.35 #1 [0.054999] Call Trace: [0.054999] [] lockdep_rcu_dereference+0x9b/0xa3 [0.054999] [] task_group+0x7b/0x8a [0.054999] [] set_task_rq+0x13/0x40 [0.054999] [] init_idle+0xd2/0x113 [0.054999] [] fork_idle+0xb8/0xc7 [0.054999] [] ? mark_held_locks+0x4d/0x6b [0.054999] [] do_fork_idle+0x17/0x2b [0.054999] [] native_cpu_up+0x1c1/0x724 [0.054999] [] ? do_fork_idle+0x0/0x2b [0.054999] [] _cpu_up+0xac/0x127 [0.054999] [] cpu_up+0x55/0x6a [0.054999] [] kernel_init+0xe1/0x1ff [0.054999] [] kernel_thread_helper+0x4/0x10 [0.054999] [] ? restore_args+0x0/0x30 [0.054999] [] ? kernel_init+0x0/0x1ff [0.054999] [] ? kernel_thread_helper+0x0/0x10 [0.056074] Booting Node 0, Processors #1lockdep: fixing up alternatives. [0.130045] #2lockdep: fixing up alternatives. [0.203089] #3 Ok. [0.275286] Brought up 4 CPUs [0.276005] Total of 4 processors activated (16017.17 BogoMIPS). The cgroup_subsys_state structures referenced by idle tasks are never freed, because the idle tasks should be part of the root cgroup, which is not removable. The problem is that while we do in-fact hold rq->lock, the newly spawned idle thread's cpu is not yet set to the correct cpu so the lockdep check in task_group(): lockdep_is_held(&task_rq(p)->lock) will fail. But this is a chicken and egg problem. Setting the CPU's runqueue requires that the CPU's runqueue already be set. ;-) So insert an RCU read-side critical section to avoid the complaint. Signed-off-by: Peter Zijlstra Signed-off-by: Paul E. McKenney commit 4ee0a603926cad973e4d384f48c5e279a0fd4118 Author: Dongdong Deng Date: Tue Sep 28 16:32:43 2010 +0800 rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp->qsmask value Using ACCESS_ONCE() to observe the jiffies_stall/rnp->qsmask value due to the caller didn't hold the root_rcu/rnp node's lock. Although use without ACCESS_ONCE() is safe due to the value loaded being used but once, the ACCESS_ONCE() is a good documentation aid -- the variables are being loaded without the services of a lock. Signed-off-by: Dongdong Deng CC: Dipankar Sarma CC: Paul E. McKenney Signed-off-by: Paul E. McKenney commit b0a0f667a349247bd7f05f806b662a25653822bc Author: Paul E. McKenney Date: Wed Oct 6 17:32:51 2010 -0700 sched: suppress RCU lockdep splat in task_fork_fair > =================================================== > [ INFO: suspicious rcu_dereference_check() usage. ] > --------------------------------------------------- > /home/greearb/git/linux.wireless-testing/kernel/sched.c:618 invoked rcu_dereference_check() without protection! > > other info that might help us debug this: > > rcu_scheduler_active = 1, debug_locks = 1 > 1 lock held by ifup/23517: > #0: (&rq->lock){-.-.-.}, at: [] task_fork_fair+0x3b/0x108 > > stack backtrace: > Pid: 23517, comm: ifup Not tainted 2.6.36-rc6-wl+ #5 > Call Trace: > [] ? printk+0xf/0x16 > [] lockdep_rcu_dereference+0x74/0x7d > [] task_group+0x6d/0x79 > [] set_task_rq+0xe/0x57 > [] task_fork_fair+0x57/0x108 > [] sched_fork+0x82/0xf9 > [] copy_process+0x569/0xe8e > [] do_fork+0x118/0x262 > [] ? do_page_fault+0x16a/0x2cf > [] ? up_read+0x16/0x2a > [] sys_clone+0x1b/0x20 > [] ptregs_clone+0x15/0x30 > [] ? sysenter_do_call+0x12/0x38 Here a newly created task is having its runqueue assigned. The new task is not yet on the tasklist, so cannot go away. This is therefore a false positive, suppress with an RCU read-side critical section. Reported-by: Ben Greear Tested-by: Ben Greear Date: Wed Oct 6 17:15:35 2010 -0700 net: suppress RCU lockdep false positive in sock_update_classid > =================================================== > [ INFO: suspicious rcu_dereference_check() usage. ] > --------------------------------------------------- > include/linux/cgroup.h:542 invoked rcu_dereference_check() without protection! > > other info that might help us debug this: > > > rcu_scheduler_active = 1, debug_locks = 0 > 1 lock held by swapper/1: > #0: (net_mutex){+.+.+.}, at: [] > register_pernet_subsys+0x1f/0x47 > > stack backtrace: > Pid: 1, comm: swapper Not tainted 2.6.35.4-28.fc14.x86_64 #1 > Call Trace: > [] lockdep_rcu_dereference+0xaa/0xb3 > [] sock_update_classid+0x7c/0xa2 > [] sk_alloc+0x6b/0x77 > [] __netlink_create+0x37/0xab > [] ? rtnetlink_rcv+0x0/0x2d > [] netlink_kernel_create+0x74/0x19d > [] ? __mutex_lock_common+0x339/0x35b > [] rtnetlink_net_init+0x2e/0x48 > [] ops_init+0xe9/0xff > [] register_pernet_operations+0xab/0x130 > [] register_pernet_subsys+0x2e/0x47 > [] rtnetlink_init+0x53/0x102 > [] netlink_proto_init+0x126/0x143 > [] ? netlink_proto_init+0x0/0x143 > [] do_one_initcall+0x72/0x186 > [] kernel_init+0x23b/0x2c9 > [] kernel_thread_helper+0x4/0x10 > [] ? restore_args+0x0/0x30 > [] ? kernel_init+0x0/0x2c9 > [] ? kernel_thread_helper+0x0/0x10 The sock_update_classid() function calls task_cls_classid(current), but the calling task cannot go away, so there is no danger of the associated structures disappearing. Insert an RCU read-side critical section to suppress the false positive. Reported-by: Subrata Modak Signed-off-by: Paul E. McKenney commit a6d27d2ac89359f84c1a559b5530967ff671d269 Author: John W. Linville Date: Thu Oct 7 11:31:56 2010 -0400 Revert "rtl8180: use NAPI for bottom-half processing" This reverts commit 030725d2c7c1fafec7ede618647bf30ed79601f0. This commit relies on commit 5ed3bc7288487bd4f891f420a07319e0b538b4fe ("mac80211: use netif_receive_skb in ieee80211_tx_status callpath") Unfortunately not all drivers are calling ieee80211_tx_status from a compatible context, so that commit needs to be reverted in 2.6.36. Signed-off-by: John W. Linville commit df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101 Author: David Howells Date: Thu Oct 7 14:08:55 2010 +0100 Fix IRQ flag handling naming Fix the IRQ flag handling naming. In linux/irqflags.h under one configuration, it maps: local_irq_enable() -> raw_local_irq_enable() local_irq_disable() -> raw_local_irq_disable() local_irq_save() -> raw_local_irq_save() ... and under the other configuration, it maps: raw_local_irq_enable() -> local_irq_enable() raw_local_irq_disable() -> local_irq_disable() raw_local_irq_save() -> local_irq_save() ... This is quite confusing. There should be one set of names expected of the arch, and this should be wrapped to give another set of names that are expected by users of this facility. Change this to have the arch provide: flags = arch_local_save_flags() flags = arch_local_irq_save() arch_local_irq_restore(flags) arch_local_irq_disable() arch_local_irq_enable() arch_irqs_disabled_flags(flags) arch_irqs_disabled() arch_safe_halt() Then linux/irqflags.h wraps these to provide: raw_local_save_flags(flags) raw_local_irq_save(flags) raw_local_irq_restore(flags) raw_local_irq_disable() raw_local_irq_enable() raw_irqs_disabled_flags(flags) raw_irqs_disabled() raw_safe_halt() with type checking on the flags 'arguments', and then wraps those to provide: local_save_flags(flags) local_irq_save(flags) local_irq_restore(flags) local_irq_disable() local_irq_enable() irqs_disabled_flags(flags) irqs_disabled() safe_halt() with tracing included if enabled. The arch functions can now all be inline functions rather than some of them having to be macros. Signed-off-by: David Howells [X86, FRV, MN10300] Signed-off-by: Chris Metcalf [Tile] Signed-off-by: Michal Simek [Microblaze] Tested-by: Catalin Marinas [ARM] Acked-by: Thomas Gleixner Acked-by: Haavard Skinnemoen [AVR] Acked-by: Tony Luck [IA-64] Acked-by: Hirokazu Takata [M32R] Acked-by: Greg Ungerer [M68K/M68KNOMMU] Acked-by: Ralf Baechle [MIPS] Acked-by: Kyle McMartin [PA-RISC] Acked-by: Paul Mackerras [PowerPC] Acked-by: Martin Schwidefsky [S390] Acked-by: Chen Liqin [Score] Acked-by: Matt Fleming [SH] Acked-by: David S. Miller [Sparc] Acked-by: Chris Zankel [Xtensa] Reviewed-by: Richard Henderson [Alpha] Reviewed-by: Yoshinori Sato [H8300] Cc: starvik@axis.com [CRIS] Cc: jesper.nilsson@axis.com [CRIS] Cc: linux-cris-kernel@axis.com commit ca4d3e6746bdcfccb517349bce2d2c5b5614fb6f Author: David Howells Date: Thu Oct 7 14:08:54 2010 +0100 MIPS: Add missing #inclusions of Add missing #inclusions of to a whole bunch of files that should really include it. Note that this can replace #inclusions of . This is required for the patch to sort out irqflags handling function naming to compile on MIPS. The problem is that these files require access to things like setup_irq() - which isn't available by #including Signed-off-by: David Howells Acked-by: Ralf Baechle commit 476c32c47a84fcf8033b93c588761405fefb3980 Author: David Howells Date: Thu Oct 7 14:08:54 2010 +0100 smc91x: Add missing #inclusion of Add missing #inclusion of . Without it, the following error can occur with the irqflags fixup patches applied: drivers/net/smc91x.c: In function 'smc_probe': drivers/net/smc91x.c:1987:2: error: implicit declaration of function 'irq_canonicalize' Signed-off-by: David Howells Acked-by: Nicolas Pitre commit bcdb714c8856c76383ca455294f0074168705eab Author: David Howells Date: Thu Oct 7 14:08:53 2010 +0100 Drop a couple of unnecessary asm/system.h inclusions Drop inclusions of asm/system.h from linux/hardirq.h and linux/list.h as they're no longer required and prevent the M68K arch's IRQ flag handling macros from being made into inlined functions due to circular dependencies. Signed-off-by: David Howells Acked-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit d8b5fc01683c66060edc202d6bb5635365822181 Author: David Howells Date: Thu Oct 7 14:08:52 2010 +0100 SH: Add missing consts to sys_execve() declaration Add missing consts to the sys_execve() declaration which result in the following error: arch/sh/kernel/process_32.c:303: error: conflicting types for 'sys_execve' /warthog/nfs/linux-2.6-fscache/arch/sh/include/asm/syscalls_32.h:24: error: previous declaration of 'sys_execve' was here Signed-off-by: David Howells commit 3b139cdb373282dfa72316aa56887371e97cafe8 Author: David Howells Date: Thu Oct 7 14:08:52 2010 +0100 Blackfin: Rename IRQ flags handling functions Rename h/w IRQ flags handling functions to be in line with what is expected for the irq renaming patch. This renames local_*_hw() to hard_local_*() using the following perl command: perl -pi -e 's/local_irq_(restore|enable|disable)_hw/hard_local_irq_\1/ or s/local_irq_save_hw([_a-z]*)[(]flags[)]/flags = hard_local_irq_save\1()/' `find arch/blackfin/ -name "*.[ch]"` and then fixing up asm/irqflags.h manually. Additionally, arch/hard_local_save_flags() and arch/hard_local_irq_save() both return the flags rather than passing it through the argument list. Signed-off-by: David Howells commit 5c74874bc9a838b185fe463153e63f7d895ebb77 Author: David Howells Date: Thu Oct 7 14:08:51 2010 +0100 Blackfin: Add missing dep to asm/irqflags.h Add a missing dependency (mach/blackfin.h) to asm/irqflags.h so that bfin_read_IMASK() can be used by inline functions. Signed-off-by: David Howells commit db36b906fefa5b95039bd418bc354ffc9b141020 Author: David Howells Date: Thu Oct 7 14:08:50 2010 +0100 Blackfin: Rename DES PC2() symbol to avoid collision Rename the PC2() symbol in the generic DES crypto module to be prefixed with DES_ to avoid collision with arch code (Blackfin in this case). Signed-off-by: David Howells Signed-off-by: Mike Frysinger commit f3441945da3a93ee4bef923628f280ad114cf49f Author: David Howells Date: Thu Oct 7 14:08:50 2010 +0100 Blackfin: Split the BF532 BFIN_*_FIO_FLAG() functions to their own header Split the BF532 machine type BFIN_*_FIO_FLAG() functions to their own header file to avoid circular #include problems as these functions require IRQ flag handling, which requires asm/blackfin.h, which otherwise requires the header file that defines these functions. For good measure, also get rid of the inclusion of asm/blackfin.h from mach/cdefBF532.h (which is circular) and defBF532.h (which is included by asm/blackfin.h before including this header). Signed-off-by: David Howells commit 3dcc1e7f9fd48f20beefd41a684cd471a96565c5 Author: David Howells Date: Thu Oct 7 14:08:49 2010 +0100 Blackfin: Split PLL code from mach-specific cdef headers Split the PLL control code from the Blackfin machine-specific cdef headers so that the irqflags functions can be renamed without incurring a header loop. Signed-off-by: David Howells commit 556ef63255f1a6f82910a637c4164dbf7d3d1af2 Merge: d4f8f21 cb655d0 Author: Ingo Molnar Date: Thu Oct 7 09:43:38 2010 +0200 Merge commit 'v2.6.36-rc7' into core/rcu Merge reason: Update from -rc3 to -rc7. Signed-off-by: Ingo Molnar commit d4f8f217b8a5d5bd02af979650418dca4caec472 Merge: 2dfbf4d 773e3f9 Author: Ingo Molnar Date: Thu Oct 7 09:43:11 2010 +0200 Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu commit b25ebfd21b03b3b59c1c7a7e0c597fd28286bb10 Author: Peter Waskiewicz Date: Tue Oct 5 01:27:49 2010 +0000 ixgbe: Use affinity_hint when Flow Director is enabled Use the new infrastructure to balance interrupts for flow alignment when ATR or Flow Director are enabled. Signed-off-by: Peter P Waskiewicz Jr Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9deec17f9fe260f1b6467748fe5e16feea8e98f0 Author: Martin Schwidefsky Date: Fri Oct 1 11:17:13 2010 +0000 drivers/net/stmmac/: add HAS_IOMEM dependency The stmmac driver does not compile on s390: drivers/net/stmmac/stmmac_main.c: In function 'stmmac_adjust_link': drivers/net/stmmac/stmmac_main.c:210: error: implicit declaration of function 'readl' drivers/net/stmmac/stmmac_main.c:263: error: implicit declaration of function 'writel' drivers/net/stmmac/stmmac_main.c: In function 'stmmac_dvr_probe': drivers/net/stmmac/stmmac_main.c:1674: error: implicit declaration of function 'ioremap' drivers/net/stmmac/stmmac_main.c:1674: warning: assignment makes pointer from integer without a cast drivers/net/stmmac/stmmac_main.c:1761: error: implicit declaration of function 'iounmap' make[3]: *** [drivers/net/stmmac/stmmac_main.o] Error 1 Signed-off-by: Martin Schwidefsky Cc: Giuseppe CAVALLARO Cc: David S. Miller Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3d3211ef5cf7558d289d1a1efbef8c45595639aa Author: John Fastabend Date: Wed Oct 6 23:35:15 2010 -0700 net: netif_set_real_num_rx_queues may cap num_rx_queues at init time Do not set num_rx_queues in netif_set_real_num_rx_queues() some drivers will increase the real_num_rx_queues later due to a feature changes or available interrupts increasing. By setting num_rx_queues here this ends up creating a cap on the number of rx queues available. For example the ixgbe driver sets the max number of queues it intends to use ever then sets the current number in use with the netif_set_num_{rx|tx}_queues calls. With the current implementation the number of rx queues gets limited so when a feature such as DCB or FCoE is enabled the queues are no longer available. kobjects will only be allocated for real_num_rx_queues so the waste in memory is minimal. Signed-off-by: John Fastabend Signed-off-by: Jeff Kirsher Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit c2dddf941409635601e56c1990c5ab0bd395742c Author: Dan Carpenter Date: Mon Oct 4 09:24:59 2010 +0000 eicon: make buffer larger In diva_mnt_add_xdi_adapter() we do this: strcpy (clients[id].drvName, tmp); strcpy (clients[id].Dbg.drvName, tmp); The "clients[id].drvName" is a 128 character buffer and "clients[id].Dbg.drvName" was originally a 16 character buffer but I've changed it to 128 as well. We don't actually use 128 characters but we do use more than 16. I've also changed the size of "tmp" to 128 characters instead of 256. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 1f4f0f645cc1d7f1187fcdb0ac22c2e69bd68050 Author: stephen hemminger Date: Tue Oct 5 04:24:09 2010 +0000 dccp: Kill dead code and add static markers. Remove dead code and make some functions static. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 10e7e9c44d442275951d1cfc892c1c6606c85c94 Author: Denis Kirjanov Date: Wed Oct 6 03:59:56 2010 +0000 sundance: Drop legacy _COMPAT_WITH_OLD_KERNEL includes Drop legacy includes since 2.4.x Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 9c6d5e5537e3997c47b65925a235392c1968fb51 Author: John Heffner Date: Wed Oct 6 21:18:02 2010 -0700 TCP: Fix setting of snd_ssthresh in tcp_mtu_probe_success This looks like a simple typo that has gone unnoticed for some time. The impact is relatively low but it's clearly wrong. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 69259abb64d4da77273bf59accfc9fa79e7165f4 Merge: dd53df2 12e9447 Author: David S. Miller Date: Wed Oct 6 19:39:31 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/pcmcia/pcnet_cs.c net/caif/caif_socket.c commit dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44 Author: Krzysztof Oledzki Date: Thu Sep 30 06:19:04 2010 +0000 bonding: add Speed/Duplex information to /proc/net/bonding/bond Effect: Slave Interface: eth5 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: XX:XX:XX:XX:XX:XX Slave queue ID: 0 Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit 767e97e1e0db0d0f3152cd2f3bd3403596aedbad Author: Eric Dumazet Date: Wed Oct 6 17:49:21 2010 -0700 neigh: RCU conversion of struct neighbour This is the second step for neighbour RCU conversion. (first was commit d6bf7817 : RCU conversion of neigh hash table) neigh_lookup() becomes lockless, but still take a reference on found neighbour. (no more read_lock()/read_unlock() on tbl->lock) struct neighbour gets an additional rcu_head field and is freed after an RCU grace period. Future work would need to eventually not take a reference on neighbour for temporary dst (DST_NOCACHE), but this would need dst->_neighbour to use a noref bit like we did for skb->_dst. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 43695d095dfaf266a8a940d9b07eed7f46076b49 Author: Sunil Mushran Date: Wed Oct 6 17:55:09 2010 -0700 ocfs2/cluster: Show per region heartbeat elapsed time This patch adds a per region debugfs file that shows the elapsed time since the time the o2hb timer was last armed. Signed-off-by: Sunil Mushran commit d6aa1c7c9e4b48081c2302e14b0f857017461efd Author: Sunil Mushran Date: Wed Oct 6 18:50:50 2010 -0700 ocfs2/cluster: Add mlogs for heartbeat up/down events This patch adds mlogs for o2hb up and down events. Signed-off-by: Sunil Mushran commit 1f28530537f106f83e5cf7ef0193075667b6d520 Author: Sunil Mushran Date: Wed Oct 6 17:55:12 2010 -0700 ocfs2/cluster: Create debugfs dir/files for each region This patch creates debugfs directory for each o2hb region and creates files to expose the region number and the per region live node bitmap. This information will be useful in debugging cluster issues. Signed-off-by: Sunil Mushran commit a6de013654b4839c8609e26241ebd9eb1ecc52e6 Author: Sunil Mushran Date: Wed Oct 6 17:55:13 2010 -0700 ocfs2/cluster: Create debugfs files for live, quorum and failed region bitmaps This patch prints the bitmaps of live, quorum and failed regions. This information will be useful in debugging cluster issues. Signed-off-by: Sunil Mushran commit b1c5ebfbe398b3360614a4788c02061cd153e60a Author: Sunil Mushran Date: Thu Oct 7 17:05:52 2010 -0700 ocfs2/cluster: Maintain bitmap of failed regions In global heartbeat mode, we track the bitmap of regions that have seen heartbeat timeouts. We fence if the number of such regions is greater than or equal to half the number of quorum regions. Signed-off-by: Sunil Mushran commit 43182d2a799865872041b6e4d8387131e9462f56 Author: Sunil Mushran Date: Wed Oct 6 17:55:16 2010 -0700 ocfs2/cluster: Maintain bitmap of quorum regions o2hb allows online adding of regions. However, a newly added region is not used in quorum calculations unless it has been added on all nodes. This patch tracks a bitmap of such quorum regions. Signed-off-by: Sunil Mushran commit e7d656baf6607a0775f4ca85464a4ead306741e5 Author: Sunil Mushran Date: Wed Oct 6 17:55:18 2010 -0700 ocfs2/cluster: Track bitmap of live heartbeat regions A heartbeat region becomes live (or active) after a fixed number of (steady) iterations. Signed-off-by: Sunil Mushran commit 536f0741f324f116d8b059295999945a2dac56bc Author: Sunil Mushran Date: Thu Oct 7 17:03:07 2010 -0700 ocfs2/cluster: Track number of global heartbeat regions In global heartbeat mode, we have a upper limit for the number of active regions. This patch adds the facility to track the number of active global heartbeat regions and fails to start heartbeat if the number exceeds the maximum. Signed-off-by: Sunil Mushran commit 823a637ae933fde8fdb280612dd3ff9912e301e3 Author: Sunil Mushran Date: Wed Oct 6 17:55:21 2010 -0700 ocfs2/cluster: Maintain live node bitmap per heartbeat region Currently we track a global livenode bitmap that keeps track of all nodes that are heartbeating in all regions. This patch adds the ability to track the livenode bitmap on a per region basis. We will use this facility in a later patch to allow us to withstand the loss of a minority number of regions. Signed-off-by: Sunil Mushran commit 8ca8b0bbd841b6bcd8ac05e51b0143aa61cfeff3 Author: Sunil Mushran Date: Thu Oct 7 17:01:27 2010 -0700 ocfs2/cluster: Reorganize o2hb debugfs init o2hb debugfs handling is reorganized to allow for easy expansion. Signed-off-by: Sunil Mushran commit 0e105d37c2adb19cb777aa6701a866f211764a30 Author: Sunil Mushran Date: Thu Oct 7 17:00:16 2010 -0700 ocfs2/cluster: Check slots for unconfigured live nodes o2hb currently checks slots for configured nodes only. This patch makes it check the slots for the live nodes too to take care of a race in which a node is removed from the configuration but not from the live map. Signed-off-by: Sunil Mushran commit 39a298563e0619b1b6e2e0974e58801de780621c Author: Sunil Mushran Date: Thu Oct 7 17:30:17 2010 -0700 ocfs2/cluster: Print messages when adding/removing nodes Prints messages when the user adds or removes nodes. Signed-off-by: Sunil Mushran commit 18c50cb0d3c293eabd6c2ef89c43f2a968e709ed Author: Sunil Mushran Date: Wed Oct 6 18:26:59 2010 -0700 ocfs2/cluster: Print messages when adding/removing heartbeat regions Prints messages when the user adds or removes heartbeat regions in global heartbeat mode. These messages are useful when debugging cluster related issues. Signed-off-by: Sunil Mushran commit 18cfdf1b1a8e83b09e4185c02396257ce7e7bee3 Author: Sunil Mushran Date: Thu Oct 7 16:47:03 2010 -0700 ocfs2/dlm: Add message DLM_QUERY_NODEINFO Adds new dlm message DLM_QUERY_NODEINFO that sends the attributes of all registered nodes. This message is sent if the negotiated dlm protocol is 1.1 or higher. If the information of the joining node does not match that of any existing nodes, the join domain request is rejected. Signed-off-by: Sunil Mushran commit 5f3c6d9c615770708df464c170316f83cf437242 Author: Sunil Mushran Date: Wed Oct 6 17:55:29 2010 -0700 ocfs2: Print message if user mounts without starting global heartbeat In global heartbeat mode, the heartbeat is started by the user. This patch prints an error if the user attempts to mount a volume without starting the heartbeat. Signed-off-by: Sunil Mushran commit ea2034416b54700e30371f2ad6517cbb94674083 Author: Sunil Mushran Date: Sat Oct 9 10:26:23 2010 -0700 ocfs2/dlm: Add message DLM_QUERY_REGION Adds new dlm message DLM_QUERY_REGION that sends the names of all active heartbeat regions. This message is only sent in the global heartbeat mode. If the regions in the joining node do not fully match the ones in the active nodes, the join domain request is rejected. Signed-off-by: Sunil Mushran commit b3c85c4cdf77154acc940dd0f14d1fb99cbbaf75 Author: Sunil Mushran Date: Thu Oct 7 14:31:06 2010 -0700 ocfs2/cluster: Get all heartbeat regions Export function in o2hb to get a list of heartbeat regions. It also adds an upper limit to the length of the heartbeat region name. o2hb_global_heartbeat_active() currently disables global heartbeat. It will be enabled in a later patch after all the code is added. Signed-off-by: Sunil Mushran commit b1365d0bd14b912cceb424cbeed9fe939a9038e3 Author: Sunil Mushran Date: Wed Oct 6 17:55:34 2010 -0700 ocfs2/dlm: Expose dlm_protocol in dlm_state Add dlm_protocol to the list of info shown by the debugfs file, dlm_state. Signed-off-by: Sunil Mushran commit 2c442719e90a44a6982c033d69df4aae4b167cfa Author: Sunil Mushran Date: Thu Oct 7 15:23:50 2010 -0700 ocfs2: Add support for heartbeat=global mount option Adds support for heartbeat=global mount option. It ensures that the heartbeat mode passed matches the one enabled on disk. Signed-off-by: Sunil Mushran commit 98f486f23bc5b6a6fa90e1a0707b7e9fe0e7f3e4 Author: Sunil Mushran Date: Sat Oct 9 10:24:46 2010 -0700 ocfs2: Add an incompat feature flag OCFS2_FEATURE_INCOMPAT_CLUSTERINFO OCFS2_FEATURE_INCOMPAT_CLUSTERINFO allows us to use sb->s_cluster_info for both userspace and o2cb cluster stacks. It also allows us to extend cluster info to include stack flags. This patch also adds stackflags to sb->s_clusterinfo. It also introduces a clusterinfo flag OCFS2_CLUSTER_O2CB_GLOBAL_HEARTBEAT to denote the enabled global heartbeat mode. This incompat flag can be set/cleared using tunefs.ocfs2 --fs-features. The clusterinfo flag is set/cleared using tunefs.ocfs2 --update-cluster-stack. Signed-off-by: Sunil Mushran commit 54b5187b5a1ad6573ade8b18e065dda92501fc52 Author: Sunil Mushran Date: Thu Oct 7 15:26:08 2010 -0700 ocfs2/cluster: Add heartbeat mode configfs parameter Add heartbeat mode parameter to the configfs tree. This will be used to set/show the heartbeat mode. The user is free to toggle the mode between local and global as long as there is no active heartbeat region. Signed-off-by: Sunil Mushran commit cf9768d6a3f901b00fc9d8ecdf8e506d7cbcae99 Author: Wey-Yi Guy Date: Wed Oct 6 16:39:18 2010 -0700 iwlagn: add define for MODULE_FIRMWARE Adding MODULE_FIRMWARE define for 130 series of devices Signed-off-by: Wey-Yi Guy commit d9d9a5194bb96d60fc846c94c602c874802e107d Author: Wey-Yi Guy Date: Wed Oct 6 16:39:17 2010 -0700 iwlagn: fix module firmware name for 130 series device 130 series device should use firmware name with 130 in it. Signed-off-by: Wey-Yi Guy commit 546add79468183f266c75c632c96e4b0029e0d96 Author: Krzysztof Piotr Oledzki Date: Wed Oct 6 14:28:22 2010 -0700 bonding: reread information about speed and duplex when interface goes up When an interface was enslaved when it was down, bonding thinks it has speed -1 even after it goes up. This leads into selecting a wrong active interface in active/backup mode on mixed 10G/1G or 1G/100M environment. before: bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex. bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex. after: bonding: bond0: link status definitely up for interface eth5, 10000 Mbps full duplex. bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex. Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit 700c2a779e6d5a60e2ef4716e75ea7f41546602f Author: Krzysztof Piotr Oledzki Date: Wed Oct 6 14:25:06 2010 -0700 bonding: print information about speed and duplex seen by the driver before: bonding: bond0: link status definitely up for interface eth5 bonding: bond0: link status definitely up for interface eth0 after: bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex. bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex. Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit 4f5157307652f1cbff2413b5e81ebcadd8e2524b Author: Dmitry Kravkov Date: Wed Oct 6 03:35:11 2010 +0000 bnx2x: update version to 1.60.00-1 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6fe8bce7b3b69835e8049106947db6b0f1f3a8d8 Author: Dmitry Kravkov Date: Wed Oct 6 03:35:03 2010 +0000 bnx2x: properly initialize FW stats Client statistics need to be initialized to -1 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f85582f8c48addd8166727ef692d88b0ff618c5e Author: Dmitry Kravkov Date: Wed Oct 6 03:34:21 2010 +0000 bnx2x: code beautify This patch does not include any functional changes. The changes are: empty lines, indentation and comments. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c2bff63fad94eeecf59e4ba8e4cb51688ccae1ec Author: Dmitry Kravkov Date: Wed Oct 6 03:33:18 2010 +0000 bnx2x, cnic: Fix SPQ return credit Return proper L2 and L5 SPQ (slow path queue) credits. Previously, all SPQ events were counted as L5 types. Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d6214d7aaa9a82b206dac9e3b0665c49c522a271 Author: Dmitry Kravkov Date: Wed Oct 6 03:32:10 2010 +0000 bnx2x: move msix table initialization to probe() Decide which interrupt mode to use (MSI-X, MSI, INTa) only once in probe() and initialize appropriate structures. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 217de5aaed833982c420fc37d82272d84eaefe64 Author: Dmitry Kravkov Date: Wed Oct 6 03:31:20 2010 +0000 bnx2x: use L1_CACHE_BYTES instead of magic number Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4bca60f44b4adca3197f61294956edda5bf9acea Author: Dmitry Kravkov Date: Wed Oct 6 03:30:27 2010 +0000 bnx2x: use proper constants for dma_unmap* calls Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c518cd1c7aca2e2a65edcf4fa5ce4160d59878c2 Author: Dmitry Kravkov Date: Wed Oct 6 03:29:41 2010 +0000 bnx2x: remove unused fields in main driver structure Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 749a85033ec7c5c0fa54a0023fd5d59eb5e57a20 Author: Dmitry Kravkov Date: Wed Oct 6 03:29:05 2010 +0000 bnx2x: remove unused parameter in reuse_rx_skb() Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f2e0899f0f275cc3f5e9c9726178d7d0ac19b2db Author: Dmitry Kravkov Date: Wed Oct 6 03:28:26 2010 +0000 bnx2x: Add 57712 support 57712 HW supported with same set of features as for 57710/57711 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8fe23fbd94af5a4c117fd0eb2f1c3f492f79efe8 Author: Dmitry Kravkov Date: Wed Oct 6 03:27:41 2010 +0000 bnx2x: change type of spq_left to atomic The field is now accessed from different contexts. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fb3bff178e722fe88b5ab02319c9636da0980e25 Author: Dmitry Kravkov Date: Wed Oct 6 03:26:40 2010 +0000 bnx2x: rename MF related fields MF (multi-function) mode supported not only by 57711E (E1H) devices, but also by coming 57712E, then we use more generic names. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6f7aeeec7e142caf30e3b420c2411ad85f23b9f5 Author: Dmitry Kravkov Date: Wed Oct 6 15:25:08 2010 +0200 bnx2x: remove old FW files Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 523224a3b3cd407ce4e6731a087194e13a90db18 Author: Dmitry Kravkov Date: Wed Oct 6 03:23:26 2010 +0000 bnx2x, cnic, bnx2i: use new FW/HSI This is the new FW HSI blob and the relevant definitions without logic changes. It also included code adaptation for new HSI. New features are not enabled. New FW/HSI includes: - Support for 57712 HW - Future support for VF (not used) - Improvements in FW interrupts scheme - FW FCoE hooks (stubs for future usage) Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c5b77152e736d23a23eb2546eab323e27a37f52 Author: Dmitry Kravkov Date: Wed Oct 6 14:10:08 2010 -0700 bnx2x: add 6.0.34 fw files New firmware files for all bnx2x devices Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 560131f313ea9b9439742138289b6f68d61531ec Author: Dmitry Kravkov Date: Wed Oct 6 03:18:47 2010 +0000 bnx2x: create folder for bnx2x firmware files Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 541a78103f097cd5120e55aaba56d099a64f153c Author: Michael Chan Date: Wed Oct 6 03:17:22 2010 +0000 cnic: Fine-tune ring init code. Initialize the rings only during cnic_uio_open() and shut them down during cnic_uio_close(). Check for the new bit CNIC_LCL_FL_RINGS_INITED before checking for ring interrupt. Signed-off-by: Michael Chan Signed-off-by: Dmitry Kravkov Signed-off-by: David S. Miller commit 1420398db4d5e236583d3ab392637df255bd5c6b Author: Michael Chan Date: Wed Oct 6 03:16:06 2010 +0000 cnic: Use pfid for internal memory offsets. The pfid (physical function ID) is the same as PCI function on production devices. The pfid for future devices will be different and will be used for internal memory offsets. Signed-off-by: Michael Chan Signed-off-by: Dmitry Kravkov Signed-off-by: David S. Miller commit ceb7e1c7c5ab86ca686d523f99ca473a1f3a984d Author: Michael Chan Date: Wed Oct 6 03:14:54 2010 +0000 cnic: Pass cp pointer to BNX2X_HW_CID. Preparation work for upcoming firmware interface changes. Signed-off-by: Michael Chan Signed-off-by: Dmitry Kravkov Signed-off-by: David S. Miller commit 85407885d5d8e9eed9be8e4d33c519646b90d09f Author: Matt Carlson Date: Wed Oct 6 13:40:58 2010 -0700 [PATCH net-next] tg3: Set real_num_rx_queues for non-multiq devs Commit 2ddaad397c47de012dfb956b0c05540da1a0dde5 entitled "tg3: Use netif_set_real_num_{rx,tx}_queues()" added a new call to netif_set_real_num_rx_queues in tg3_enable_msix(). This call also needs to be added to the legacy path to correctly reflect the actual number of rx queues. Signed-off-by: Matt Carlson Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 494486f8fd0eec956c5df823581df5dcf5409a6f Author: John W. Linville Date: Wed Oct 6 16:40:40 2010 -0400 mac80211: avoid uninitialized var warning in ieee80211_scan_cancel net/mac80211/scan.c: In function ‘ieee80211_scan_cancel’: net/mac80211/scan.c:794: warning: ‘finish’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 3207390a8b58bfc1335750f91cf6783c48ca19ca Author: Johannes Berg Date: Wed Oct 6 21:18:04 2010 +0200 cfg80211: fix BSS double-unlinking When multiple interfaces are actively trying to associate with the same BSS, they may both find that the BSS isn't there and then try to unlink it. This can cause errors since the unlinking code can't currently deal with items that have already been unlinked. Normally this doesn't happen as most people don't try to use multiple station interfaces that associate at the same time too. Fix this by using the list entry as a flag to see if the item is still on a list. Cc: stable@kernel.org Reported-by: Ben Greear Tested-by: Hun-Kyi Wynn Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b206b4ef062d83c0875a085672ed50e8c8b01521 Author: Bruno Randolf Date: Wed Oct 6 18:34:12 2010 +0900 nl80211/mac80211: Add retry and failed transmission count to station info This information is already available in mac80211, we just need to export it via cfg80211 and nl80211. Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 09be251e9005ebd67e5eabcaad904edb7ecacc55 Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:13 2010 +0200 Revert "iwlwifi: do not perferm force reset while doing scan" This reverts commit 7acc7c683a747689aaaaad4fce1683fc3f85e552. It was applied to avoid possible warning in ieee80211_restart_hw, however reason of the warning were races in mac80211, currently hopefully fixed. Not reseting device when performing scan is bad for two reasons. When forcing reset from iwl_check_stuck_queue(), in case of fail, reset will be repeated until scan finish. But since firmware is in bad shape, scan only finish after scan_check work (about 7s). So we will delay the reset, what is not good behaviour. When forcing reset from iwl_recover_from_statistics(), we will not repeat the reset, so we will not perform reset at all when needed. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3aed49ef17c7bc8397420529ac976fe058818e3d Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:12 2010 +0200 mac80211: compete scan to cfg80211 if deferred scan fail to start We nulify local->scan_req on failure in __ieee80211_start_scan, so __ieee80211_scan_completed will not call cfg80211_scan_done. Fix that. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6eb11a9a311a0f7e5b9b66c18f7498a26c9ec206 Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:11 2010 +0200 mac80211: do not requeue scan work when not needed When performing hw scan and not abort it, __ieee80211_scan_completed() is currently called from scan work, so does not need to reschedule work to call drv_hw_scan(). Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4136c4224ccf1907d309e1cdfaefef9da97dbc5e Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:10 2010 +0200 mac80211: assure we also cancel deferred scan request This is partial revert and fix for commit 85f72bc839705294b32b6c16b491c0422f0a71b3 "mac80211: only cancel software-based scans on suspend" When cfg80211 request the scan and mac80211 perform some management work, we defer the scan request. We do not canceling such requests when calling ieee80211_scan_cancel(), because of SCAN_SW_SCANNING bit check just before the call. So fix that problem. Another problem, which commit 85f72bc839705294b32b6c16b491c0422f0a71b3 tries to solve, is we can not cancel HW scan. Hence patch make ieee80211_scan_cancel() ignore HW scan (see code comments). Keeping local->mtx lock assures that the deferred scan will not become "working" HW scan. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e229f844d7223b7063bea1e649203ac521a58fe1 Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:09 2010 +0200 mac80211: keep lock when calling __ieee80211_scan_completed() We are taking local->mtx inside __ieee80211_scan_completed(), but just before call to that function we drop the lock. Dropping/taking lock is not good, because can lead to hard to understand race conditions. Patch split scan_completed() code into two functions, first must be called with local->mtx taken and second without it. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 259b62e35bf44a97983f275de569929a7d2bd5dd Author: Stanislaw Gruszka Date: Wed Oct 6 11:22:08 2010 +0200 mac80211: reduce number of __ieee80211_scan_completed calls Use goto instruction to call __ieee80211_scan_completed only ones in ieee80211_scan_work. This is prepare for the next patch. Signed-off-by: Stanislaw Gruszka Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 78159788e1d0909ffa6beb714dcca7f3aa4574a2 Author: RafaÅ‚ MiÅ‚ecki Date: Wed Oct 6 07:50:08 2010 +0200 b43: N-PHY: don't duplicate setting channel in shared memory It's already set in PHY common code. Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 106cb09a145a5c6d8e206af41284c300b13c408c Author: RafaÅ‚ MiÅ‚ecki Date: Wed Oct 6 07:50:07 2010 +0200 b43: define B43_SHM_SH_CHAN_40MHZ Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit 5e7ee098ce2795e0c2628686dd97fc64bcc11594 Author: RafaÅ‚ MiÅ‚ecki Date: Wed Oct 6 07:50:06 2010 +0200 b43: N-PHY: simplify channel switching Signed-off-by: RafaÅ‚ MiÅ‚ecki Signed-off-by: John W. Linville commit d537f5fdfcc9c57c1e3b9fb316a4bed2bf7597e7 Author: Johannes Berg Date: Tue Oct 5 21:34:11 2010 +0200 nl80211: fix error in generic netif_running check Yikes! The error return keeps a netdev reference and the rdev mutex locked, fix that! Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e31b82136d1adc7a599b6e99d3321e5831841f5a Author: Johannes Berg Date: Tue Oct 5 19:39:30 2010 +0200 cfg80211/mac80211: allow per-station GTKs This adds API to allow adding per-station GTKs, updates mac80211 to support it, and also allows drivers to remove a key from hwaccel again when this may be necessary due to multiple GTKs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d Author: Johannes Berg Date: Tue Oct 5 19:37:40 2010 +0200 mac80211: avoid transmitting delBA to old AP When roaming while we have active BA session, we can end up transmitting delBA frames to the old AP while we're already on the new AP's channel, which can cause warnings. Simply avoid sending those frames, but still tear down the internal session state, since they are not really necessary anyway as we will implicitly disassociate when sending the association to the new AP. Signed-off-by: Johannes Berg Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 845d708e62f08a45ff716fdb270c52585cad31d0 Author: Senthil Balasubramanian Date: Tue Oct 5 20:36:41 2010 +0530 ath9k: Introduce a wrapper for power save disable. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit fbab7390f954e3517c72d12cfd9a1502699aa368 Author: Senthil Balasubramanian Date: Tue Oct 5 20:36:40 2010 +0530 ath9k: remove unnecessary power save flags. drv_config callback is called only after the ack for the nullframe is received and so driver need not do anything special for this. So remove NULLFUNC_COMPLETED, PS_ENABLED flags and bf_isnullfunc flags from ath9k as mac80211 already handles them properly. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 95792178a58716a6afaeb5ab9654f1a0f17a5e8e Author: Felix Fietkau Date: Mon Oct 4 20:09:50 2010 +0200 ath9k_hw: merge ath9k_hw_ani_monitor_old and ath9k_hw_ani_monitor_new After the last rounds of cleanup, these functions are now functionally equivalent and can thus be merged. Also get rid of some excessive (and redundant) debug messages. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8eb4980c33c35e97a0a226fdbc07e38da0f1f4aa Author: Felix Fietkau Date: Mon Oct 4 20:09:49 2010 +0200 ath9k_hw: remove function pointer abstraction for internal ANI ops The code gets more concise and readable when making the new ANI functions fall back to the old ones if ANI v2 is disabled. This also makes further code cleanup easier. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit bfc472bb736bf309158ea76897d255a283d0d31c Author: Felix Fietkau Date: Mon Oct 4 20:09:48 2010 +0200 ath9k_hw: remove code duplication in phy error counter handling Split out the PHY error counter update from ath9k_hw_ani_monitor_*, reuse it in ath9k_hw_proc_mib_event (merged from ath9k_hw_proc_mib_event_old and ath9k_hw_proc_mib_event_new). Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 093115b7fd641f03d89404252044c976928764cb Author: Felix Fietkau Date: Mon Oct 4 20:09:47 2010 +0200 ath9k_hw: clean up ANI state handling ANI state is kept per channel, so instead of keeping an array of ANI states with an arbitrary size of 255, move the ANI state into the channel struct. Move some config settings that are not per-channel out of the per-channel struct to save some memory. With those changes, ath9k_ani_restart_old and ath9k_ani_restart_new can be merged into a single function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 71ea420992149294e74da3fa34ca8f111326bb6d Author: Felix Fietkau Date: Mon Oct 4 20:09:46 2010 +0200 ath9k_hw: add a helper function to check for the new ANI implementation Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 435c1610f46dc4d86a6633adb037b18109e6ffdc Author: Felix Fietkau Date: Tue Oct 5 12:03:42 2010 +0200 ath9k_hw: clean up register write buffering Throughout the code, DISABLE_REGWRITE_BUFFER is always called right after REGWRITE_BUFFER_FLUSH. Since that's unlikely to change any time soon, that makes keeping those ops separate rather pointless, as it only increases code size and line number counts. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9dbebc7fd07ab66341dce8d001272db400c11e03 Author: Felix Fietkau Date: Sun Oct 3 19:07:17 2010 +0200 ath9k_hw: merge codepaths that access the cycle counter registers The cycle counters are used by ANI to determine the amount of time that the radio spent not receiving or transmitting. They're also used for debugging purposes if the baseband watchdog on AR9003 detects a lockup. In the future, we want to use these counters to determine the medium utilization and export this information via survey. For that, we need to make sure that the counter is only accessed from one place, which also ensures that wraparounds won't occur at inconvenient points in time. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6497827f53eb90dcf30c5d6414c83238f722e8ae Author: Felix Fietkau Date: Sun Oct 3 19:07:16 2010 +0200 ath9k_hw: clean up calibration flags The calibration actual calibration flags are only used by the per chip family source files, so it makes more sense to define them in those files instead of globally. That way the code has to test for less flags. Also instead of using a separate callback for testing whether a particular calibration type is supported, simply adjust ah->supp_cals in the calibration init which is called right after the hardware reset, before any of the calibrations are run. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 373426cac0cbb7f762018127803dcd70838e2cdf Merge: 46bf695 4427148 Author: John W. Linville Date: Wed Oct 6 16:25:52 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 42560ca0616d26c15ff626590101806b99ac95bb Merge: b7ee31c e0e9b40 Author: David S. Miller Date: Wed Oct 6 13:07:22 2010 -0700 Merge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 92a5bbc11ff2442a54b2f1d313088c245828ef4e Author: Pekka Enberg Date: Wed Oct 6 16:58:16 2010 +0300 SLUB: Fix memory hotplug with !NUMA This patch fixes the following build breakage when memory hotplug is enabled on UMA configurations: /home/test/linux-2.6/mm/slub.c: In function 'kmem_cache_init': /home/test/linux-2.6/mm/slub.c:3031:2: error: 'slab_memory_callback' undeclared (first use in this function) /home/test/linux-2.6/mm/slub.c:3031:2: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [mm/slub.o] Error 1 make[1]: *** [mm] Error 2 make: *** [sub-make] Error 2 Reported-by: Zimny Lech Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 06c7a489a97fce99fd86611f6f32e565e686e5d8 Author: Paul Mundt Date: Thu Oct 7 02:57:39 2010 +0900 sh: Fix up the SH-3 build. SH-3 lacks an MMUCR_TI definition for global TLB flushes. As SH-3 parts lack a split TLB, the same global flush behaviour is accomplished through the flush bit, which just happens to be the same as on SH-4. This fixes up the build for all SH-3 MMU parts. Signed-off-by: Paul Mundt commit c9928f7040a6e5f39e028bea500e0fde910d4a96 Author: Shirish Pargaonkar Date: Mon Oct 4 19:56:13 2010 -0500 ntlm authentication and signing - Correct response length for ntlmv2 authentication without extended security Fix incorrect calculation of case sensitive response length in the ntlmv2 (without extended security) response. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 29e07c82a9e8acebbb38ecc22b0b5005a0a5d839 Author: Jeff Layton Date: Wed Sep 29 19:51:12 2010 -0400 cifs: fix cifs_show_options to show "username=" or "multiuser" ...based on CIFS_MOUNT_MULTIUSER flag. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6508d904e6fb66ce4c34617f72b38d6714c4b9f6 Author: Jeff Layton Date: Wed Sep 29 19:51:11 2010 -0400 cifs: have find_readable/writable_file filter by fsuid When we implement multiuser mounts, we'll need to filter filehandles by fsuid. Add a flag for multiuser mounts and code to filter by fsuid when it's set. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 13cfb7334eb6fd0fc06da5589aea1e947791f1d6 Author: Jeff Layton Date: Wed Sep 29 19:51:11 2010 -0400 cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer cifsFileInfo needs a pointer to a tcon, but it doesn't currently hold a reference to it. Change it to keep a pointer to a tcon_link instead and hold a reference to it. That will keep the tcon from being freed until the file is closed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7ffec372458d163492e56e663a1b3a2d7be0a0a2 Author: Jeff Layton Date: Wed Sep 29 19:51:11 2010 -0400 cifs: add refcounted and timestamped container for holding tcons Eventually, we'll need to track the use of tcons on a per-sb basis, so that we know when it's ok to tear them down. Begin this conversion by adding a new "tcon_link" struct and accessors that get it. For now, the core data structures are untouched -- cifs_sb still just points to a single tcon and the pointers are just cast to deal with the accessor functions. A later patch will flesh this out. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 5d73c53b786665f991f70be01a51a23233aeb44f Author: Gregory Bean Date: Wed Sep 29 13:46:45 2010 -0700 msm: qsd8x50: enable ethernet. Configure the smc91x ethernet chip on the qsd8x50 SURF. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 26cc66607189ac544edad04927f506599d990f0f Author: Gregory Bean Date: Fri Sep 10 15:03:37 2010 -0700 msm: gpio: Add gpiomux calls to request and free. Add gpiomux get and put calls to msmgpio request and free, in order to allow gpio lines to be properly reference-counted and power-managed. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 2783cc265cc57c4bbf788b75fa8c3f06259dffd1 Author: Gregory Bean Date: Fri Sep 10 15:03:36 2010 -0700 msm: add gpio driver for single-core SoCs. Install a gpiolib driver supporting the on-chip gpios for single-core MSMs in the 7x00 family, including 7x00A, 7x25, 7x27, 7x30, 8x50, and 8x50a. As part of the ongoing effort to converge on a common code base, this driver is based on the Google-Android msmgpio driver, whose authors include Brian Swetland and Arve HjønnevĂ¥g. Cc: Arve HjønnevĂ¥g Cc: H Hartley Sweeten Cc: Ryan Mallon Cc: Ben Dooks Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit ab78cde589e89afa039a13bc75d23d249f1c1200 Author: Gregory Bean Date: Wed Sep 1 16:26:12 2010 -0700 msm: Featurize gpiomux. Featurize gpiomux so that systems like 7x00 which do not wish to use it do not have to be saddled with the configuration tables. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 10c4580e798838fd63eafec5ed304b7ace6db020 Author: Gregory Bean Date: Sat Aug 28 10:05:48 2010 -0700 msm: gpio: Remove tlmm routines obsoleted by gpiomux. Now that all supported gpio_tlmm_config-using boards are using gpiomux, remove the deprecated code. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 224f6de46ab05677f1fbfa7e384938639ff3f691 Author: Gregory Bean Date: Sat Aug 28 10:05:47 2010 -0700 msm: convert 7x30 to gpiomux. Change deprecated gpio_tlmm_config calls to gpiomux calls. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit dd22b8f703d7a9aa5e40a7741b7e84fb0bb025d6 Author: Gregory Bean Date: Sat Aug 28 10:05:46 2010 -0700 msm: convert 8x50 to gpiomux. Change the gpio-init code from deprecated gpio_tlmm_config to the new gpiomux api. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 70816e2ca526cfe21ce884ecae057a9c1725ad27 Author: Gregory Bean Date: Sat Aug 28 10:05:45 2010 -0700 msm: documentation: add gpiomux documentation. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 1963a2afc81afe6d85e7a12538b74a9919d958ae Author: Gregory Bean Date: Sat Aug 28 10:05:44 2010 -0700 msm: add gpiomux api for gpio multiplex & configuration. Add the 'gpiomux' api, which addresses the following shortcomings of existing tlmm api: - gpio power-collapse, which is managed by a peripheral processor on other targets, must be managed by the application processor on the 8x60. - The enable/disable flag of the legacy gpio_tlmm_config api is not applicable on the 8x60, and causes confusion. - The gpio 'direction' bits are meaningless for all func_sel configurations except for generic-gpio mode (func_sel 0), in which case the gpio_direction_* functions should be used. Having these bits in the tlmm api leads to confusion and misuse of the gpiolib api, and they have been removed in gpiomux. - The functional api of the legacy system ran contrary to the typical use-case, which is a single massive configuration at boot. Rather than forcing hundreds of 'config' function calls, the new api allows data to be configured with a single table. gpiomux_get and gpiomux_put are meant to be called automatically when gpio_request and gpio_free are called, giving automatic gpiomux/tlmm control to those drivers/lines with simple power profiles - in the simplest cases, an entry in the gpiomux table and the correct usage of gpiolib is all that is required to get proper gpio power control. Signed-off-by: Gregory Bean Signed-off-by: Daniel Walker commit 846afbd1fe015e082c89d56dd42c484d896ef58e Author: Abhijeet Dharmapurikar Date: Tue Aug 24 21:57:33 2010 -0700 GIC: Dont disable INT in ack callback Masking in the ack callback fails to work with handle_percpu_irq and handle_edge_irq. The interrupt stays disabled after the first invocation since percpu and edge irq do not unmask an interrupt after handling it. For handle_level_irq masking in the ack is redundant because ack is always called after mask in the mask_ack function. Masking in the ack function is required only when __do_IRQ was used instead of flow handlers, but using __do_IRQ has been deprecated. Remove the masking of interrupt from the ack callback. Signed-off-by: Abhijeet Dharmapurikar Signed-off-by: Jeff Ohlstein Signed-off-by: Daniel Walker commit dd1d3a49db4ae5c6afffadaff526b96c7993c7dd Author: Takashi Iwai Date: Wed Oct 6 17:28:56 2010 +0200 ALSA: oxygen - Add a SSID for CMI8787-HG2PCI This board has a strange PCI SSID 13f6:ffff. Works as compabile as MODEL_CMEDIA_REF. Reported-by: Takashi Sakamoto Signed-off-by: Takashi Iwai commit 58a39090a13cf296afc17ed8fd793a55340b63db Author: Wey-Yi Guy Date: Wed Oct 6 08:14:21 2010 -0700 iwlagn: define 130 series of WiFi/BT combo devices add new structures and defines need to identify 130 devices. Signed-off-by: Wey-Yi Guy commit 898dade1162970fe7af45e47062f9d1d999c46e6 Author: Wey-Yi Guy Date: Mon Sep 20 09:12:33 2010 -0700 iwlagn: rename iwl5000_tx_resp iwl5000_tx_resp really should be iwlagn_tx_resp, rename it. Signed-off-by: Wey-Yi Guy commit a8029bb79ec6de4acab5a6d3b931990152e8d5c1 Author: Wey-Yi Guy Date: Mon Sep 20 09:12:32 2010 -0700 iwlwifi: remove uncorrect comments some structure belong to _agn devices, not just 5000. Fix it. Signed-off-by: Wey-Yi Guy commit ab63c68adaabb670f0513d5b63f3b233b16ea8b4 Author: Wey-Yi Guy Date: Mon Sep 20 09:12:31 2010 -0700 iwlagn: rename iwl5000_tx_power_dbm_cmd iwl5000_tx_power_dbm_cmd really should be iwlagn_tx_power_dbm_cmd, so rename it. Signed-off-by: Wey-Yi Guy commit 7cb1b0887fcc61918e3d64827fbef968bb67a57a Author: Wey-Yi Guy Date: Wed Oct 6 08:10:00 2010 -0700 iwlagn: reduce redundant parameter definitions move paramater definitions to a device paramater structure only leaving the device name, which antennas are used and what firmware file to use in the iwl_cfg structure. this will not completely remove the redundancies but greatly reduce them for devices that only vary by name or antennas. the parameters that are more likely to change within a given device family are left in iwl_cfg. also separate bt param structure added to help reduce more. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit 72645eff4b2ad6cf2b016b54f9d6817cca0a621d Author: Wey-Yi Guy Date: Wed Oct 6 07:42:43 2010 -0700 iwlwifi: schedule to deprecate software scan support Hardware scan is the prefer method for all iwlwifi devices; especially for dual-mode functions. Schedule to deprecate the software scan support in kernel 2.6.40 Signed-off-by: Wey-Yi Guy commit ebebeece4ba596973c0c181a8cce5fd77bae427c Author: Clemens Ladisch Date: Wed Oct 6 10:58:50 2010 +0200 ALSA: oxygen: add PEX8111 initialization Configure the PEX8111 bridge on the PCI Express cards so that the audio DMA controller can do proper burst reads and is less likely to lose data. This is usually done automatically, but is required on older cards where the user has not applied the PLX firmware update. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 7cb4ced5aa83b681c76b004c8960b4f2a6471fef Author: Clemens Ladisch Date: Wed Oct 6 10:57:50 2010 +0200 ALSA: oxygen: rewrite PCIe bridge initialization Change the PCIe/PCI bridge initialization code to configure only the bridge that is actually connected to the sound chip, instead of any bridge found in the system. The new code also makes it easier to add other bridges. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 93943beb29be7084afb61556e96bc454079bfb0e Author: Clemens Ladisch Date: Wed Oct 6 10:57:11 2010 +0200 ALSA: oxygen: reduce minimum period count The interrupt counter is independent of the buffer counter, so there are no restrictions on the period size. Having fewer periods also makes PulseAudio happy. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a5a84755c5900416dce0166ac825866aad8048ef Author: Christoph Lameter Date: Tue Oct 5 13:57:27 2010 -0500 slub: Move functions to reduce #ifdefs There is a lot of #ifdef/#endifs that can be avoided if functions would be in different places. Move them around and reduce #ifdef. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit ab4d5ed5eeda4f57c50d14131ce1b1da75d0c938 Author: Christoph Lameter Date: Tue Oct 5 13:57:26 2010 -0500 slub: Enable sysfs support for !CONFIG_SLUB_DEBUG Currently disabling CONFIG_SLUB_DEBUG also disabled SYSFS support meaning that the slabs cannot be tuned without DEBUG. Make SYSFS support independent of CONFIG_SLUB_DEBUG Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 15b7c5142049e7efc3071280e1370dc3b8add6f5 Author: Pekka Enberg Date: Sat Oct 2 11:32:32 2010 +0300 SLUB: Optimize slab_free() debug check This patch optimizes slab_free() debug check to use "c->node != NUMA_NO_NODE" instead of "c->node >= 0" because the former generates smaller code on x86-64: Before: 4736: 48 39 70 08 cmp %rsi,0x8(%rax) 473a: 75 26 jne 4762 473c: 44 8b 48 10 mov 0x10(%rax),%r9d 4740: 45 85 c9 test %r9d,%r9d 4743: 78 1d js 4762 After: 4736: 48 39 70 08 cmp %rsi,0x8(%rax) 473a: 75 23 jne 475f 473c: 83 78 10 ff cmpl $0xffffffffffffffff,0x10(%rax) 4740: 74 1d je 475f This patch also cleans up __slab_alloc() to use NUMA_NO_NODE instead of "-1" for enabling debugging for a per-CPU cache. Acked-by: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Pekka Enberg commit d7eccbbae84b2ee7dbb756e60287c4b47071444e Author: Jiri Kosina Date: Wed Oct 6 11:34:48 2010 +0200 Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget This is a partial revert of 7f26b3a7533b ("drivers/usb: Remove unnecessary return's from void functions") as this hunk will vanish in USB tree completely. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 134669854e3a680d8aad9a4047891c653715f4c0 Author: Steven Whitehouse Date: Wed Oct 6 09:58:44 2010 +0100 GFS2: Fix type mapping for demote_rq interface Mostly the glock operations follow the type of the glock. The one exception is the transaction glock, so we need to check for that directly. Reported-by: Dr. David Alan Gilbert Signed-off-by: Steven Whitehouse commit 901c28c257eb8903a7d66c900df163e2c13ca995 Author: Nobuhiro Iwamatsu Date: Tue Oct 5 08:16:08 2010 +0000 sh: Fix address calculation of Initrd Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit bde40898c814362e8041cad0e989c7a749c417ec Author: Akinobu Mita Date: Tue Oct 5 15:54:00 2010 +0000 sh: fix uninitialized spinlock The spinlock in traps_64.c is used without initialization. This fixes it by declaring DEFINE_SPINLOCK() and makes the spinlock static variable. Signed-off-by: Akinobu Mita Cc: Paul Mundt Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit 6966fed9d8a74f178fc0dabdcc687cb1fe5b75fe Author: Paul Mundt Date: Wed Oct 6 16:44:10 2010 +0900 sh: intc: Fix build with IRQ balancing disabled. The balancing stubs obviously need to be static inline.. Signed-off-by: Paul Mundt commit 33fc1a211c400049f1b5276d5a925a84d3d2b6d2 Author: Paul Mundt Date: Wed Oct 6 15:38:16 2010 +0900 sh: intc: Add missing files. The Kconfig and Makefile were overlooked, add those in now to improve odds of building. Signed-off-by: Paul Mundt commit 161b0275e2311b8bd9609d5f32e2b703cf5d70a8 Author: Jeremy Fitzhardinge Date: Thu Sep 2 19:35:22 2010 -0700 x86, mm: Add RESERVE_BRK_ARRAY() helper This is useful when converting static arrays into boot-time brk allocated objects. Signed-off-by: Jeremy Fitzhardinge LKML-Reference: <4C805EEA.1080205@goop.org> Signed-off-by: H. Peter Anvin commit 16c36f743bf8481d0ba40a6de0af11736095d7cf Author: Yinghai Lu Date: Mon Oct 4 14:58:04 2010 -0700 x86, memblock: Remove __memblock_x86_find_in_range_size() Fold it into memblock_x86_find_in_range(), and change bad_addr_size() to check_reserve_memblock(). So whole memblock_x86_find_in_range_size() code is more readable. Signed-off-by: Yinghai Lu LKML-Reference: <4CAA4DEC.4000401@kernel.org> Signed-off-by: H. Peter Anvin commit f1af98c7629a1b76fd7336decbc776acdeed2120 Author: Yinghai Lu Date: Mon Oct 4 14:57:39 2010 -0700 memblock: Fix wraparound in find_region() When trying to find huge range for crashkernel, get [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/x86/mm/memblock.c:248 memblock_x86_reserve_range+0x40/0x7a() [ 0.000000] Hardware name: Sun Fire x4800 [ 0.000000] memblock_x86_reserve_range: wrong range [0xffffffff37000000, 0x137000000) [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.36-rc5-tip-yh-01876-g1cac214-dirty #59 [ 0.000000] Call Trace: [ 0.000000] [] ? memblock_x86_reserve_range+0x40/0x7a [ 0.000000] [] warn_slowpath_common+0x85/0x9e [ 0.000000] [] warn_slowpath_fmt+0x6e/0x70 [ 0.000000] [] ? memblock_find_region+0x40/0x78 [ 0.000000] [] ? memblock_find_base+0x9a/0xb9 [ 0.000000] [] memblock_x86_reserve_range+0x40/0x7a [ 0.000000] [] setup_arch+0x99d/0xb2a [ 0.000000] [] ? trace_hardirqs_off+0xd/0xf [ 0.000000] [] ? _raw_spin_unlock_irqrestore+0x3d/0x4c [ 0.000000] [] start_kernel+0xde/0x3f1 [ 0.000000] [] x86_64_start_reservations+0xa0/0xa4 [ 0.000000] [] x86_64_start_kernel+0x106/0x10d [ 0.000000] ---[ end trace a7919e7f17c0a725 ]--- [ 0.000000] Reserving 8192MB of memory at 17592186041200MB for crashkernel (System RAM: 526336MB) This is caused by a wraparound in the test due to size > end; explicitly check for this condition and fail. Signed-off-by: Yinghai Lu LKML-Reference: <4CAA4DD3.1080401@kernel.org> Signed-off-by: H. Peter Anvin commit 1d931264af0f10649b35afa8fbd2e169da51ac08 Author: Yinghai Lu Date: Tue Oct 5 16:15:15 2010 -0700 x86-32, memblock: Make add_highpages honor early reserved ranges Originally the only early reserved range that is overlapped with high pages is "KVA RAM", but we already do remove that from the active ranges. However, It turns out Xen could have that kind of overlapping to support memory ballooning.x So we need to make add_highpage_with_active_regions() to subtract memblock reserved just like low ram; this is the proper design anyway. In this patch, refactering get_freel_all_memory_range() to make it can be used by add_highpage_with_active_regions(). Also we don't need to remove "KVA RAM" from active ranges. Signed-off-by: Yinghai Lu LKML-Reference: <4CABB183.1040607@kernel.org> Signed-off-by: H. Peter Anvin commit 9f4c13964b58608fbce05540743281ea3146c0e8 Author: Yinghai Lu Date: Tue Oct 5 16:05:14 2010 -0700 x86, memblock: Fix crashkernel allocation Cai Qian found crashkernel is broken with the x86 memblock changes. 1. crashkernel=128M@32M always reported that range is used, even if the first kernel is small and does not usethat range 2. we always got following report when using "kexec -p" Could not find a free area of memory of a000 bytes... locate_hole failed The root cause is that generic memblock_find_in_range() will try to allocate from the top of the range, whereas the kexec code was written assuming that allocation was always near the bottom and that it could blindly extend memory upward. Unfortunately the kexec code doesn't have a system for requesting the range that it really needs, so this is subject to probabilistic failures. This patch hacks around the problem by limiting the target range heuristically to below the traditional bzImage max range. This number is arbitrary and not always correct, and a much better result would be obtained by having kexec communicate this number based on the kernel header information and any appropriate command line options. Reported-and-Bisected-by: CAI Qian Signed-off-by: Yinghai Lu LKML-Reference: <4CABAF2A.5090501@kernel.org> Cc: Vivek Goyal Signed-off-by: H. Peter Anvin commit b7ee31c5af7f04b67d8b8e4f3b2bcb8bcfced8a3 Author: Rasesh Mody Date: Tue Oct 5 15:46:05 2010 +0000 bna: scope and dead code cleanup As suggested by Stephen Hemminger: 1) Made functions and data structures static wherever possible. 2) Removed unused code. Signed-off-by: Debashis Dutt Signed-off-by: Rasesh Mody Signed-off-by: David S. Miller commit e2fa6f2ef6e48666b78d4b0f00914b06bb19d298 Author: Rasesh Mody Date: Tue Oct 5 15:46:04 2010 +0000 bna: fix interrupt handling This fix handles the case when IRQ handler is called (for shared IRQs) even before the driver is ready to handle interrupts. Signed-off-by: Debashis Dutt Signed-off-by: Rasesh Mody Signed-off-by: David S. Miller commit ebc0ffae5dfb4447e0a431ffe7fe1d467c48bbb9 Author: Eric Dumazet Date: Tue Oct 5 10:41:36 2010 +0000 fib: RCU conversion of fib_lookup() fib_lookup() converted to be called in RCU protected context, no reference taken and released on a contended cache line (fib_clntref) fib_table_lookup() and fib_semantic_match() get an additional parameter. struct fib_info gets an rcu_head field, and is freed after an rcu grace period. Stress test : (Sending 160.000.000 UDP frames on same neighbour, IP route cache disabled, dual E5540 @2.53GHz, 32bit kernel, FIB_HASH) (about same results for FIB_TRIE) Before patch : real 1m31.199s user 0m13.761s sys 23m24.780s After patch: real 1m5.375s user 0m14.997s sys 15m50.115s Before patch Profile : 13044.00 15.4% __ip_route_output_key vmlinux 8438.00 10.0% dst_destroy vmlinux 5983.00 7.1% fib_semantic_match vmlinux 5410.00 6.4% fib_rules_lookup vmlinux 4803.00 5.7% neigh_lookup vmlinux 4420.00 5.2% _raw_spin_lock vmlinux 3883.00 4.6% rt_set_nexthop vmlinux 3261.00 3.9% _raw_read_lock vmlinux 2794.00 3.3% fib_table_lookup vmlinux 2374.00 2.8% neigh_resolve_output vmlinux 2153.00 2.5% dst_alloc vmlinux 1502.00 1.8% _raw_read_lock_bh vmlinux 1484.00 1.8% kmem_cache_alloc vmlinux 1407.00 1.7% eth_header vmlinux 1406.00 1.7% ipv4_dst_destroy vmlinux 1298.00 1.5% __copy_from_user_ll vmlinux 1174.00 1.4% dev_queue_xmit vmlinux 1000.00 1.2% ip_output vmlinux After patch Profile : 13712.00 15.8% dst_destroy vmlinux 8548.00 9.9% __ip_route_output_key vmlinux 7017.00 8.1% neigh_lookup vmlinux 4554.00 5.3% fib_semantic_match vmlinux 4067.00 4.7% _raw_read_lock vmlinux 3491.00 4.0% dst_alloc vmlinux 3186.00 3.7% neigh_resolve_output vmlinux 3103.00 3.6% fib_table_lookup vmlinux 2098.00 2.4% _raw_read_lock_bh vmlinux 2081.00 2.4% kmem_cache_alloc vmlinux 2013.00 2.3% _raw_spin_lock vmlinux 1763.00 2.0% __copy_from_user_ll vmlinux 1763.00 2.0% ip_output vmlinux 1761.00 2.0% ipv4_dst_destroy vmlinux 1631.00 1.9% eth_header vmlinux 1440.00 1.7% _raw_read_unlock_bh vmlinux Reference results, if IP route cache is enabled : real 0m29.718s user 0m10.845s sys 7m37.341s 25213.00 29.5% __ip_route_output_key vmlinux 9011.00 10.5% dst_release vmlinux 4817.00 5.6% ip_push_pending_frames vmlinux 4232.00 5.0% ip_finish_output vmlinux 3940.00 4.6% udp_sendmsg vmlinux 3730.00 4.4% __copy_from_user_ll vmlinux 3716.00 4.4% ip_route_output_flow vmlinux 2451.00 2.9% __xfrm_lookup vmlinux 2221.00 2.6% ip_append_data vmlinux 1718.00 2.0% _raw_spin_lock_bh vmlinux 1655.00 1.9% __alloc_skb vmlinux 1572.00 1.8% sock_wfree vmlinux 1345.00 1.6% kfree vmlinux Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c2952c314b4fe61820ba8fd6c949eed636140d52 Author: Flavio Leitner Date: Tue Oct 5 14:23:59 2010 +0000 bonding: add retransmit membership reports tunable Allow sysadmins to configure the number of multicast membership report sent on a link failure event. Signed-off-by: Flavio Leitner Signed-off-by: David S. Miller commit e12b453904c54bbdc515778ff664d87a7f9473af Author: Flavio Leitner Date: Tue Oct 5 14:23:58 2010 +0000 bonding: fix to rejoin multicast groups immediately The IGMP specs states that if the system receives a membership report, it shouldn't send another for the next minute. However, if a link failure happens right after that, the backup slave and the switch connected to this slave will not know about the multicast and the traffic will hang for about a minute. This patch fixes it to rejoin multicast groups immediately after a failover restoring the multicast traffic. Signed-off-by: Flavio Leitner Signed-off-by: David S. Miller commit 5a37e8ca8536c47871d46c82211f399adf06fd44 Author: Flavio Leitner Date: Tue Oct 5 14:23:57 2010 +0000 bonding: rejoin multicast groups on VLANs During a failover, the IGMP membership is sent to update the switch restoring the traffic, but it misses groups added to VLAN devices running on top of bonding devices. This patch changes it to iterate over all VLAN devices on top of it sending IGMP memberships too. Signed-off-by: Flavio Leitner Signed-off-by: David S. Miller commit a8bb69f78194dc483f6c4a4bf8860c1ede35fa25 Author: Breno Leitao Date: Tue Oct 5 13:16:23 2010 +0000 ehea: converting msleeps to waitqueue on check_sqs() function Removing the msleep() call in check_sqs() function, and replacing by a wait queue. Signed-off-by: Breno Leitao Signed-off-by: David S. Miller commit 5b27d42755fa6536a89f32b107fb2a53267696c2 Author: Breno Leitao Date: Tue Oct 5 13:16:22 2010 +0000 ehea: using wait queues instead of msleep on ehea_flush_sq This patch just remove a msleep loop and change to wait queue, making the code cleaner. Signed-off-by: Breno Leitao Acked-by: David Howells Signed-off-by: David S. Miller commit 9ed51657f6ea2a08582d6a9be5404b044972b7e0 Author: Emil Tantilov Date: Tue Oct 5 13:11:30 2010 +0000 ixgbevf: declare functions as static Following patch fixes warnings reported by `make namespacecheck` Reported by Stephen Hemminger CC: Stephen Hemminger Signed-off-by: Emil Tantilov Acked-by: Greg Rose Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ad5e4655f9a920b1cc13972e0389eaf9e0ba10b3 Author: Nicolas Kaiser Date: Tue Oct 5 14:11:40 2010 +0200 ASoC: remove duplicated include for nuc900 Remove duplicated include. Signed-off-by: Nicolas Kaiser Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 05c694500b20e0b7c6f7c80d63ef21b92d219752 Author: Guennadi Liakhovetski Date: Tue Oct 5 17:54:28 2010 +0200 ASoC: sh: fix build error: terminate the platform device ID list Platform driver ID table must be zero-element terminated. Signed-off-by: Guennadi Liakhovetski Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 4de0a7594823d04361281e34e59f2c1108899f3e Author: Tony Luck Date: Tue Oct 5 15:41:25 2010 -0700 [IA64] Initialize interrupts later (from init_IRQ()) Thomas Gleixner is cleaning up the generic irq code, and ia64 ran into problems because it calls register_intr() before early_irq_init() is called. Move the call to acpi_boot_init() from setup_arch() to init_IRQ(). As a bonus - moving the call later means we no longer need the hacks in iosapic.c to switch between the bootmem and regular allocator - we can just used kzalloc() for allocation. Signed-off-by: Tony Luck commit 3f66116e89521ef71ab0d63dc07a639def88a577 Author: Alban Crequy Date: Mon Oct 4 08:48:28 2010 +0000 AF_UNIX: Implement SO_TIMESTAMP and SO_TIMETAMPNS on Unix sockets Userspace applications can already request to receive timestamps with: setsockopt(sockfd, SOL_SOCKET, SO_TIMESTAMP, ...) Although setsockopt() returns zero (success), timestamps are not added to the ancillary data. This patch fixes that on SOCK_DGRAM and SOCK_SEQPACKET Unix sockets. Signed-off-by: Alban Crequy Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d6bf781712a1d25cc8987036b3a48535b331eb91 Author: Eric Dumazet Date: Mon Oct 4 06:15:44 2010 +0000 net neigh: RCU conversion of neigh hash table David This is the first step for RCU conversion of neigh code. Next patches will convert hash_buckets[] and "struct neighbour" to RCU protected objects. Thanks [PATCH net-next] net neigh: RCU conversion of neigh hash table Instead of storing hash_buckets, hash_mask and hash_rnd in "struct neigh_table", a new structure is defined : struct neigh_hash_table { struct neighbour **hash_buckets; unsigned int hash_mask; __u32 hash_rnd; struct rcu_head rcu; }; And "struct neigh_table" has an RCU protected pointer to such a neigh_hash_table. This means the signature of (*hash)() function changed: We need to add a third parameter with the actual hash_rnd value, since this is not anymore a neigh_table field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 110b2499370c401cdcc7c63e481084467291d556 Author: Eric Dumazet Date: Mon Oct 4 04:27:36 2010 +0000 net neigh: neigh_delete() and neigh_add() changes neigh_delete() and neigh_add() dont need to touch device refcount, we hold RTNL when calling them, so device cannot disappear under us. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit caf586e5f23cebb2a68cbaf288d59dbbf2d74052 Author: Eric Dumazet Date: Thu Sep 30 21:06:55 2010 +0000 net: add a core netdev->rx_dropped counter In various situations, a device provides a packet to our stack and we drop it before it enters protocol stack : - softnet backlog full (accounted in /proc/net/softnet_stat) - bad vlan tag (not accounted) - unknown/unregistered protocol (not accounted) We can handle a per-device counter of such dropped frames at core level, and automatically adds it to the device provided stats (rx_dropped), so that standard tools can be used (ifconfig, ip link, cat /proc/net/dev) This is a generalization of commit 8990f468a (net: rx_dropped accounting), thus reverting it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 773e3f93577ffb493fb7c39b1a6ecf39b5748e87 Author: Paul E. McKenney Date: Tue Oct 5 14:03:02 2010 -0700 rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held As suggested by Linus, push the irqs_disabled() down to the rcu_read_lock_bh_held() level so that all callers get the benefit of the correct check. Signed-off-by: Paul E. McKenney commit 46bf695802bb090d9d0d0fec6bb5b46c24b17d4e Merge: e7480bb 4b48e68 Author: John W. Linville Date: Tue Oct 5 13:50:27 2010 -0400 Merge branch 'wireless-next' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit e7480bbb926c5816e4fbfca70748096bbe0e4978 Author: Luis R. Rodriguez Date: Fri Oct 1 17:05:19 2010 -0400 mac80211: fix channel assumption for association done work Be consistent and use the wk->chan instead of the local->hw.conf.channel for the association done work. This prevents any possible races against channel changes while we run this work. In the case that the race did happen we would be initializing the bit rates for the new AP under the assumption of a wrong channel and in the worst case, wrong band. This could lead to trying to assuming we could use CCK frames on 5 GHz, for example. This patch has a fix for kernels >= v2.6.34 Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 691895e7e2204be9a717809fb78d6ff7c10b470a Author: Johannes Berg Date: Tue Oct 5 16:19:42 2010 +0200 nl80211: fix remain-on-channel documentation The documentation for NL80211_CMD_REMAIN_ON_CHANNEL isn't accurate, an interface index is required by the command. Update it accordingly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 970bf9d40c03e48cc34ee2c1a70693a0e0fca3f6 Author: Gabor Juhos Date: Tue Oct 5 11:32:17 2010 +0200 ath9k: get correct tx gain type in ath9k_hw_4k_get_eeprom The base_eep_header_4k structure contains information that the device supports high power tx gain table or not. However the ath9k_hw_4k_get_eeprom function does not return that value when it is called with EEP_TXGAIN_TYPE. This leads to that the tx gain initialization will use the init values from the original tx gain table even if the device inidicates that the high power table should be used. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Shu Hwa Shen Signed-off-by: John W. Linville commit 4198a8d036c998ca8cec1b08116ab9f6a3a9ffff Author: Bruno Randolf Date: Tue Oct 5 13:27:17 2010 +0900 ath5k: Don't wake internal queues We should only wake up queues which mac80211 knows about (queues 0-3). We have another internal queue ("CAB", queue number 6) which we use for power-saved frames. When transmitted frames are processed from this queue, we have to make sure we don't bother mac80211 with waking a queue it doesn't know about. this fixes: WARNING: at /home/br1/ath/wireless-testing/net/mac80211/util.c:275 __ieee80211_wake_queue+0xd6/0xe0 [mac80211]() Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 025e6be220e448c02045e8499c7db8ce4bc8eea2 Author: Johannes Berg Date: Tue Oct 5 10:41:47 2010 +0200 mac80211: fix deadlock with multiple interfaces The locking around ieee80211_recalc_smps is buggy -- it cannot acquire another interface's mutex while the iflist mutex is held because another code path could be holding the iface mutex and trying to acquire the iflist mutex. But the locking is also unnecessary, we only check "ifmgd->associated" as a bool, and don't use the pointer (in check_mgd_smps). Reported-by: Ben Greear Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6774889314ba507483e63c014fcb81adfc127202 Author: Johannes Berg Date: Mon Oct 4 21:14:06 2010 +0200 nl80211: reduce dumping boilerplate Consolidate boilerplate code needed for .dumpit calls operating on netdevs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 41265714810e20d91ddd7aaca30043b0f12190ad Author: Johannes Berg Date: Mon Oct 4 21:14:05 2010 +0200 nl80211: use generic check for netif_running Use a new flag that requires the netdev to be UP and use it to check instead of coding the check into all functions that require it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4c476991062a0a59523c2bf193f09087f469686a Author: Johannes Berg Date: Mon Oct 4 21:36:35 2010 +0200 nl80211: use the new genetlink pre/post_doit hooks This makes nl80211 use the new genetlink pre_doit/post_doit hooks for locking and checking the interface/wiphy index. This significantly reduces the code size and the likelihood of locking errors. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff4c92d85c6f2777d2067f8552e7fefb4d1754ae Author: Johannes Berg Date: Mon Oct 4 21:14:03 2010 +0200 genetlink: introduce pre_doit/post_doit hooks Each family may have some amount of boilerplate locking code that applies to most, or even all, commands. This allows a family to handle such things in a more generic way, by allowing it to a) include private flags in each operation b) specify a pre_doit hook that is called, before an operation's doit() callback and may return an error directly, c) specify a post_doit hook that can undo locking or similar things done by pre_doit, and finally d) include two private pointers in each info struct passed between all these operations including doit(). (It's two because I'll need two in nl80211 -- can be extended.) Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit 2ee4e27cf25ab647137713ca16377d8d9e138ea2 Author: Dan Carpenter Date: Mon Oct 4 14:31:46 2010 +0200 ipw2200: check for allocation failures If kzalloc() fails then return should return with -ENOMEM. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 9eba612549f575d7dccda672ce932e15e7392d83 Author: Bruno Randolf Date: Mon Oct 4 11:17:30 2010 +0900 mac80211: Add WME information element for IBSS Enable WME QoS in IBSS mode by adding a WME information element to beacons and probe respones and by checking for it and marking stations as WME capable if it is present. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b34793ee27aa547fc9b4213f89036c9a0ecaad5d Author: Helmut Schaa Date: Sat Oct 2 11:34:56 2010 +0200 rt2x00: Work around hw aggregation oddity in rt2800 If a frame is not meant to be sent as AMPDU or part of it the hw might still decide to aggregate this frame if a previous frame started an AMPDU. However, this will limit the usefulness of the reported tx rate since the reported rate will be the one specified in the TXWI of the first frame and thus it is not possible to reliably caculate the number of retrys by substracting the reported tx rate from the tx rate in the TXWI. To fix this issue, only report the successful rate for frames that were not meant to be aggregated but ended up in an aggregate. Example: Frame A (MCS7, AMPDU=1) B (MCS7, AMPDU=1) C (MCS12, AMDPU=0, PROBE_RATE) Although frame C shoudn't be aggregated the hw might sill put it into an AMPDU together with A and B. If the transmission succeeds the tx status will contain MCS7 for all three frames. In that case we should only report MCS7 as success rate and avoid reporting MCS12-MCS8 as failed tx attempts as this will affect the future rate control decisions. This oddity might strike us in other scenarious as well but the most common "wrong" report happened for frames used to probe a different tx rate. This improves the rate control decisions notable. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 01e946f22ae4bafe370d263f2ef499b8b232aec1 Author: Helmut Schaa Date: Sat Oct 2 11:34:26 2010 +0200 rt2x00: Improve cooperation between rt2800pci and minstrel In order to lower the impact of probe rates don't send a frame as AMPDU if the rate control algorithm sets IEEE80211_TX_CTL_RATE_CTRL_PROBE. Otherwise a whole aggregate would be send with a probe rate which might lead to numerous retries. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1f0280cb35ae252d6db3ce8f56b7a1dc174460e5 Author: Helmut Schaa Date: Sat Oct 2 11:34:05 2010 +0200 rt2x00: Fix oops caused by error path in rt2x00lib_start When rt2x00lib_enable_radio fails to enable the radio, rt2x00lib_start will call rt2x00queue_uninitialize to uninitialize the queues. Since, the queues are not initialized here but already in rt2x00lib_initialize we shouldn't uninitialize the queues here. Otherwise, a consecutive call to rt2x00lib_start will oops (see below) because it assumes the queues are already initialized. BUG: unable to handle kernel NULL pointer dereference at 00000010 IP: [] :rt2800pci:rt2800pci_clear_entry+0x1/0x40 *pde = 00000000 Oops: 0000 [#1] SMP Modules linked in: ... rt2800pci ... Pid: 5995, comm: hostapd Not tainted (2.6.27.8 #1) EIP: 0060:[] EFLAGS: 00210246 CPU: 3 EIP is at rt2800pci_clear_entry+0x1/0x40 [rt2800pci] EAX: 00000000 EBX: f698863c ECX: 00200296 EDX: f8d2dee0 ESI: f6988600 EDI: f5b6f000 EBP: 00000000 ESP: f6d75e4c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process hostapd (pid: 5995, ti=f6d74000 task=f6ce2300 task.ti=f6d74000) Stack: f698863c fa00eaec 00000000 f5b6f000 00000000 f7b67000 f5b6e280 fa00c629 f5b6f000 00000000 fa00ca3d f7b67480 00000001 fa177d4c 01b6e890 f7b67000 00000000 f7b67000 00000001 00001003 00001002 c066c366 f7b67000 c0668ad0 Call Trace: [] rt2x00queue_init_queues+0x5c/0x90 [rt2x00lib] [] rt2x00lib_enable_radio+0x29/0xa0 [rt2x00lib] [] rt2x00lib_start+0x5d/0xd0 [rt2x00lib] [] ieee80211_do_open+0x21c/0x510 [mac80211] [] dev_open+0x56/0xb0 [] dev_set_rx_mode+0x20/0x40 [] dev_change_flags+0x7f/0x190 [] devinet_ioctl+0x515/0x690 [] __dev_get_by_name+0x74/0x90 [] sock_ioctl+0xd0/0x240 [] sock_ioctl+0x0/0x240 [] vfs_ioctl+0x2b/0x90 [] do_vfs_ioctl+0x25b/0x2a0 [] sys_ioctl+0x56/0x70 [] syscall_call+0x7/0xb [] add_card+0xad0/0xba0 ======================= Code: 83 78 08 0e 74 14 8b 02 8b 48 04 85 c9 0f 99 c0 0f b6 c0 c3 8d b6 00 00 00 00 8b 02 8b 40 04 85 c0 0f 99 c0 0f b6 c0 c3 66 90 53 <8b> 48 10 8b 58 08 8b 40 04 83 78 08 0e 74 15 8b 11 83 c2 04 8b EIP: [] rt2800pci_clear_entry+0x1/0x40 [rt2800pci] SS:ESP 0068:f6d75e4c ---[ end trace cff9a5c094bb8837 ]--- Reported-by: Joshua Smith Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 74ee3802c0021c1387795af234b3e4dc511a9bb3 Author: Helmut Schaa Date: Sat Oct 2 11:33:42 2010 +0200 rt2x00: Update comment about the AMPDU flag in the TXWI During testing with AMPDUs it turned out that the rt2800 hw will aggregate consecutive frames with the same RA and TID when the first frame in a possible aggregate has set AMPDU=1 in the TXWI. If a following frame has set AMPDU=0 in its TXWI it might sill end up in the aggregate of the previous frame. Update the comment accordingly. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 58ed826e5fb6db429c688284623ca62cb45b9d5c Author: Helmut Schaa Date: Sat Oct 2 11:33:17 2010 +0200 rt2x00: Enable rx aggregation in rt2800 Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bc8a979e2d85c2bdd507a8b6b09fdafc11ebd73a Author: Ivo van Doorn Date: Sat Oct 2 11:32:43 2010 +0200 rt2x00: Improve TX status entry validation The TX_STA_FIFO contains some information for identifying a outgoing frame, however matching by WCID and ACK status is not sufficient to 100% identify the macthing queue_entry structure (containing the SKB buffer) which belongs to the status report. Within TX_STA_FIFO we have a 4-bit field named PACKETID, which is currently used to encode the queue id. The queue ID is however limited to values from 0 to 3, which means 2 bits are sufficient to encode the value. With the remaining 2 bits we can encode a partial queue_entry index number. The value of PACKETID is not allowed to become 0, with the queue ID ranging from 0 to 3, at least one of the bits for the entry identification must be 1. That leaves us with 3 possible values we can still encode in the bits. Altough this doesn't allow 100% accurate matching of the TX_STA_FIFO queue to a queue_entry structure, it at least improves the accuracy. This allows us to better detect if we have missed the TX_STA_FIFO report, which in turn reduces the number of watchdog warnings regarding the TX status timeout. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ba3b9e5e8c7a12d8ea46cb4a8217c2e9b0720e9c Author: Helmut Schaa Date: Sat Oct 2 11:32:16 2010 +0200 rt2x00: correctly set max_report_rates in rt61pci and rt2800 rt61pci and rt2800 devices can use up to 7 different rates per tx frame. However, the device uses a global fallback table. Hence, the rc algortihm cannot specify multiple rates to try but the device is able to report multiple rates (based on the retry table). Specify that behavior by correctly setting max_report_rates and max_rates. This makes rt2x00 and minstrel play nicer together. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 78be49ec2a0df34de9441930fdced20311fd709f Author: Helmut Schaa Date: Sat Oct 2 11:31:55 2010 +0200 mac80211: distinct between max rates and the number of rates the hw can report Some drivers cannot handle multiple retry rates specified by the rc algorithm but instead use their own retry table (for example rt2800). However, if such a device registers itself with a max_rates value of 1 the rc algorithm cannot make use of the extended information the device can provide about retried rates. On the other hand, if a device registers itself with a max_rates value > 1 the rc algorithm assumes that the device can handle multi rate retries. Fix this issue by introducing another hw parameter max_report_rates that can be set to a different value then max_rates to indicate if a device is capable of reporting more rates then specified in max_rates. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5a5b6ed6ce46be128f2a5a9e56f47193c3ac3e32 Author: Helmut Schaa Date: Sat Oct 2 11:31:33 2010 +0200 rt2x00: Don't enable broad- and multicast buffering on USB devices Since rt2x00 USB devices have no chance to know when a beacon was sent out in AP mode currently all broad- and multicast traffic is buffered in mac80211 but never sent out at all. Unfortunately we have no chance in sending the traffic out after a DTIM beacon due to hw limitations. Hence, instead of never sending the buffered traffic out better send it out immediately. Signed-off-by: Helmut Schaa Reported-by: Lauri Hintsala Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c4c18a9dc16095fc8ada423f1e6ff3830d56d37c Author: Helmut Schaa Date: Sat Oct 2 11:31:05 2010 +0200 rt2x00: add field definitions for the TBTT_SYNC_CFG register Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d4ce3a5ea16f82d73922b7bfb8a177e371493ffb Author: Helmut Schaa Date: Sat Oct 2 11:30:42 2010 +0200 rt2x00: Add register definition for busy time on secondary channel Add the register definition CH_BUSY_STA_SEC for reading the busy time on the secondary channel in HT40 mode. Also update the comments about channel busy/idle time registers to express the used unit. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b1ef7252f491b6dc09ffc4584da0f3cf564e05e5 Author: Ivo van Doorn Date: Sat Oct 2 11:30:19 2010 +0200 rt2x00: Add rt73usb device ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cb753b7253548b950e84843a00b4db8d0c54f578 Author: Helmut Schaa Date: Sat Oct 2 11:29:59 2010 +0200 rt2x00: Allow tx duplication for legacy rates in HT40 mode Make use of the IEEE80211_TX_RC_DUP_DATA flag to duplicate a transmission with legacy rates to both 20Mhz channels if set. Also update the related comment in rt2800.h to describe the behavior of the BW_40 flag for legacy rates. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 95192339c2de1e1a61baf289af3e3332403371c9 Author: Helmut Schaa Date: Sat Oct 2 11:29:30 2010 +0200 rt2x00: Fix race between dma mapping and clearing rx entries in rt2800pci During rx, rt2x00lib calls rt2800pci_fill_rxdone to read the RX descriptor. At that time the skb is already dma unmapped but no new skb was dma mapped for this entry again. However, rt2800pci_fill_rxdone also moves the hw rx queue index, marking this entry to be available for reuse. Since no new skb was dma mapped and also the previous skb was unmapped this might lead to strange hw behavior. To fix this issue move the hw rx queue index increment to rt2800pci_clear_entry where a new skb was already dma mapped and can be safely used by the hw. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d13a97f07d86f462096007dbf0f2e0338692abc0 Author: Helmut Schaa Date: Sat Oct 2 11:29:08 2010 +0200 rt2x00: Don't initialize MM40 HT protection to RTS/CTS on PCI devices Since HT protection is now configurable via mac80211 we don't need this special case for PCI devices anymore. The HT protection config will be overwritten as soon as mac80211 sends us a HT operation mode. Hence, bring the HT MM40 protection config in sync with the other HT protection registers and initialize it to no protection. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87c1915d2c271a8998a79f16bcf5353e2c28db45 Author: Helmut Schaa Date: Sat Oct 2 11:28:34 2010 +0200 rt2x00: Implement HT protection for rt2800 Update the HT operation mode when mac80211 sends it to us and set the different HT protection modes and rates accordingly. For now only use CTS-to-self with OFDM 24M or CCK 11M when protection is required. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a13ac9df0a2125507295da02444cd88bebf0df36 Author: Helmut Schaa Date: Sat Oct 2 11:28:02 2010 +0200 rt2x00: Fix SM PS check Fix a check for dynamic SM PS mode in the STAs HT caps. Since a value of 3 means "SM PS disabled" the previous check assumed in that case that "dynamic SM PS" was enabled and as such prefixed every MCS>7 frame with a unnecessary RTS/CTS exchange. Also, the bit shift was done in the wrong direction. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 96c3da7d7d7c37ee308ad6813947f48a71cca573 Author: Helmut Schaa Date: Sat Oct 2 11:27:35 2010 +0200 rt2x00: rework tx status handling in rt2800pci This patch changes the way tx status reports are handled by rt2800pci. Previously rt2800pci would sometimes lose tx status reports as the TX_STA_FIFO register is a fifo of 16 entries that can overflow in case we don't read it often/fast enough. Since interrupts are disabled in the device during the execution of the interrupt thread it happend sometimes under high network and CPU load that processing took too long and a few tx status reports were dropped by the hw. To fix this issue the TX_STA_FIFO register is read directly in the interrupt handler and stored in a kfifo which is large enough to hold all status reports of all used tx queues. To process the status reports a new tasklet txstatus_tasklet is used. Using the already used interrupt thread is not possible since we don't want to disable the TX_FIFO_STATUS interrupt while processing them and it is not possible to schedule the interrupt thread multiple times for execution. A tasklet instead can be scheduled multiple times which allows to leave the TX_FIFO_STATUS interrupt enabled while a previously scheduled tasklet is still executing. In short: All other interrupts are handled in the interrupt thread as before. Only the TX_FIFO_STATUS interrupt is partly handled in the interrupt handler and finished in the according tasklet. One drawback of this patch is that it duplicates some code from rt2800lib. However, that can be cleaned up in the future once the rt2800usb and rt2800pci tx status handling converge more. Using this patch on a Ralink RT3052 embedded board gives me a reliable wireless connection even under high CPU and network load. I've transferred several gigabytes without any queue lockups. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 144333313b156a9e99d80e39e034a3cba00adeaf Author: Helmut Schaa Date: Sat Oct 2 11:27:03 2010 +0200 rt2x00: Split out parts of the rt2800_txdone function for easier reuse Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2a0cfeb826df6751933fd95a797ac18371992c3b Author: Helmut Schaa Date: Sat Oct 2 11:26:17 2010 +0200 rt2x00: Don't overwrite beacon buffers in pairwise key setup rt2800 devices use parts of the pariwise key table to store the beacon frames for beacon 6 and 7. To not overwrite the beacon frame buffers limit the number of entries we store in the pairwise key table to 222. Also add some descriptive comments about this shared memory usage. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1a92795dac419128eb511dce30a6aad672064b88 Author: Christian Lamparter Date: Fri Oct 1 22:01:24 2010 +0200 p54usb: add five more USBIDs Source: http://www.wikidevi.com/wiki/Intersil/p54/usb/windows Cc: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 99c15bf575b18e12c9373304a6a09a78f9c8a017 Author: Ben Greear Date: Fri Oct 1 12:26:30 2010 -0700 ath9k: Report total tx/rx bytes and packets in debugfs. Includes pkts/bytes that may have had errors, and includes wireless headers when counting bytes. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit b72acddbbe521d1372e7e9106e9d72e1cbab3010 Author: Ben Greear Date: Fri Oct 1 10:54:04 2010 -0700 ath5k: Print rx/tx bytes in debugfs This adds counters for tx and rx bytes, including any errored packets as well as all wireless headers. Signed-off-by: Ben Greear Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 1be7fe8de9f25e173282f8f989f83bc5b5decfe9 Author: Bill Jordan Date: Fri Oct 1 11:20:41 2010 -0400 mac80211: fix for WDS interfaces Initialize the rate table for WDS interfaces, and add cases to allow WDS packets to pass the xmit and receive tests. Signed-off-by: Bill Jordan Signed-off-by: John W. Linville commit e8347ebad2f1b15bddb6ed3ed5f767531eb52dc3 Author: Bill Jordan Date: Fri Oct 1 13:54:28 2010 -0400 cfg80211: patches to allow setting the WDS peer Added a nl interface to set the peer bssid of a WDS interface. Signed-off-by: Bill Jordan Signed-off-by: John W. Linville commit e51f3eff9a7e17ddd749799d4291f7e33e9883b9 Author: Bill Jordan Date: Fri Oct 1 11:20:39 2010 -0400 ath9k: add WDS interfaces to ath9k Enable WDS for the ath9k driver. Signed-off-by: Bill Jordan Signed-off-by: John W. Linville commit d8ec44335c974cc8bf67ce70c63071d4e0702509 Author: Juuso Oikarinen Date: Fri Oct 1 16:02:31 2010 +0300 mac80211: Add validity check for beacon_crc value On association to an AP, after receiving beacons, the beacon_crc value is set. The beacon_crc value is not reset in disassociation, but the BSS data may be expired at a later point. When associating again, it's possible that a beacon for the AP is not received, resulting in the beacon_ies to remain NULL. After association, further beacons will not update the beacon data, as the crc value of the beacon has not changed, and the beacon_crc still holds a value matching the beacon. The beacon_ies will remain forever null. One of the results of this is that WLAN power save cannot be entered, the STA will remain foreven in active mode. Fix this by adding a validation flag for the beacon_crc, which is cleared on association. Signed-off-by: Juuso Oikarinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit bc86863de63e6ae7ec6f9f524604631608c6cb02 Author: Stanislaw Gruszka Date: Fri Oct 1 14:05:27 2010 +0200 mac80211: perform scan cancel in hw reset work Move ieee80211_scan_cancel() and all other related code to ieee80211_restart_work() as ieee80211_restart_hw() is intended to be callable from any context. Fix a bug that RTNL lock is not taken during ieee80211_cancel_scan(). Take local->mtx before WARN(test_bit(SCAN_HW_SCANNING, &local->scanning) to prevent the race condition with __ieee80211_start_scan() described here: http://marc.info/?l=linux-wireless&m=128516716810537&w=2 Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 8e0167a4bdce4adcea64d2197378673d332cda28 Author: Mohammed Shafi Shajakhan Date: Fri Oct 1 15:25:05 2010 +0530 ath9k : Fix for displaying the channel number In the ath9k debugging feature 'wiphy' the current channel used by the station is incorrectly displayed.This is because the channels available are sequentially mapped from numbers 0 to 37.This mapping cannot be changed as the channel number is also used as an array index This fix solves the above problem by calculating the channel number from center frequency. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9094a086f24bfb1d1f244883020c4d9453ffc0b6 Author: Felix Fietkau Date: Fri Oct 1 01:46:13 2010 +0200 ath9k_hw: remove some useless calibration data The percal struct and bitmask for the initial DC calibration are not used anywhere, so they can be removed. Signed-off-by: Felix Fietkau commit f209f5298217cf54cd5a9163e18b08d093faf8d9 Author: Felix Fietkau Date: Fri Oct 1 01:06:53 2010 +0200 ath9k: fix channel flag / regd issues with multiple cards Since the regulatory code touches the channel array, it needs to be copied for each device instance. That way the original channel array can also be made const. Signed-off-by: Felix Fietkau Cc: stable@kernel.org [all] Signed-off-by: John W. Linville commit 2234362c427e2ef667595b9b81c0125003ac5607 Author: Johannes Berg Date: Thu Sep 30 22:17:43 2010 +0200 cfg80211: fix locking Add missing unlocking of the wiphy in set_channel, and don't try to unlock a non-existing wiphy in set_cqm. Cc: stable@kernel.org [2.6.35+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b1ae1edf9e9872d3aa657cc34ae40c9aadfbc72f Author: Ben Greear Date: Thu Sep 30 12:22:58 2010 -0700 ath5k: Allow ath5k to support virtual STA and AP interfaces. Support up to 4 virtual APs and as many virtual STA interfaces as desired. This patch is ported forward from a patch that Patrick McHardy did for me against 2.6.31. Signed-off-by: Ben Greear Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit ea229e682633a18c1fa2c408400a6923cfc47910 Author: Johannes Berg Date: Thu Sep 30 21:21:25 2010 +0200 cfg80211: remove spurious __KERNEL__ ifdef The net/cfg80211.h header file isn't exported to userspace, so there's no need for any kind of __KERNEL__ protection in it. If it was exported, everything else in it would need protection as well, not just the logging stuff ... Cc:Joe Perches Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 663fcafd977f13e6483f7d4cf2ccdbc4fae81ed0 Author: Johannes Berg Date: Thu Sep 30 21:06:09 2010 +0200 cfg80211/mac80211: allow management frame TX in AP mode Enable management frame transmission and subscribing to management frames through nl80211 in both cfg80211 and mac80211. Also update a few places that I forgot to update for P2P-client mode previously, and fix a small bug with non-action frames in this API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4bd530f3ab51c7d656bca29d927a50e5aa87175e Author: Stanislaw Gruszka Date: Thu Sep 30 16:27:35 2010 +0200 iwlwifi: change WARN_ON to IWL_WARN in iwl_mac_add_interface We can start restarting firmware or RF kill switch can be turned on during call to iwl_mac_add_interface(). That are normal working conditions, so do not print call trace, just print simple message instead. Signed-off-by: Stanislaw Gruszka Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e32ee80b855914e48b1beb53e13203bc874288d8 Author: Ben Hutchings Date: Thu Sep 30 02:44:56 2010 +0100 ar9170: Remove MODULE_FIRMWARE references to two-stage firmware The combined firmware ar9170.fw is preferred and supports all devices. References to the older two-stage firmware are unnecessary. Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 39162dbe813a2c90b7b9018a74dc1befb9ff4205 Author: Felix Fietkau Date: Wed Sep 29 19:12:06 2010 +0200 ath9k: return survey data for all channels instead of just the current one Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 17e5a8082894a4b66cb69e7ec16074f0f01281e1 Author: Felix Fietkau Date: Wed Sep 29 17:15:30 2010 +0200 nl80211: allow drivers to indicate whether the survey data channel is in use Some user space applications only want to display survey data for the operating channel, however there is no API to get that yet. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0bda652300dff8136c9d889f1133462c7c7d332c Author: Felix Fietkau Date: Wed Sep 29 17:15:29 2010 +0200 ath9k: remove the noise floor value in the ani struct common->ani.noise_floor is now only used for a similar redundant debug message similar to the one that was removed from ath9k_htc in an earlier patch. Remove it from ath9k as well now. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 4f1a5a4b62c5335aafd5830866320c8918103a3a Author: Felix Fietkau Date: Wed Sep 29 17:15:28 2010 +0200 ath9k: do not return default noise floor values via survey Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit d9891c7804f27c5b0ea9eb51f42bf473b24338a0 Author: Felix Fietkau Date: Wed Sep 29 17:15:27 2010 +0200 ath9k_hw: keep calibrated noise floor values per channel Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 35ecfe03d96b7cdaf6e50aba13af37e2c99deb57 Author: Felix Fietkau Date: Wed Sep 29 17:15:26 2010 +0200 ath9k_htc: remove use of common->ani.noise_floor It is unused aside from a single redundant debug message Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5c895691944862e782c285a871f5d3466797b4ef Author: Christian Lamparter Date: Tue Sep 28 23:00:59 2010 +0200 carl9170: support firmware-based rx filter The hardware rx-filter was essentially disabled, because of a serve, yet unidentifiable problem with iwlagn. Due to these circumstances the driver and mac80211 were left with the job of filtering. This is very unfortunate and has proven to be expensive in terms of latency, memory and load. Therefore the new 1.8.8.3 firmware introduces a flexible filtering infrastructure which allows the driver to offload some of the checks (FCS & PLCP crc check, RA match, control frame filter, etc...) whenever possible. Note: This patch also includes all changes to the shared headers files since the inclusion. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 85416a4fa193754ef36e12b20bb02fe661cb7f17 Author: Christian Lamparter Date: Sat Oct 2 13:17:07 2010 +0200 mac80211: fix rx monitor filter refcounters This patch fixes an refcounting bug. Previously it was possible to corrupt the per-device recv. filter and monitor management counters when: iw dev wlanX set monitor [new flags] was issued on an active monitor interface. Acked-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5a254ffe3ffdfa84fe076009bd8e88da412180d2 Author: Ben Greear Date: Mon Sep 27 09:07:26 2010 -0700 wireless: Use first phyX name available when registering phy devices. Choose first available phyX name when creating phy devices. This means that reloading a wifi driver will not cause a change in the name of it's phy device. Also, allow users to rename a phy to any un-used name, including phy%d. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit e595b3252f4a53fc52227ca7a8b94199f9f319a9 Author: Dimitris Papastamos Date: Mon Oct 4 16:28:59 2010 +0100 ASoC: WM8804: Retrieve the device revision and print it Be verbose and print out the device revision. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit f479fd93d4028afccf155dec736c6d49cde92571 Author: Dimitris Papastamos Date: Mon Oct 4 11:25:13 2010 +0100 ASoC: soc-cache: Add spi_write support for all I/O types Ensure that all drivers that use SPI and I2C will work properly by providing SPI write functions for all different I/O types. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit bb5a027026db86b0c676104b2e3f6cc4768d1ac0 Merge: 94774b2 45605a8 Author: Mark Brown Date: Tue Oct 5 09:55:56 2010 -0700 Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.37 commit 9a0b37926595b57c4b5fc56aa6fd243bed4ee4eb Author: Clemens Ladisch Date: Mon Oct 4 13:25:13 2010 +0200 ALSA: oxygen: fix input monitor dB scale The input monitor half volume bit results in a factor of 0.5, so the minimum scale value should be -6 dB. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit de0074ee7ae7d61da40567afa53912d7e3e16b25 Author: Clemens Ladisch Date: Mon Oct 4 13:24:43 2010 +0200 ALSA: oxygen: fix chip ID register symbols Rename the symbol for the XCID pins, fix up a decimal/hex confusion for the CMI8787 package ID, and add the other known package IDs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d737f3eedef0717c8b8233bb6455ff13637ff243 Author: Clemens Ladisch Date: Mon Oct 4 13:23:26 2010 +0200 ALSA: virtuoso: fix Xonar STX anti-pop delay The anti-pop delay for the STX should be 800 ms, not 100 ms like the ST. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 2b830bae1fc2a27b3b0ab86091013bdec3c12427 Author: Clemens Ladisch Date: Mon Oct 4 13:22:51 2010 +0200 ALSA: virtuoso: add HDAV1.3 Slim PCI ID Add a PCI ID for the Xonar HDAV1.3 Slim. There is no actual support, but the presence of the ID allows the EEPROM repair code to work for this card. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b6ca8ab399d913eed0d89d65d6b768337a3d20d7 Author: Clemens Ladisch Date: Mon Oct 4 13:21:52 2010 +0200 ALSA: oxygen: handle CD input configuration with a flag There are more models without a CD input than with one, so handle this explicitly with a device_config flag to avoid having to define a control filter callback to filter it out. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 45bc307f328c044e69cad2a18a9ae972bb15f254 Author: Clemens Ladisch Date: Mon Oct 4 13:17:26 2010 +0200 ALSA: virtuoso: fix Xonar DS chip name The controller on the Xonar DS is labeled "AV66", not "AV200". Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 422fdc318efd7d34d8b79decde0f8cb90a336c11 Author: Clemens Ladisch Date: Mon Oct 4 13:09:12 2010 +0200 ALSA: usb-audio: add more Yamaha USB MIDI devices Add quirks for more devices (according to driver V.3.0.4-2). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b1a9338d5eaa9c38c326e20ce339247f4d585b62 Merge: 1728943 62cb3c6 Author: John W. Linville Date: Tue Oct 5 11:14:58 2010 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit d91ddc2553426a2d9b6b978b5e346f303fccee67 Author: Paul Mundt Date: Tue Oct 5 23:26:42 2010 +0900 sh: Wire up INTC subgroup splitting for SH7786 SCIF1. SH7786 is the big user for subgroup splitting, mostly for the PCIe block, but those will follow later. For now we simply split up SCIF1, as used by the serial console on SDK7786 and others. Signed-off-by: Paul Mundt commit 1ab488de544b7f94b4f8e5aed2b178cac685802f Author: Rahul Ruikar Date: Sun Sep 26 22:20:30 2010 +0530 pcmcia: vrc4173_cardu: Fix error path for pci_release_regions and pci_disable_device - pci_release_regions called during return error path. - pci_disable_device called for cases where earlier it was enabled. - code duplication avoided/reduced by adding resource release at goto statements. Signed-off-by: Rahul Ruikar Signed-off-by: Dominik Brodowski commit 4b48e6876b641e1138f37a0fc11fb6a4fc3e24e1 Author: ext Anand Gadiyar Date: Fri Oct 1 22:33:26 2010 +0200 omap: zoom2/3: fix build caused by wl1271 support Patch "omap: zoom: add mmc3/wl1271 device support" in the wireless tree still uses .wires in struct omap2_hsmmc_info. .wires has now been replaced with .caps in patch "omap: mmc: extended to pass host capabilities from board file" in the OMAP tree. This causes linux-next as of 20101001 build to break as below. Fix this. CC arch/arm/mach-omap2/board-zoom-peripherals.o arch/arm/mach-omap2/board-zoom-peripherals.c:217: error: unknown field 'wires' specified in initializer make[1]: *** [arch/arm/mach-omap2/board-zoom-peripherals.o] Error 1 make: *** [arch/arm/mach-omap2] Error 2 Signed-off-by: Anand Gadiyar Cc: Ohad Ben-Cohen Cc: Tony Lindgren Acked-by: Tony Lindgren Signed-off-by: Luciano Coelho commit 5082b823f3b0c781fdbc52910af579e940f6f18e Author: Luciano Coelho Date: Tue Oct 5 14:58:49 2010 +0300 wl1271: remove deprecated __attribute__ ((packed)) One __attribute__ ((packed)) has been accidentally introduced in commit be86cbea1e9c3a4dd8faedcfa327495d09fe3531. This patch changes it to __packed. Signed-off-by: Luciano Coelho commit 644a48607cd40954b6fb095b39a3ccaa0204191e Author: Juuso Oikarinen Date: Tue Oct 5 13:11:56 2010 +0200 wl1271: Add extended radio parameter initialization Currently a command to initialize extended radio parameter tables in the hardware is missing. Add the initialization Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit d25611da0c75c4b0f72c73d66887d0470aacef40 Author: Juuso Oikarinen Date: Thu Sep 30 10:43:27 2010 +0200 wl1271: Indicate disconnection on hardware failure In the event of a hardware failure, reconfiguring a live connection back with the wl1271 chip does not work as expected. The chip has management features which require setting up the association from scratch to work correctly. To ensure this is done every time, in managed mode, when associated, indicate connection loss to the mac80211 before asking to reconfigure the hardware. Signed-off-by: Juuso Oikarinen Tested-by: Tuomas Katila Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 117b38d0b9d3efb0adc3e636e73fc67bb53a13d1 Author: Juuso Oikarinen Date: Thu Sep 30 10:43:28 2010 +0200 wl1271: Move work-init calls to hw allocation Due to legacy reason, dating back to when the wl1251 and wl1271 still were a unified driver, some work-structures are initialized on hardware startup. The hardware recovery code creates a scenario in which it is possible for a workstruct to be re-initialized while the work-function itself is running, which causes a kernel WARNing and a subsequent reboot. To remedy this, move the work initialization calls to the hw allocation, which is the logically correct place for them anyway. Signed-off-by: Juuso Oikarinen Tested-by: Tuomas Katila Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit a19606b4333ff34e9b2863f37c20fe86b42be14c Author: Ido Yariv Date: Thu Sep 30 13:28:28 2010 +0200 wl1271: Support firmware TX packet aggregation Instead of sending one packet at a time to the firmware, try to send all available packets at once. This optimization decreases the number of transactions, which saves CPU cycles and increases network throughput. Signed-off-by: Ido Yariv Tested-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 1f37cbc9363462c99794699442da39f36be0aaf7 Author: Ido Yariv Date: Thu Sep 30 13:28:27 2010 +0200 wl1271: Support firmware RX packet aggregation Instead of retrieving one packet at a time from the firmware, try to retrieve all available packets at once. This optimization decreases the number of transactions, which saves CPU cycles and increases network throughput. Signed-off-by: Ido Yariv Tested-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 5c57a901dc96fc81d0041282269b43542f170d2a Author: Ido Yariv Date: Thu Sep 30 13:28:26 2010 +0200 wl1271: Handle large SPI transfers The HW supports up to 4095 bytes transfers via SPI. The SPI read & write operations do not handle larger transfers, causing the HW to stall in such cases. Fix this by fragmenting large transfers into smaller chunks, and transferring each one separately. Signed-off-by: Ido Yariv Tested-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit 2be6bb0c79c7fbda3425b65ee51c558bbaf4cf91 Author: Paul Mundt Date: Tue Oct 5 22:10:30 2010 +0900 sh: intc: Split up the INTC code. This splits up the sh intc core in to something more vaguely resembling a subsystem. Most of the functionality was alread fairly well compartmentalized, and there were only a handful of interdependencies that needed to be resolved in the process. This also serves as future-proofing for the genirq and sparseirq rework, which will make some of the split out functionality wholly generic, allowing things to be killed off in place with minimal migration pain. Signed-off-by: Paul Mundt commit 2a48fc0ab24241755dc93bfd4f01d68efab47f5a Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 block: autoconvert trivial BKL users to private mutex The block device drivers have all gained new lock_kernel calls from a recent pushdown, and some of the drivers were already using the BKL before. This turns the BKL into a set of per-driver mutexes. Still need to check whether this is safe to do. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann commit 613655fa39ff6957754fa8ceb8559980920eb8ee Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 drivers: autoconvert trivial BKL users to private mutex All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. These drivers do not seem to be under active maintainance from my brief investigation. Apologies to those maintainers that I have missed. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann commit e0e9b406470b8dd75a115cf82c4791f41615c4c3 Author: Jason Wang Date: Tue Sep 14 23:53:05 2010 +0800 vhost: max s/g to match qemu Qemu supports up to UIO_MAXIOV s/g so we have to match that because guest drivers may rely on this. Allocate indirect and log arrays dynamically to avoid using too much contigious memory and make the length of hdr array to match the header length since each iovec entry has a least one byte. Test with copying large files w/ and w/o migration in both linux and windows guests. Signed-off-by: Jason Wang Signed-off-by: Michael S. Tsirkin commit d74310d3b18aabbb7d0549ea9e3fd3259c1dce00 Author: Paul Mundt Date: Tue Oct 5 18:13:23 2010 +0900 sh: intc: Handle early lookups of subgroup IRQs. If lookups happen while the radix node still points to a subgroup mapping, an IRQ hasn't yet been made available for the specified id, so error out accordingly. Once the slot is replaced with an IRQ mapping and the tag is discarded, lookup can commence as normal. Signed-off-by: Paul Mundt commit 5a44a73b9015e89cfb280ba0534dfcbf1ef29d05 Author: Felipe Contreras Date: Fri Sep 24 15:22:23 2010 +0200 autofs4: Only declare function when CONFIG_COMPAT is defined The patch solves the following warnings message when CONFIG_COMPAT is not defined: fs/autofs4/root.c:31: warning: ‘autofs4_root_compat_ioctl’ declared ‘static’ but never defined Signed-off-by: Felipe Contreras Cc: Ian Kent Cc: "H. Peter Anvin" Cc: Arnd Bergmann Signed-off-by: Frederic Weisbecker Signed-off-by: Arnd Bergmann commit 26daad8067f976a6e3622b42b0d80de9a53e8ad9 Author: MĂ¡rton NĂ©meth Date: Fri Sep 24 15:22:22 2010 +0200 autofs: Only declare function when CONFIG_COMPAT is defined The patch solves the following warnings message when CONFIG_COMPAT is not defined: fs/autofs/root.c:30: warning: ‘autofs_root_compat_ioctl’ declared ‘static’ but never defined Signed-off-by: MĂ¡rton NĂ©meth Cc: "H. Peter Anvin" Cc: Arnd Bergmann Signed-off-by: Frederic Weisbecker Signed-off-by: Arnd Bergmann commit 2a4df5d33202e99c015928bf2a2dfd8ad03e53bc Author: Petr Vandrovec Date: Wed Sep 29 14:39:11 2010 +0200 ncpfs: Lock socket in ncpfs while setting its callbacks Otherwise partially updated pointers could be seen if pointer update is not atomic. Signed-off-by: Petr Vandrovec Signed-off-by: Arnd Bergmann commit b89f432133851a01c0d28822f11cbdcc15781a75 Author: Arnd Bergmann Date: Sat Sep 18 15:09:31 2010 +0200 fs/locks.c: prepare for BKL removal This prepares the removal of the big kernel lock from the file locking code. We still use the BKL as long as fs/lockd uses it and ceph might sleep, but we can flip the definition to a private spinlock as soon as that's done. All users outside of fs/lockd get converted to use lock_flocks() instead of lock_kernel() where appropriate. Based on an earlier patch to use a spinlock from Matthew Wilcox, who has attempted this a few times before, the earliest patch from over 10 years ago turned it into a semaphore, which ended up being slower than the BKL and was subsequently reverted. Someone should do some serious performance testing when this becomes a spinlock, since this has caused problems before. Using a spinlock should be at least as good as the BKL in theory, but who knows... Signed-off-by: Arnd Bergmann Acked-by: Matthew Wilcox Cc: Christoph Hellwig Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Andrew Morton Cc: Miklos Szeredi Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: John Kacur Cc: Sage Weil Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org commit cdadf0097cdca06c497ffaeb5982e028c6e4ed38 Author: Tejun Heo Date: Tue Oct 5 10:49:55 2010 +0200 workqueue: add queue_work and activate_work trace points These two tracepoints allow tracking when and how a work is queued and activated. This patch is based on Frederic's patch to add queue_work trace point. Signed-off-by: Tejun Heo Cc: Frederic Weisbecker commit 97bd234701b2b39a0e749c1fe0e44f1d14c94292 Author: Tejun Heo Date: Tue Oct 5 10:41:14 2010 +0200 workqueue: prepare for more tracepoints Define workqueue_work event class and use it for workqueue_execute_end trace point. Also, move trace/events/workqueue.h include downwards such that all struct definitions are visible to it. This is to prepare for more tracepoints and doesn't cause any functional change. Signed-off-by: Tejun Heo Cc: Frederic Weisbecker commit a00eac0c459abecb539fb2a2abd3122dd7ca5d4a Author: David S. Miller Date: Tue Oct 5 01:36:52 2010 -0700 ppp: Use a real SKB control block in fragmentation engine. Do this instead of subverting fields in skb proper. The macros that could very easily match variable or function names were also just asking for trouble. Signed-off-by: David S. Miller commit c62f981f9309486ba5546edbb5925f71e441fa65 Author: Andi Kleen Date: Fri Oct 1 14:18:47 2010 -0700 perf, gcc-4.6: Fix set but unused variable Just dead code I believe. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Cc: andi@firstfloor.org Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit c61393ea83573ff422af505b6fd49ef9ec9b91ca Author: stephen hemminger Date: Mon Oct 4 20:17:53 2010 +0000 ipv6: make __ipv6_isatap_ifid static Another exported symbol only used in one file Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 1df9916e46451533463f227e6be57cc2cfca4c5f Author: stephen hemminger Date: Mon Oct 4 20:14:17 2010 +0000 fib: fib_rules_cleanup can be static fib_rules_cleanup_ups is only defined and used in one place. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 6a31d2a97c04ffe9b161ec0177a2296366ff9249 Author: Eric Dumazet Date: Mon Oct 4 20:00:18 2010 +0000 fib: cleanups Code style cleanups before upcoming functional changes. C99 initializer for fib_props array. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e3d32687a624845e97f9717d9d2027b44b8c49a2 Author: stephen hemminger Date: Mon Oct 4 19:59:59 2010 +0000 wimax: make functions local Make wimax variables and functions local if possible. Compile tested only. This also removes a couple of unused EXPORT_SYMBOL. If this breaks some out of tree code, please fix that by putting the code in the kernel tree. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit debf279a81c93d6942a50ec0fd3ba1f158b109fb Author: stephen hemminger Date: Mon Oct 4 15:44:30 2010 +0000 qlcnic: remove dead code This driver has several pieces of dead code (found by running make namespacecheck). This patch removes them. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ee624599d32bc698212d3c04faf908dc01a40457 Author: Nicolas Kaiser Date: Mon Oct 4 04:35:39 2010 +0000 caif: remove duplicated include Remove duplicated include. Signed-off-by: Nicolas Kaiser Acked-by: Sjur Braendeland Signed-off-by: David S. Miller commit 00e8976200665eec2fa9264d61885b4d1384d4f0 Merge: 540804b 0f940cb Author: Ingo Molnar Date: Tue Oct 5 09:47:14 2010 +0200 Merge branch 'perf/urgent' into perf/core Conflicts: tools/perf/util/ui/browsers/hists.c Merge reason: fix the conflict and merge in changes for dependent patch. Signed-off-by: Ingo Molnar commit 10ff4c682972bf714c03ea71e169472cdc329a1e Author: Uwe Kleine-König Date: Sun Oct 3 23:43:33 2010 +0000 don't let BCM63XX_PHY depend on non-existant symbol The kernel doesn't have a symbol called BCM63XX. There is a symbol BCM63XX_ENET (introduced in 9b1fc55a0500, 6 weeks after 09bb9aa0ed that introduced BCM63XX_PHY), but the driver compiles without that, too. Cc: Maxime Bizon Cc: Florian Fainelli Cc: David S. Miller Cc: Ralf Baechle Signed-off-by: Uwe Kleine-König Signed-off-by: David S. Miller commit cf93c94581bab447a5634c6d737c1cf38c080261 Author: Uwe Kleine-König Date: Sun Oct 3 23:43:32 2010 +0000 net/phy: fix many "defined but unused" warnings MODULE_DEVICE_TABLE only expands to something if it's compiled for a module. So when building-in support for the phys, the mdio_device_id tables are unused. Marking them with __maybe_unused fixes the following warnings: drivers/net/phy/bcm63xx.c:134: warning: 'bcm63xx_tbl' defined but not used drivers/net/phy/broadcom.c:933: warning: 'broadcom_tbl' defined but not used drivers/net/phy/cicada.c:162: warning: 'cicada_tbl' defined but not used drivers/net/phy/davicom.c:222: warning: 'davicom_tbl' defined but not used drivers/net/phy/et1011c.c:114: warning: 'et1011c_tbl' defined but not used drivers/net/phy/icplus.c:137: warning: 'icplus_tbl' defined but not used drivers/net/phy/lxt.c:226: warning: 'lxt_tbl' defined but not used drivers/net/phy/marvell.c:724: warning: 'marvell_tbl' defined but not used drivers/net/phy/micrel.c:234: warning: 'micrel_tbl' defined but not used drivers/net/phy/national.c:154: warning: 'ns_tbl' defined but not used drivers/net/phy/qsemi.c:141: warning: 'qs6612_tbl' defined but not used drivers/net/phy/realtek.c:82: warning: 'realtek_tbl' defined but not used drivers/net/phy/smsc.c:257: warning: 'smsc_tbl' defined but not used drivers/net/phy/ste10Xp.c:135: warning: 'ste10Xp_tbl' defined but not used drivers/net/phy/vitesse.c:195: warning: 'vitesse_tbl' defined but not used Signed-off-by: Uwe Kleine-König Signed-off-by: David S. Miller commit 29fa060eab3f524d338566d34c1d9e704579ae5e Author: David S. Miller Date: Tue Oct 5 00:29:48 2010 -0700 net: relax rtnl_dereference() rtnl_dereference() is used in contexts where RTNL is held, to fetch an RCU protected pointer. Updates to this pointer are prevented by RTNL, so we dont need smp_read_barrier_depends() and the ACCESS_ONCE() provided in rcu_dereference_check(). rtnl_dereference() is mainly a macro to document the locking invariant. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 13f5bf18ba657d2d17c8fcf584e50359c718dd4b Author: David S. Miller Date: Tue Oct 5 00:27:05 2010 -0700 ipvs: Use frag walker helper in SCTP proto support. Signed-off-by: David S. Miller Acked-by: Simon Horman commit 24824a09e35402b8d58dcc5be803a5ad3937bdba Author: Eric Dumazet Date: Sat Oct 2 06:11:55 2010 +0000 net: dynamic ingress_queue allocation ingress being not used very much, and net_device->ingress_queue being quite a big object (128 or 256 bytes), use a dynamic allocation if needed (tc qdisc add dev eth0 ingress ...) dev_ingress_queue(dev) helper should be used only with RTNL taken. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 45605a87b3f34fb71bbc6446e2d49a469e9e10dd Merge: a09f73f 6c20c80 Author: Takashi Iwai Date: Tue Oct 5 07:50:11 2010 +0200 Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 0bd9e6a964d86a19f54a9ba31168a37d64e451d1 Author: Sritej Velaga Date: Mon Oct 4 04:20:16 2010 +0000 qlcnic: set mtu lower limit Setting mtu < 68 is not supported. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit aef3d898276e046bfa877cd20b8ee269b85161cd Author: Sritej Velaga Date: Mon Oct 4 04:20:15 2010 +0000 qlcnic: cleanup port mode setting Port mode setting is not required for Qlogic CNA adapters. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit a1c0c459918e8c8ce152deba84f9ed27d7eb0e53 Author: Sucheta Chakraborty Date: Mon Oct 4 04:20:14 2010 +0000 qlcnic: sparse warning fixes Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7e56cac4b68805470849ba373dd313ba0e7cdb81 Author: Sucheta Chakraborty Date: Mon Oct 4 04:20:13 2010 +0000 qlcnic: fix vlan TSO on big endian machine o desc->vlan_tci is in __le16 format. Doing htons and cpu_to_le64 again on vlan_tci, result in invalid value on ppc. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit b501595cbb8afeaa9aaa870b3d29ef051403511a Author: Sucheta Chakraborty Date: Mon Oct 4 04:20:12 2010 +0000 qlcnic: fix endianess for lro ipaddress in ifa->ifa_address field are in big endian format. Also device requires ip address in big endian only. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit c265eb6ecb63e4b3a6b86b617fa7fd955a0e0980 Author: Amit Kumar Salecha Date: Mon Oct 4 04:20:11 2010 +0000 qlcnic: fix diag register regs_buff[i] and diag_registers[j] array should use different index variable. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit ef1828058b8a37f7005be677686727bbbde77f6a Author: Amit Kumar Salecha Date: Mon Oct 4 04:20:10 2010 +0000 qlcnic: fix eswitch stats Some of the counters are not implemented in fw. Fw return NOT AVAILABLE VALUE as (0xffffffffffffffff). Adding these counters, result in invalid value. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 31dee692e22eedaf2540fa543fa9c91df6ab8bda Author: Amit Kumar Salecha Date: Mon Oct 4 04:20:09 2010 +0000 qlcnic: fix internal loopback test o Loop 10 times with delay of 1 ms to rcv packet. o Print garbage packet. o Try send/receive MAX(16) packet, instead of exit from test, if a packet is not received. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 94774b28490daf514a4e62fd746315b5089158ff Author: Troy Kisky Date: Sun Oct 3 16:44:19 2010 -0500 ALSA: ASoc: DaVinci Delay start of ASP to trigger Since only 4 mainline ASoC codecs support the trigger callback, we cannot rely upon them stopping the frame clock if they are master and must assume it is running even if the sound is paused. Thus we cannot start the ASP until the trigger method. Signed-off-by: Troy Kisky Signed-off-by: Martin Ambrose Signed-off-by: Mark Brown commit 63509e3c03ae22000c642e33b5006769d1b5db86 Author: Tony Lindgren Date: Mon Oct 4 16:58:01 2010 -0700 omap: Keep nwires for omap1 and 2420 MMC controller A patch from Sukumar Ghorai changed the nwires to use caps instead. However, nwires is still needed for the earlier controller. Signed-off-by: Tony Lindgren Acked-by: Sukumar Ghorai Signed-off-by: Ming Lei commit eecc545856c8a0f27783a440d25f4ceaa1f95ce8 Author: Patrick McHardy Date: Mon Oct 4 23:24:21 2010 +0200 netfilter: add missing xt_log.h file Forgot to add xt_log.h in commit a8defca0 (netfilter: ipt_LOG: add bufferisation to call printk() once) Signed-off-by: Patrick McHardy commit a9fda02bfc91a281cd812ae15dabe6bfb9574f90 Merge: aa30900 ec706da Author: Russell King Date: Mon Oct 4 22:23:26 2010 +0100 Merge branch 'for_rmk' of git://git.linaro.org/kernel/linux-linaro-next into devel-stable commit f68c53015c5b9aa98ffd87a34009f89bdbbd7160 Author: Changli Gao Date: Mon Oct 4 22:24:12 2010 +0200 netfilter: unregister nf hooks, matches and targets in the reverse order Since we register nf hooks, matches and targets in order, we'd better unregister them in the reverse order. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit c4e259c859538e94007d1f04a488540375189551 Author: Will Deacon Date: Mon Sep 13 16:19:41 2010 +0100 ARM: 6386/1: flush_ptrace_access: invalidate correct I-cache alias copy_to_user_page can be used by access_process_vm to write to an executable page of a process using a mapping acquired by kmap. For systems with I-cache aliasing, flushing the I-cache using the Kernel mapping may leave stale data in the I-cache if the user mapping is of a different colour. This patch introduces a flush_icache_alias function to flush.c, which calls flush_icache_range with a mapping of the specified colour. flush_ptrace_access is then modified to call this new function instead of coherent_kern_range in the case of an aliasing I-cache and a non-aliasing D-cache. Signed-off-by: Will Deacon Signed-off-by: Russell King commit 8925ec4c530094b878e7e28a1fd78e7122afd973 Author: Will Deacon Date: Mon Sep 13 16:18:30 2010 +0100 ARM: 6385/1: setup: detect aliasing I-cache when D-cache is non-aliasing Currently, the Kernel assumes that if a CPU has a non-aliasing D-cache then the I-cache is also non-aliasing. This may not be true on ARM cores from v6 onwards, which may have aliasing I-caches but non-aliasing D-caches. This patch adds a cpu_has_aliasing_icache function, which is called from cacheid_init and adds CACHEID_VIPT_I_ALIASING to the cacheid when appropriate. A utility macro, icache_is_vipt_aliasing(), is also provided. Signed-off-by: Will Deacon Signed-off-by: Russell King commit 100642c7b6971fb4ab69a662f4f60970e3a16dfd Author: Linus Walleij Date: Mon Sep 6 09:16:44 2010 +0100 ARM: 6366/1: Update U300 defconfig This mainly removes a lot of unused subsystems (as for the mainline drivers) in the U300 defconfig, switch of MMC debugging by default and enables debugfs on the builds. Once we merge the drivers we'll configure it on again. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a09f73fabbeac81f45969ad9ed59e74fae736873 Author: Jarkko Nikula Date: Mon Oct 4 15:04:53 2010 +0300 omap: devices: Avoid merge conflict between ASoC and OMAP hwmod changes Upcoming ASoC multi-component and OMAP hwmod changes will conflict in arch/arm/mach-omap2/devices.c. Avoid this by moving a little bit include statement introduced by ASoC Multi-Component Support patch. Signed-off-by: Jarkko Nikula Cc: Paul Walmsley Cc: Tony Lindgren Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit c1e30ad98fe210688edca872686db4a715c2fb23 Author: Paul Mundt Date: Tue Oct 5 04:47:03 2010 +0900 sh: intc: Support virtual mappings for IRQ subgroups. Many interrupts that share a single mask source but are on different hardware vectors will have an associated register tied to an INTEVT that denotes the precise cause for the interrupt exception being triggered. This introduces the concept of IRQ subgroups in the intc core, where a virtual IRQ map is constructed for each of the pre-defined cause bits, and a higher level chained handler takes control of the parent INTEVT. This enables CPUs with heavily muxed IRQ vectors (especially across disjoint blocks) to break things out in to a series of managed chained handlers while being able to dynamically lookup and adopt the IRQs created for them. This is largely an opt-in interface, requiring CPUs to manually submit IRQs for subgroup splitting, in addition to providing identifiers in their enum maps that can be used for lazy lookup via the radix tree. Signed-off-by: Paul Mundt commit 8ed9059533eb89b4372d7fc31b6565c053e5253b Author: Maxim Osipov Date: Wed Sep 15 11:54:49 2010 +0100 ARM: 6393/1: AT91: Add flexibity board support This patch adds support for Flexibity Connect platform from http://www.flexibity.com/ (AT91SAM9260 based). Signed-off-by: Maxim Osipov Acked-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: Andrew Victor Signed-off-by: Russell King commit 81d11955bf0b5ae25e3adbec930cd84840385dae Author: Tony Lindgren Date: Tue Sep 21 17:16:40 2010 +0100 ARM: 6405/1: Handle __flush_icache_all for CONFIG_SMP_ON_UP Do this by adding flush_icache_all to cache_fns for ARMv6 and 7. As flush_icache_all may neeed to be called from flush_kern_cache_all, add it as the first entry in the cache_fns. Note that now we can remove the ARM_ERRATA_411920 dependency to !SMP so it can be selected on UP ARMv6 processors, such as omap2. Signed-off-by: Tony Lindgren Signed-off-by: Anand Gadiyar Signed-off-by: Russell King commit f9e417e901e891d139f4d5fd750959e4a862d9f7 Author: Tony Lindgren Date: Tue Sep 21 00:43:19 2010 +0100 ARM: 6402/1: Don't send IPI in smp_send_stop if there's only one CPU No need to send IPI if there's one CPU, especially when booting systems with CONFIG_SMP_ON_UP that may not even support IPI. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f00ec48fadf5e37e7889f14cff900aa70d18b644 Author: Russell King Date: Sat Sep 4 10:47:48 2010 +0100 ARM: Allow SMP kernels to boot on UP systems UP systems do not implement all the instructions that SMP systems have, so in order to boot a SMP kernel on a UP system, we need to rewrite parts of the kernel. Do this using an 'alternatives' scheme, where the kernel code and data is modified prior to initialization to replace the SMP instructions, thereby rendering the problematical code ineffectual. We use the linker to generate a list of 32-bit word locations and their replacement values, and run through these replacements when we detect a UP system. Signed-off-by: Russell King commit 067173526c3bbc2eaeefcf6b7b2a9d998b9e8042 Author: Russell King Date: Sat Sep 4 16:14:20 2010 +0100 ARM: Provide common header for hard_smp_processor_id() Provide a common header to read the SMP CPU number from the MPIDR. Signed-off-by: Russell King commit 971acb9b420ea1662dd3c48184c4315f87643be5 Author: Russell King Date: Sat Sep 4 08:16:30 2010 +0100 ARM: Simplify SMP/SCU/TWD dependencies All platforms which currently support SMP also support the ARM SCU and ARM TWD blocks, so it's pointless to make these config symbols conditional on the platform symbols which SMP is already conditional on. Signed-off-by: Russell King commit 055d1965161bde96207371e7d31eb776c0f7790d Author: Uwe Kleine-König Date: Thu Sep 2 09:14:21 2010 +0100 ARM: 6349/1: sa1111: move __sa1111_probe() to .devinit.text __sa1111_probe is only called by sa1111_probe that lives in .devinit.text. So it's save to move the former to .devinit.text, too. Acked-by: Kristoffer Ericson Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 9f5336915bc47947230290a1a384de95803f815a Author: Alexander Shishkin Date: Wed Aug 4 11:26:27 2010 +0100 ARM: 6293/1: coresight: cosmetic fixes Use BIT() macro whenever it is sensible to do so. Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Alexander Shishkin Signed-off-by: Russell King commit 8234eaef8002cb8ba30920949b338d692508137a Author: Alexander Shishkin Date: Wed Aug 4 11:22:43 2010 +0100 ARM: 6291/1: coresight: move struct tracectx inside etm driver This is done so as to be able to make use of the coresight components' registers in assembler code (like omap sleep code). Also, there shouldn't be any users of this structure outside the etm driver. Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Alexander Shishkin Signed-off-by: Russell King commit 2e54eb96e2c801f33d95b5dade15212ac4d6c4a5 Author: Petr Vandrovec Date: Mon Sep 27 01:47:33 2010 +0200 BKL: Remove BKL from ncpfs Dozen of changes in ncpfs to provide some locking other than BKL. In readdir cache unlock and mark complete first page as last operation, so it can be used for synchronization, as code intended. When updating dentry name on case insensitive filesystems do at least some basic locking... Hold i_mutex when updating inode fields. Push some ncp_conn_is_valid down to ncp_request. Connection can become invalid at any moment, and fewer error code paths to test the better. Use i_size_{read,write} to modify file size. Set inode's backing_dev_info as ncpfs has its own special bdi. In ioctl unbreak ioctls invoked on filesystem mounted 'ro' - tests are for inode writeable or owner match, but were turned to filesystem writeable and inode writeable or owner match. Also collect all permission checks in single place. Add some locking, and remove comments saying that it would be cool to add some locks to the code. Constify some pointers. Signed-off-by: Petr Vandrovec Signed-off-by: Arnd Bergmann commit 60056794127a25d641465b706e8828186f7a2e1f Author: Arnd Bergmann Date: Wed Feb 24 13:25:33 2010 +0100 BKL: Remove BKL from OCFS2 The BKL in ocfs2/dlmfs is used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. The use in ocfs2_control_open is evidently unrelated and the function is protected by ocfs2_control_lock. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: Mark Fasheh Cc: Joel Becker commit 3dbc4b32d0b39701cbec65582e196a20889155fb Author: Arnd Bergmann Date: Thu Sep 16 15:35:54 2010 +0200 BKL: Remove BKL from squashfs The BKL is only used in put_super and fill_super, which are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: Phillip Lougher commit 1a028dd2dd589c3924d9711a1b073a13c820b6b5 Author: Arnd Bergmann Date: Thu Sep 16 16:11:09 2010 +0200 BKL: Remove BKL from jffs2 The BKL is only used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: David Woodhouse commit 18dfe89d7c394b56e20e06dde8b7a80ff96cf02c Author: Arnd Bergmann Date: Thu Sep 16 15:35:54 2010 +0200 BKL: Remove BKL from ecryptfs The BKL is only used in fill_super, which is protected by the superblocks s_umount rw_semaphorei, and in fasync, which does not do anything that could require the BKL. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: Dustin Kirkland Cc: Tyler Hicks Cc: ecryptfs-devel@lists.launchpad.net commit 77f2fe036cd51300c80d1aca76bcf23a09977f13 Author: Arnd Bergmann Date: Thu Sep 16 15:35:54 2010 +0200 BKL: Remove BKL from afs The BKL is only used in put_super and fill_super, which are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: linux-afs@lists.infradead.org Cc: David Howells commit cdbd2b013d2814ad39e893316943fb58e6d9ec23 Author: Arnd Bergmann Date: Thu Sep 16 15:35:54 2010 +0200 BKL: Remove BKL from USB gadgetfs The BKL is only used in fill_super, which is protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Arnd Bergmann Cc: David Brownell Cc: linux-usb@vger.kernel.org commit 00e300e1b682ea86fcb5216250722afd42686ab3 Author: Arnd Bergmann Date: Tue Sep 14 23:00:34 2010 +0200 BKL: Remove BKL from autofs4 autofs4 uses the BKL only to guard its ioctl operations. This can be trivially converted to use a mutex, as we have done with most device drivers before. Signed-off-by: Arnd Bergmann Cc: "H. Peter Anvin" Cc: Ian Kent commit 4f819a7899b06afcd7623ab9d00fd81503ad3e24 Author: Arnd Bergmann Date: Sun Sep 12 19:05:56 2010 +0200 BKL: Remove BKL from isofs As in other file systems, we can replace the big kernel lock with a private mutex in isofs. This means we can now access multiple file systems concurrently, but it also means that we serialize readdir and lookup across sleeping operations which previously released the big kernel lock. This should not matter though, as these operations are in practice serialized through the hardware access. The isofs_get_blocks functions now does not take any lock any more, it used to recursively get the BKL. After looking at the code for hours, I convinced myself that it was never needed here anyway, because it only reads constant fields of the inode and writes to a buffer head array that is at this time only visible to the caller. The get_sb and fill_super operations do not need the locking at all because they operate on a file system that is either about to be created or to be destroyed but in either case is not visible to other threads. Signed-off-by: Arnd Bergmann commit 3768744cfea7b995dce27f02341161fbfdfee80c Author: Arnd Bergmann Date: Tue Sep 14 23:07:27 2010 +0200 BKL: Remove BKL from fat The lock_kernel in fat_put_super is not needed because it only protects the super block itself and we know that no other thread can reach it because we are about to kfree the object. In the two fill_super functions, this converts the locking to use lock_super like elsewhere in the fat code. This is probably not needed either, but is consistent and puts us on the safe side. Signed-off-by: Arnd Bergmann Cc: OGAWA Hirofumi Cc: Jan Blunck commit 3e44f9f1dc19e2b8d4f7ca3b3c63e976b22ad372 Author: Jan Blunck Date: Wed Feb 24 13:25:35 2010 +0100 BKL: Remove BKL from ext2 filesystem The BKL is still used in ext2_put_super(), ext2_fill_super(), ext2_sync_fs() ext2_remount() and ext2_write_inode(). From these calls ext2_put_super(), ext2_fill_super() and ext2_remount() are protected against each other by the struct super_block s_umount rw semaphore. The call in ext2_write_inode() could only protect the modification of the ext2_sb_info through ext2_update_dynamic_rev() against concurrent ext2_sync_fs() or ext2_remount(). ext2_fill_super() and ext2_put_super() can be left out because you need a valid filesystem reference in all three cases, which you do not have when you are one of these functions. If the BKL is only protecting the modification of the ext2_sb_info it can safely be removed since this is protected by the struct ext2_sb_info s_lock. Signed-off-by: Jan Blunck Cc: Jan Kara Signed-off-by: Arnd Bergmann commit 6841c05021236b8d394cc6c41aa6ae17623aef13 Author: Jan Blunck Date: Wed Feb 24 13:25:35 2010 +0100 BKL: Remove BKL from do_new_mount() After pushing down the BKL to the get_sb/fill_super operations of the filesystems that still make usage of the BKL it is safe to remove it from do_new_mount(). I've read through all the code formerly covered by the BKL inside do_kern_mount() and have satisfied myself that it doesn't need the BKL any more. Signed-off-by: Jan Blunck Cc: Matthew Wilcox Signed-off-by: Arnd Bergmann commit 38d018dba3f725b969f196550d92a6ec1c092428 Author: Jan Blunck Date: Wed Feb 24 13:25:34 2010 +0100 BKL: Remove BKL from cgroup The BKL is only used in remount_fs and get_sb that are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit efdffb54034a6fc96bc7fafa33ca2a5503113eee Author: Jan Blunck Date: Wed Feb 24 13:25:33 2010 +0100 BKL: Remove BKL from NTFS The BKL is only used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit d6d4c19c5f9ac5972e30e89b3c81ad1fd6e11fee Author: Jan Blunck Date: Wed Feb 24 13:25:32 2010 +0100 BKL: Remove BKL from NILFS2 The BKL is only used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit 22b26db6f82bfa9a7f2b44443af3b5541927a130 Author: Jan Blunck Date: Wed Feb 24 13:25:31 2010 +0100 BKL: Remove BKL from JFS The BKL is only used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit 8526fb37c907f8f4eb9965367af6aeec76aedbce Author: Jan Blunck Date: Wed Feb 24 13:25:30 2010 +0100 BKL: Remove BKL from HFS The BKL is only used in put_super and fill_super that are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit f2143c4e2ebc6be3f07b7c7527dae7313fde23e1 Author: Jan Blunck Date: Wed Feb 24 13:25:30 2010 +0100 BKL: Remove BKL from ext4 filesystem The BKL is still used in ext4_put_super(), ext4_fill_super() and ext4_remount(). All three calles are protected against concurrent calls by the s_umount rw semaphore of struct super_block. Therefore the BKL is protecting nothing in this case. Signed-off-by: Jan Blunck Acked-by: "Theodore Ts'o" Signed-off-by: Arnd Bergmann commit 77b54a46a83232d172d55013c3af838190615260 Author: Jan Blunck Date: Wed Feb 24 13:25:30 2010 +0100 BKL: Remove BKL from ext3_put_super() and ext3_remount() The BKL lock is protecting the remounting against a potential call to ext3_put_super(). This could not happen, since this is protected by the s_umount rw semaphore of struct super_block. Therefore I think the BKL is protecting nothing here. Signed-off-by: Jan Blunck Acked-by: Jan Kara Signed-off-by: Arnd Bergmann commit d646cf82e9b6a58ba2d748e66e5fc7223830c68c Author: Jan Blunck Date: Wed Feb 24 13:25:29 2010 +0100 BKL: Remove BKL from ext3 fill_super() The BKL is protecting nothing than two memory allocations here. Signed-off-by: Jan Blunck Acked-by: Jan Kara Signed-off-by: Arnd Bergmann commit b0991aa324b57dca8feef75ed75b24080ee4a9fc Author: Jan Blunck Date: Wed Feb 24 13:25:29 2010 +0100 BKL: Remove BKL from CifsFS The BKL is only used in put_super and fill_super that are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Cc: Steve French Signed-off-by: Arnd Bergmann commit ba13d597a60a1a26614f18b76c1a2cad1a548e46 Author: Jan Blunck Date: Wed Feb 24 13:25:29 2010 +0100 BKL: Remove BKL from BFS The BKL is only used in put_super and fill_super that are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit 74c41429ae5889933a2b9b9d0d2f687baa410766 Author: Jan Blunck Date: Sun Aug 15 22:52:36 2010 +0200 BKL: Remove BKL from Amiga FFS The BKL is only used in put_super, fill_super and remount_fs that are all three protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann commit db71922217a214e5c9268448e537b54fc1f301ea Author: Jan Blunck Date: Sun Aug 15 22:51:10 2010 +0200 BKL: Explicitly add BKL around get_sb/fill_super This patch is a preparation necessary to remove the BKL from do_new_mount(). It explicitly adds calls to lock_kernel()/unlock_kernel() around get_sb/fill_super operations for filesystems that still uses the BKL. I've read through all the code formerly covered by the BKL inside do_kern_mount() and have satisfied myself that it doesn't need the BKL any more. do_kern_mount() is already called without the BKL when mounting the rootfs and in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called from various places without BKL: simple_pin_fs(), nfs_do_clone_mount() through nfs_follow_mountpoint(), afs_mntpt_do_automount() through afs_mntpt_follow_link(). Both later functions are actually the filesystems follow_link inode operation. vfs_kern_mount() is calling the specified get_sb function and lets the filesystem do its job by calling the given fill_super function. Therefore I think it is safe to push down the BKL from the VFS to the low-level filesystems get_sb/fill_super operation. [arnd: do not add the BKL to those file systems that already don't use it elsewhere] Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann Cc: Matthew Wilcox Cc: Christoph Hellwig commit e55df53dd62c73185af46fb6ffa7074b05ceefc4 Author: Nicolas Kaiser Date: Mon Oct 4 21:00:42 2010 +0200 netfilter: remove duplicated include Remove duplicated include. Signed-off-by: Nicolas Kaiser Signed-off-by: Patrick McHardy commit 21a180cda012e1f93e362dd4a9b0bfd3d8c92940 Merge: c7d4426 51e97a1 Author: David S. Miller Date: Mon Oct 4 11:56:38 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/ipv4/Kconfig net/ipv4/tcp_timer.c commit a8defca048fd11eb2d1a17ab61a60a856292dd4e Author: Eric Dumazet Date: Mon Oct 4 20:56:05 2010 +0200 netfilter: ipt_LOG: add bufferisation to call printk() once ipt_LOG & ip6t_LOG use lot of calls to printk() and use a lock in a hope several cpus wont mix their output in syslog. printk() being very expensive [1], its better to call it once, on a prebuilt and complete line. Also, with mixed IPv4 and IPv6 trafic, separate IPv4/IPv6 locks dont avoid garbage. I used an allocation of a 1024 bytes structure, sort of seq_printf() but with a fixed size limit. Use a static buffer if dynamic allocation failed. Emit a once time alert if buffer size happens to be too short. [1]: printk() has various features like printk_delay()... Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 0c200d935346fe0ebde9b6dffbb683dddd166fb9 Author: Stephen Hemminger Date: Mon Oct 4 20:53:18 2010 +0200 netfilter: nf_nat: make find/put static The functions nf_nat_proto_find_get and nf_nat_proto_put are only used internally in nf_nat_core. This might break some out of tree NAT module. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy commit 1d7e3565946bf23fef5b3219be7df63b314478a2 Author: Rabin Vincent Date: Wed Sep 29 16:01:08 2010 +0100 ARM: 6418/1: ux500: rename DB8500 DMA event line macros Change the DMA event line macros to have the name of the SoC. Also, have the event line number encoded in the macro since on DB5500 several event lines are present at multiple alternate numbers. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit e81fcc97350755e021c85b816877ae292b8f28d0 Author: Linus Walleij Date: Tue Sep 28 15:45:41 2010 +0100 ARM: 6417/1: ux500: build configuration for DB5500 mbox and modem irq handler This rounds of the DB5500 mailbox patches by adding the Kconfig options to enable the modem IRQs and mailboxes. Signed-off-by: Stefan Nilsson XK Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 38cdfe06630a109a7a38b70c3cd208defd9f5711 Author: Linus Walleij Date: Mon Sep 27 22:11:57 2010 +0100 ARM: 6415/1: ux500: DB5500 mailbox driver This is a driver for the mailboxes used to communicate with the DB5500 modem portions. Signed-off-by: Stefan Nilsson XK Signed-off-by: Linus Walleij Signed-off-by: Russell King commit b84ccd776fedee8b28f736662cd045bf893ed633 Author: Linus Walleij Date: Mon Sep 27 22:10:55 2010 +0100 ARM: 6414/1: ux500: DB5500 generic modem IRQ handler This is a (threaded) IRQ handler for the modems that appear from the modem part of the DB5500 ASIC. Signed-off-by: Stefan Nilsson XK Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 4d4a4b037c5d3620b8c55504a8c9e0cbf949f7fa Author: Linus Walleij Date: Mon Sep 27 22:09:52 2010 +0100 ARM: 6413/1: ux500: resources for DB5500 mbox driver and modem irq handler Platform resources found in the DB5500 for mailboxes and the modem IRQ controller. Signed-off-by: Stefan Nilsson XK Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 366d4a43b1a7a861c356a0e407c4f03f454d42ea Author: Borislav Petkov Date: Mon Oct 4 09:31:27 2010 +0200 x86, cpu: Fix X86_FEATURE_NOPL ba0593bf553c450a03dbc5f8c1f0ff58b778a0c8 cleared the aforementioned cpuid bit only on 32-bit due to various problems with Virtual PC. This somehow got lost during the 32- + 64-bit merge so restore the feature bit on 64-bit. For that, set it explicitly for non-constant arguments of cpu_has(). Update comment for future reference. Signed-off-by: Borislav Petkov LKML-Reference: <20101004073127.GA20305@liondog.tnic> Cc: Ryan O'Neill Cc: Linus Torvalds Signed-off-by: H. Peter Anvin commit 44629f57accccbb8e6d443246fe6f51b42f7f781 Author: Paul Mundt Date: Thu Sep 23 20:09:38 2010 +0900 sh: intc: Implement reverse mapping for IRQs to per-controller IDs. This implements a scheme roughly analogous to the PowerPC virtual to hardware IRQ mapping, which we use for IRQ to per-controller ID mapping. This makes it possible for drivers to use the IDs directly for lookup instead of hardcoding the vector. The main motivation for this work is as a building block for dynamically allocating virtual IRQs for demuxing INTC events sharing a single INTEVT in addition to a common masking source. Signed-off-by: Paul Mundt commit 6c20c807cf5a13f61193d39bb718f7a9b5df3813 Author: Dimitris Papastamos Date: Mon Oct 4 09:37:48 2010 +0100 ASoC: WM8804: Power down the PLL correctly The PLL is disabled when the corresponding bit is set not the other way around. This commit depends on my other commit with Subject "ASoC: WM8804: Refactor set_pll code to avoid GCC warnings". Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 86ce6c9a62c333157d3f2ef4e4dc1fe18b70eb63 Author: Dimitris Papastamos Date: Mon Oct 4 09:31:42 2010 +0100 ASoC: WM8804: Refactor set_pll code to avoid GCC warnings Ensure that no uninitialised variable warnings are generated by GCC. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 156a0f8ecb05bae53f1652ddb151c74315a615fb Author: Nicolas Kaiser Date: Mon Oct 4 12:39:47 2010 +0200 arm/davinci: remove duplicated include Remove duplicated include. Signed-off-by: Nicolas Kaiser Signed-off-by: Kevin Hilman commit 758ff03387228824617cef9507e5682488bf9e0c Author: Simon Horman Date: Sun Aug 22 21:37:55 2010 +0900 IPVS: sip persistence engine Add the SIP callid as a key for persistence. This allows multiple connections from the same IP address to be differentiated on the basis of the callid. When used in conjunction with the persistence mask, it allows connections from different IP addresses to be aggregated on the basis of the callid. It is envisaged that a persistence mask of 0.0.0.0 will be a useful setting. That is, ignore the source IP address when checking for persistence. It is envisaged that this option will be used in conjunction with one-packet scheduling. This only works with UDP and cannot be made to work with TCP within the current framework. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit f71499aa11f884255b69ce6c3b3c398c821591a1 Author: Simon Horman Date: Sun Aug 22 21:37:54 2010 +0900 IPVS: Fallback if persistence engine fails Fall back to normal persistence handling if the persistence engine fails to recognise a packet. This way, at least the packet will go somewhere. It is envisaged that iptables could be used to block packets such if this is not desired although nf_conntrack_sip would likely need to be enhanced first. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 0d1e71b04a04b6912e50926b9987c1e72facb1f3 Author: Simon Horman Date: Sun Aug 22 21:37:54 2010 +0900 IPVS: Allow configuration of persistence engines Allow the persistence engine of a virtual service to be set, edited and unset. This feature only works with the netlink user-space interface. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 8be67a6617b3403551fccb67b1c624c659419515 Author: Simon Horman Date: Sun Aug 22 21:37:54 2010 +0900 IPVS: management of persistence engine modules This is based heavily on the scheduler management code Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit a3c918acd29a96aba3b46bf50136e7953a480d17 Author: Simon Horman Date: Sun Aug 22 21:37:53 2010 +0900 IPVS: Add persistence engine data to /proc/net/ip_vs_conn This shouldn't break compatibility with userspace as the new data is at the end of the line. I have confirmed that this doesn't break ipvsadm, the main (only?) user-space user of this data. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 85999283a21ab2dd37427fdd8c8e8af57223977c Author: Simon Horman Date: Sun Aug 22 21:37:53 2010 +0900 IPVS: Add struct ip_vs_pe Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 2fabf35bfcd89445c54cf1e6a5437dd3cf924a92 Author: Simon Horman Date: Sun Aug 22 21:37:52 2010 +0900 IPVS: ip_vs_{un,}bind_scheduler NULL arguments In general NULL arguments aren't passed by the few callers that exist, so don't test for them. The exception is to make passing NULL to ip_vs_unbind_scheduler() a noop. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 6e08bfb879574524cc9a67be960c684989fd986c Author: Simon Horman Date: Sun Aug 22 21:37:52 2010 +0900 IPVS: Allow null argument to ip_vs_scheduler_put() This simplifies caller logic sightly. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit f11017ec2d1859c661f4e2b12c4a8d250e1f47cf Author: Simon Horman Date: Sun Aug 22 21:37:52 2010 +0900 IPVS: Add struct ip_vs_conn_param Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 5b57a98c1f0d78a4c238d83c4ac70de3bd237b2f Author: Simon Horman Date: Sun Aug 22 21:37:51 2010 +0900 IPVS: compact ip_vs_sched_persist() Compact ip_vs_sched_persist() by setting up parameters and calling functions once. Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 001985b2c0cfad48e1dec8e30f4d432eac240dd2 Author: Simon Horman Date: Sun Aug 22 21:37:51 2010 +0900 netfilter: nf_conntrack_sip: Add callid parser Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 5adbb9fb0c35c38022f79e09fecf15ba8f65f069 Author: Simon Horman Date: Sun Aug 22 21:37:51 2010 +0900 netfilter: nf_conntrack_sip: Allow ct_sip_get_header() to be called with a null ct argument Signed-off-by: Simon Horman Acked-by: Julian Anastasov commit 2c6118e43040034d80894daeba41960bf0035b31 Author: Hendrik Iben Date: Mon Oct 4 15:39:49 2010 +0200 HID: force feedback support for Logitech RumblePad gamepad This patch adds force feedback support for Logitech WingMan RumblePad gamepads by extending the Logitech Rumblepad 2 force feedback code. Signed-off-by: Hendrik Iben Signed-off-by: Jiri Kosina commit bd151412263a67b5321e9dd1d5b4bf6d96fdebf3 Author: Thomas Gleixner Date: Fri Oct 1 15:17:14 2010 +0200 genirq: Provide config option to disable deprecated code This option covers now the old chip functions and the irq_desc data fields which are moving to struct irq_data. More stuff will follow. Pretty handy for testing a conversion, whether something broke or not. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 540804b5c52065a87d826f7714b18a3ec0b269f9 Author: Stephane Eranian Date: Mon Oct 4 12:00:02 2010 +0200 perf_events: Fix invalid pointer when pid is invalid This patch fixes an error in perf_event_open() when the pid provided by the user is invalid. find_lively_task_by_vpid() does not return NULL on error but an error code. Without the fix the error code was silently passed to find_get_context() which would eventually cause a invalid pointer dereference. Signed-off-by: Stephane Eranian Cc: peterz@infradead.org Cc: paulus@samba.org Cc: davem@davemloft.net Cc: fweisbec@gmail.com Cc: perfmon2-devel@lists.sf.net Cc: eranian@gmail.com Cc: robert.richter@amd.com LKML-Reference: <4ca9a5d1.e8e9d80a.3dbb.ffff8f2e@mx.google.com> Signed-off-by: Ingo Molnar commit 21e2b8c62cca8f7dbec0c8c131ca1637e4a5670f Author: Thomas Gleixner Date: Mon Sep 27 12:45:53 2010 +0000 genirq: Provide compat handling for chip->retrigger() Wrap the old chip function retrigger() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121843.025801092@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 2f7e99bb9be6a2d8d7b808dc86037710cc8b7bf1 Author: Thomas Gleixner Date: Mon Sep 27 12:45:50 2010 +0000 genirq: Provide compat handling for chip->set_wake() Wrap the old chip function set_wake() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.927527393@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit b2ba2c30033c10cca2454f8b44bf98f5249e61c6 Author: Thomas Gleixner Date: Mon Sep 27 12:45:47 2010 +0000 genirq: Provide compat handling for chip->set_type() Wrap the old chip function set_type() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.832261548@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit c96b3b3c448592a0b87ef20306deb8b1fb4878c7 Author: Thomas Gleixner Date: Mon Sep 27 12:45:41 2010 +0000 genirq: Provide compat handling for chip->set_affinity() Wrap the old chip function set_affinity() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.732894108@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 37e12df709f09eac17314d79a52190ac46746e33 Author: Thomas Gleixner Date: Mon Sep 27 12:45:38 2010 +0000 genirq: Provide compat handling for chip->startup() Wrap the old chip function startup() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.635152961@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit bc310dda41be6439364c8f3b9fe7c9d743d22b1c Author: Thomas Gleixner Date: Mon Sep 27 12:45:02 2010 +0000 genirq: Provide compat handling for chip->disable()/shutdown() Wrap the old chip functions disable() and shutdown() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.532070631@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit c5f756344c390f629243b4a28c2bd198fdfd7ee9 Author: Thomas Gleixner Date: Mon Sep 27 12:44:56 2010 +0000 genirq: Provide compat handling for chip->enable() Wrap the old chip function enable() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.437159182@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 0c5c15572ac096001f52d37b416f2a4be9aebb80 Author: Thomas Gleixner Date: Mon Sep 27 12:44:53 2010 +0000 genirq: Provide compat handling for chip->eoi() Wrap the old chip function eoi() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.339657617@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 9205e31d1af0f725e71bbae10d199c6b9e8d6dd8 Author: Thomas Gleixner Date: Mon Sep 27 12:44:50 2010 +0000 genirq: Provide compat handling for chip->mask_ack() Wrap the old chip function mask_ack() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.240806983@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 22a49163e90dd7088f801dd54e25b04e1f337e9b Author: Thomas Gleixner Date: Mon Sep 27 12:44:47 2010 +0000 genirq: Provide compat handling for chip->ack() Wrap the old chip function ack() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.142624725@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 0eda58b7f3a30c9a13d83db1cfaab00e1c452055 Author: Thomas Gleixner Date: Mon Sep 27 12:44:44 2010 +0000 genirq: Provide compat handling for chip->unmask() Wrap the old chip function unmask() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121842.043608928@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit e2c0f8ff0fc26959952fbfa89f732fef928df77f Author: Thomas Gleixner Date: Mon Sep 27 12:44:42 2010 +0000 genirq: Provide compat handling for chip->mask() Wrap the old chip function mask() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121841.940355859@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 3876ec9ef3775d062345b3760d3271ecb8cd3fea Author: Thomas Gleixner Date: Mon Sep 27 12:44:35 2010 +0000 genirq: Provide compat handling for bus_lock/bus_sync_unlock Wrap the old chip functions for bus_lock/bus_sync_unlock until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121841.842536121@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit a77c4635915021c646cc017f22239e66d1aab4d5 Author: Thomas Gleixner Date: Fri Oct 1 14:44:58 2010 +0200 genirq: Add new functions to dummy chips The compat functions go away when the core code is converted. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit f8822657e799b02c55556c99a601261e207a299d Author: Thomas Gleixner Date: Mon Sep 27 12:44:32 2010 +0000 genirq: Provide advanced irq chip functions The low level irq chip functions want access to irq_desc->irq_data. Provide new functions which hand down irq_data instead of the irq number so these functions avoid to call irq_to_desc() which is a radix tree lookup in case of sparse irq. This provides all the old functions except one: end(). end() is a relict of __do_IRQ() and will just go away with the __do_IRQ() code. The replacement for set_affinity() has an extra argument "bool force". The reason for this is to notify the low level code, that the move has to be done right away and cannot be delayed until the next interrupt happens. That's necessary to handle the irq fixup on cpu unplug in the generic code. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121841.742126604@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 6b8ff3120c758340505dddf08ad685ebb841d5d5 Author: Thomas Gleixner Date: Fri Oct 1 12:58:38 2010 +0200 genirq: Convert core code to irq_data Convert all references in the core code to orq, chip, handler_data, chip_data, msi_desc, affinity to irq_data.* Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit ff7dcd44dd446db2c3e13bdedf2d52b8e0127f16 Author: Thomas Gleixner Date: Mon Sep 27 12:44:25 2010 +0000 genirq: Create irq_data Low level chip functions need access to irq_desc->handler_data, irq_desc->chip_data and irq_desc->msi_desc. We hand down the irq number to the low level functions, so they need to lookup irq_desc. With sparse irq this means a radix tree lookup. We could hand down irq_desc itself, but low level chip functions have no need to fiddle with it directly and we want to restrict access to irq_desc further. Preparatory patch for new chip functions. Note, that the ugly anon union/struct is there to avoid a full tree wide clean up for now. This is not going to last 3 years like __do_IRQ() Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121841.645542300@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit 3bb9808e99bcc36eecb8e082bf70efb2a0bcdcb7 Author: Thomas Gleixner Date: Mon Sep 27 12:46:02 2010 +0000 x86: Use genirq Kconfig Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121843.314600915@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit d9817ebeeef16e01487549312c68540ca8f1561b Author: Thomas Gleixner Date: Mon Sep 27 12:45:59 2010 +0000 genirq: Provide Kconfig The generic irq Kconfig options are copied around all archs. Provide a generic Kconfig file which can be included. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra LKML-Reference: <20100927121843.217333624@linutronix.de> Reviewed-by: H. Peter Anvin Reviewed-by: Ingo Molnar commit e7ffec1eb178db349c7fbfd647725e9d06619962 Author: Thomas Gleixner Date: Sun Oct 3 20:08:13 2010 +0200 isdn: Free irq_data namespace The irq_data namespace is the preference for the generic irq layer. Rename the union typedef in drivers/isdn/act2000/act2000.h Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 35a27e8e6565910e5202f1af83ea85305fbf5ceb Author: Thomas Gleixner Date: Fri Oct 1 16:35:59 2010 +0200 mfd: Rename struct irq_data to struct sih_irq_data struct irq_data is the preferred name for the data associated to an interrupt in the core code. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar commit 4fdaa7b682b413dfb7ca9fa74ff45b1e0cb3dade Author: Robert Richter Date: Thu Aug 19 10:50:26 2010 +0200 oprofile: Remove duplicate code around __oprofilefs_create_file() Removing duplicate code by assigning the inodes private data pointer in __oprofilefs_create_file(). Extending the function interface to pass the pointer. Signed-off-by: Robert Richter commit dc0c22b878a60373762495b8e5628a32c1b80ac4 Author: Robert Richter Date: Fri Aug 27 14:32:41 2010 +0200 oprofile, ARM: Remove some goto statements This patch removes some unnecessary goto statements. Acked-by: Will Deacon Signed-off-by: Robert Richter commit f6be4b428197766521aca664a935c63888d096d9 Author: Robert Richter Date: Wed Sep 29 14:43:29 2010 +0200 oprofile, ARM: Rework op_create_counter() This patch simplifies op_create_counter(). Removing if/else if paths and return code variable by direct returning from function. Acked-by: Will Deacon Signed-off-by: Robert Richter commit 4d1814f48edec31f12737609cd1c871864c8298b Author: Robert Richter Date: Wed Sep 29 15:42:30 2010 +0200 oprofile, ARM: Use oprofile_arch_exit() to cleanup on failure There is duplicate cleanup code in the init and exit functions. Now, oprofile_arch_exit() is also used if oprofile_arch_init() fails. Acked-by: Will Deacon Signed-off-by: Robert Richter commit 628cfe870f0b413b0a15b26fe3b949eb02fe2dc2 Merge: c76a544 ac446fb Author: Takashi Iwai Date: Mon Oct 4 08:46:38 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit d41185882b828896ccecac319c9f65f708baaf0d Author: Valentine Sinitsyn Date: Fri Oct 1 22:24:08 2010 +0600 ALSA: hda - Added fixup for Lenovo Y550P Signed-off-by: Valentine Sinitsyn Signed-off-by: Takashi Iwai commit 54dc3f4674fbaf362d6e969904bfcece3cfebef1 Author: Eric BĂ©nard Date: Sat Oct 2 17:15:26 2010 +0200 mach-cpuimx35: remove unecessary tsc2007 functions + style cleanup - remove functions which are no more necessary for tsc2007 - indent platform_data for better readability Signed-off-by: Eric BĂ©nard Signed-off-by: Sascha Hauer commit c7d4426a98a5f6654cd0b4b33d9dab2e77192c18 Author: Eric Dumazet Date: Sun Oct 3 22:17:54 2010 -0700 net: introduce DST_NOCACHE flag While doing stress tests with IP route cache disabled, and multi queue devices, I noticed a very high contention on one rwlock used in neighbour code. When many cpus are trying to send frames (possibly using a high performance multiqueue device) to the same neighbour, they fight for the neigh->lock rwlock in order to call neigh_hh_init(), and fight on hh->hh_refcnt (a pair of atomic_inc/atomic_dec_and_test()) But we dont need to call neigh_hh_init() for dst that are used only once. It costs four atomic operations at least, on two contended cache lines, plus the high contention on neigh->lock rwlock. Introduce a new dst flag, DST_NOCACHE, that is set when dst was not inserted in route cache. With the stress test bench, sending 160000000 frames on one neighbour, results are : Before patch: real 2m28.406s user 0m11.781s sys 36m17.964s After patch: real 1m26.532s user 0m12.185s sys 20m3.903s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9a7241c21b06c3a3f8ebcf3e347bd68556369da7 Author: David S. Miller Date: Sun Oct 3 22:14:37 2010 -0700 sctp: Fix break indentation in sctp_ioctl(). Signed-off-by: David S. Miller commit 3abcdeda59c1d4cf2bf83311ed2d544355ec7c2d Author: Sathya Perla Date: Sun Oct 3 22:12:27 2010 -0700 be2net: add multiple RX queue support This patch adds multiple RX queue support to be2net. There are upto 4 extra rx-queues per port into which TCP/UDP traffic can be hashed into. Some of the ethtool stats are now displayed on a per queue basis. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 72829071269b19381173a13ea1b2ca2f4f9d4cec Merge: 10651db 41f4a6f Author: David S. Miller Date: Sun Oct 3 22:09:32 2010 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 10651db75a94c54a34bbf85fbee334d1114da3fb Author: Ursula Braun Date: Fri Oct 1 02:51:13 2010 +0000 qeth: tagging with VLAN-ID 0 This patch adapts qeth to handle tagged frames with VLAN-ID 0 and with or without priority information in the tag. It enables qeth to receive priority-tagged frames on a base interface, for example from z/OS, without configuring an additional VLAN interface. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit a069ec917457e44e214fc34e50acd185110fa81b Author: Dimitris Michailidis Date: Thu Sep 30 09:17:12 2010 +0000 cxgb4: remove a bogus PCI function number check Remove a bogus PCI function number check from the driver's .remove method that causes pci_release_regions not to be called for function 0 if additional functions are attached and one of them is used as primary. Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit 1790c228fb3f57793160c0f0c20b55c398cab106 Author: Julia Lawall Date: Sat Oct 2 04:37:07 2010 +0000 drivers/atm/idt77252.c: Remove unnecessary error check This code does not call deinit_card(card); in an error case, as done in other error-handling code in the same function. But actually, the called function init_sram can only return 0, so there is no need for the error check at all. init_sram is also given a void return type, and its single return statement at the end of the function is dropped. A simplified version of the sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ @r@ statement S1,S2,S3; constant C1,C2,C3; @@ *if (...) {... S1 return -C1;} ... *if (...) {... when != S1 return -C2;} ... *if (...) {... S1 return -C3;} // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit f009627b71eacfeede3d63b00a25afdf5e3e24bb Author: Andrew Morton Date: Fri Oct 1 11:17:12 2010 +0000 drivers-net-tulip-de4x5c-fix-copy-length-in-de4x5_ioctl-checkpatch-fixes ERROR: trailing statements should be on next line #23: FILE: drivers/net/tulip/de4x5.c:5477: + if (copy_to_user(ioc->data, tmp.lval, ioc->len)) return -EFAULT; total: 1 errors, 0 warnings, 8 lines checked ./patches/drivers-net-tulip-de4x5c-fix-copy-length-in-de4x5_ioctl.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Dan Rosenberg Cc: Grant Grundler Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a8cb16dd9cb571c45bb479a1e4721ce11220a216 Author: Eric Dumazet Date: Fri Oct 1 16:15:29 2010 +0000 ipmr: cleanups Various code style cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a8c9486b816f74d4645144db9e8fa2f711c1fc4b Author: Eric Dumazet Date: Fri Oct 1 16:15:08 2010 +0000 ipmr: RCU protection for mfc_cache_array Use RCU & RTNL protection for mfc_cache_array[] ipmr_cache_find() is called under rcu_read_lock(); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4c9687098f245601e9d94178715ee03afbcc6f80 Author: Eric Dumazet Date: Fri Oct 1 16:15:01 2010 +0000 ipmr: RCU conversion of mroute_sk Use RCU and RTNL to protect (struct mr_table)->mroute_sk Readers use RCU, writers use RTNL. ip_ra_control() already use an RCU grace period before ip_ra_destroy_rcu(), so we dont need synchronize_rcu() in mrtsock_destruct() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 55747a0a73ea74a25fcebb0731e8d3f13fe8c09d Author: Eric Dumazet Date: Fri Oct 1 16:14:55 2010 +0000 ipmr: __pim_rcv() is called under rcu_read_lock No need to get a reference on reg_dev and release it, we are in a rcu_read_lock() protected section. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ddcb4541e917780ef7ccc68dd8df18ca0bc055d0 Author: stephen hemminger Date: Fri Oct 1 13:58:00 2010 +0000 gre: protocol table can be static This table is only used in gre.c Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e8184a47c9cc04380553114815356d1042a27788 Author: Paul Mundt Date: Mon Oct 4 05:15:20 2010 +0900 sh: pfc: Fix up BUG() triggered by gpiolib debugfs lookups. The gpiolib debugfs entry takes a hammer approach and iterates over all of the potential GPIOs, regardless of their type. The SH PFC code on the other hand contains a variable mismash of input/output/function types spread out sparsely, leading to situations where the debug code can trigger an out of range enum for the type. Since we already have an error path for out of range enums, we can just hand that up to the higher level instead of the current BUG() behaviour. Signed-off-by: Paul Mundt commit 872f36a69fea9763f000ec1bc7a5282e43b67b96 Author: Paul Mundt Date: Mon Oct 4 05:00:19 2010 +0900 sh: Drop __initdata for SH-X3 pinmux tables. The gpio sysfs support needs to get at these later, so drop the __initdata annotations. Signed-off-by: Paul Mundt commit b72421d8aa39724474ec2bfb91e182001f1f25a7 Author: Paul Mundt Date: Mon Oct 4 03:54:56 2010 +0900 sh: pfc: support pinmux deregistration. Presently the pinmux code is a one-way thing, but there's nothing preventing an unregistration if no one has grabbed any of the pins. This will permit us to save a bit of memory on systems that require pin demux for certain peripherals in the case where registration of those peripherals fails, or they are otherwise not attached to the system. Signed-off-by: Paul Mundt commit 3bccf534f98ddc4962665b68d99f752ea010aacc Author: Paul Mundt Date: Mon Oct 4 03:07:49 2010 +0900 sh: mach-x3proto: Improve ILSEL debugging. At the moment ILSEL blows up with a BUG when aliased sets are handed in, but as the enable call is able to hand back errors we opt for that path instead. None of the ILSEL peripherals are vital to the board's operation, so trapping a BUG is a bit excessive. Signed-off-by: Paul Mundt commit 2c237329f79aba2cd1d1c1b47fc03df03ad027e1 Author: Paul Mundt Date: Mon Oct 4 03:00:49 2010 +0900 sh: mach-x3proto: gpio-keys support. This adds gpio-keys mappings for the button matrix on the baseboard, now that we have support for the pin controller. Signed-off-by: Paul Mundt commit 550591143eead286f2cd9d124a55d4a99ed024de Author: Paul Mundt Date: Mon Oct 4 02:59:29 2010 +0900 sh: mach-x3proto: Support for baseboard GPIOs. This adds trivial support for the GPIOs implemented through the baseboard CPLD, used for driving the button matrix. Signed-off-by: Paul Mundt commit d39d0ed196aa1685bb24771e92f78633c66ac9cb Author: Paul Mundt Date: Mon Oct 4 02:50:32 2010 +0900 sh: mach-x3proto: Move the ilsel header to a better place. We'll be adding more headers for this board, so move this over to its own directory. Signed-off-by: Paul Mundt commit 0b452f2efa35c48219d1ad3cbebdd786ec39ef06 Merge: 33cf45c 4b285c3 Author: Takashi Iwai Date: Sun Oct 3 11:10:01 2010 +0200 Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc commit cb13c6b3ca8a1d72996ab1b6a43e291219993292 Author: Dimitris Papastamos Date: Fri Oct 1 09:12:14 2010 +0100 ASoC: WM8804: Use a proper DAI name Make sure the DAI name does not include a '/' since we might have per DAI debugfs or sysfs entries in the future. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8ca2aa9c59c39805c746b137c041576838f3de92 Author: Mark Brown Date: Fri Oct 1 17:46:37 2010 -0700 ASoC: Put WM8962 GPIO2/3 into GPIO mode when configuring platform data too GPIO2 and GPIO3 on the WM8962 are MFPs and need to be put into GPIO mode before the GPIO block can be used to control them. We're already doing this when used via gpiolib, factor out the code for use when setting static configurations via platform data as well. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 7711308ae68900a047782f5fe1bd46196ea8be0e Author: Mark Brown Date: Thu Sep 30 15:37:53 2010 -0700 ASoC: Implement interrupt based jack detection Allow microphone detection on WM8962 to be performed using the interrupt signal, allowing the detection of both microphone presence and button presses with a signal singal from the CODEC to CPU. Currently a 250ms debounce time is applied to both short circuit and presence detection, this has not been optimised. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 3367b8d4278d1f8a28995cc5e57a995f7147cb73 Author: Mark Brown Date: Mon Sep 20 17:34:58 2010 +0100 ASoC: Add support for WM8962 GPIO outputs The WM8962 features five GPIOs, add support for controlling their output state via gpiolib. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 532f3759d71d1fceb494212187dacc5a78295dc3 Author: Paul Mundt Date: Sun Oct 3 03:55:39 2010 +0900 sh: Allow GPIO chips to register IRQ mappings. As non-PFC chips are added that may support IRQs, pass through to the generic helper instead of triggering the WARN_ON(). Signed-off-by: Paul Mundt commit ac446fb7e690b317050ed158ba5dfd9273dc9e74 Author: Jaroslav Kysela Date: Sat Oct 2 16:00:53 2010 +0200 ALSA: snd-aloop - fix "PCM Slave Active" element read value Simple coding fix. Signed-off-by: Jaroslav Kysela commit 4bacd796ccd6976b03dd490708a1abc291d5521e Author: Paul Mundt Date: Sat Oct 2 22:02:07 2010 +0900 sh: Support early IRQ vector map reservation for delayed controllers. Some controllers will need to be initialized lazily due to pinmux constraints, while others may simply have no need to be brought online if there are no backing devices for them attached. In this case it's still necessary to be able to reserve their hardware vector map before dynamic IRQs get a hold of them. Signed-off-by: Paul Mundt commit 742759eae6b58a172d8f79ff0938d1e25dc9abc5 Author: Paul Mundt Date: Sat Oct 2 19:43:40 2010 +0900 sh: Handle pinmux for SH-X3 proto IRQ/IRL modes. The SH-X3 proto CPU has all of the external IRQ and IRL pins muxed, make sure that we're able to grab them before attempting to register their respective IRQ controllers. Signed-off-by: Paul Mundt commit 720a6bd785f92782921a1d0f00f15d60997f4037 Author: Paul Mundt Date: Sat Oct 2 19:20:51 2010 +0900 sh: pinmux support for SH-X3 proto CPUs. This adds in support for GPIO/pinmux on the SH-X3 proto CPUs. This will subsequently be used by the x3proto board. Signed-off-by: Paul Mundt commit 5d1f57e4d3d547b113ebd62f569be13bf485e53b Author: Namhyung Kim Date: Wed Sep 29 21:02:15 2010 +0900 slub: Move NUMA-related functions under CONFIG_NUMA Make kmalloc_cache_alloc_node_notrace(), kmalloc_large_node() and __kmalloc_node_track_caller() to be compiled only when CONFIG_NUMA is selected. Acked-by: David Rientjes Signed-off-by: Namhyung Kim Signed-off-by: Pekka Enberg commit 3478973dedee5e957c45dc93c11d12dc3f733ee0 Author: Namhyung Kim Date: Wed Sep 29 21:02:14 2010 +0900 slub: Add lock release annotation The unfreeze_slab() releases page's PG_locked bit but was missing proper annotation. The deactivate_slab() needs to be marked also since it calls unfreeze_slab() without grabbing the lock. Acked-by: David Rientjes Signed-off-by: Namhyung Kim Signed-off-by: Pekka Enberg commit a5dd5c117cbf620378d693963ffc42239297fac4 Author: Namhyung Kim Date: Wed Sep 29 21:02:13 2010 +0900 slub: Fix signedness warnings The bit-ops routines require its arg to be a pointer to unsigned long. This leads sparse to complain about different signedness as follows: mm/slub.c:2425:49: warning: incorrect type in argument 2 (different signedness) mm/slub.c:2425:49: expected unsigned long volatile *addr mm/slub.c:2425:49: got long *map Acked-by: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Namhyung Kim Signed-off-by: Pekka Enberg commit 62e346a83026a28526fc9799337bcc6154819f25 Author: Christoph Lameter Date: Tue Sep 28 08:10:28 2010 -0500 slub: extract common code to remove objects from partial list without locking There are a couple of places where repeat the same statements when removing a page from the partial list. Consolidate that into __remove_partial(). Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit f7cb1933621bce66a77f690776a16fe3ebbc4d58 Author: Christoph Lameter Date: Wed Sep 29 07:15:01 2010 -0500 SLUB: Pass active and inactive redzone flags instead of boolean to debug functions Pass the actual values used for inactive and active redzoning to the functions that check the objects. Avoids a lot of the ? : things to lookup the values in the functions. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 7340cc84141d5236c5dd003359ee921513cd9b84 Author: Christoph Lameter Date: Tue Sep 28 08:10:26 2010 -0500 slub: reduce differences between SMP and NUMA Reduce the #ifdefs and simplify bootstrap by making SMP and NUMA as much alike as possible. This means that there will be an additional indirection to get to the kmem_cache_node field under SMP. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit ed59ecbf8904a40cf0a1ee5d6f100d76d2f44e5f Author: Pekka Enberg Date: Sat Sep 18 20:45:06 2010 +0300 Revert "Slub: UP bandaid" This reverts commit 5249d039500f05a5ab379286b1d23ab9b04d3f2c. It's not needed after commit bbddff0545878a8649c091a9dd7c43ce91516734 ("percpu: use percpu allocator on UP too"). commit ed6c1115c835d822ec5d6356ae3043de54088f43 Author: Tejun Heo Date: Fri Sep 10 10:49:37 2010 +0200 percpu: clear memory allocated with the km allocator Percpu allocator should clear memory before returning it but the km allocator forgot to do it. Fix it. Signed-off-by: Tejun Heo Reported-by: Peter Zijlstra Acked-by: Peter Zijlstra commit 9b8327bb2483ded5e04df6c33cf339ce7c02f6e9 Author: Tejun Heo Date: Fri Sep 3 18:22:48 2010 +0200 percpu: use percpu allocator on UP too On UP, percpu allocations were redirected to kmalloc. This has the following problems. * For certain amount of allocations (determined by PERCPU_DYNAMIC_EARLY_SLOTS and PERCPU_DYNAMIC_EARLY_SIZE), percpu allocator can be used before the usual kernel memory allocator is brought online. On SMP, this is used to initialize the kernel memory allocator. * percpu allocator honors alignment upto PAGE_SIZE but kmalloc() doesn't. For example, workqueue makes use of larger alignments for cpu_workqueues. Currently, users of percpu allocators need to handle UP differently, which is somewhat fragile and ugly. Other than small amount of memory, there isn't much to lose by enabling percpu allocator on UP. It can simply use kernel memory based chunk allocation which was added for SMP archs w/o MMUs. This patch removes mm/percpu_up.c, builds mm/percpu.c on UP too and makes UP build use percpu-km. As percpu addresses and kernel addresses are always identity mapped and static percpu variables don't need any special treatment, nothing is arch dependent and mm/percpu.c implements generic setup_per_cpu_areas() for UP. Signed-off-by: Tejun Heo Cc: Christoph Lameter Cc: Pekka Enberg commit a7b6b77b8917488d2d6b99d82673845e508144a3 Author: Tejun Heo Date: Fri Sep 3 18:22:47 2010 +0200 percpu: reduce PCPU_MIN_UNIT_SIZE to 32k In preparation of enabling percpu allocator for UP, reduce PCPU_MIN_UNIT_SIZE to 32k. On UP, the first chunk doesn't have to include static percpu variables and chunk size can be smaller which is important as UP percpu allocator will use contiguous kernel memory to populate chunks. PCPU_MIN_UNIT_SIZE also determines the maximum supported allocation size but 32k should still be enough. Signed-off-by: Tejun Heo commit 0bc14062414d35c269b7c7dc3243a890886e7b38 Author: Tejun Heo Date: Fri Sep 3 18:22:47 2010 +0200 vmalloc: pcpu_get/free_vm_areas() aren't needed on UP These functions are used only by percpu memory allocator on SMP. Don't build them on UP. Signed-off-by: Tejun Heo Cc: Nick Piggin commit 84c1cf62465e2fb0a692620dcfeb52323ab03d48 Author: Pekka Enberg Date: Tue Sep 14 23:21:12 2010 +0300 SLUB: Fix merged slab cache names As explained by Linus "I'm Proud to be an American" Torvalds: Looking at the merging code, I actually think it's totally buggy. If you have something like this: - load module A: create slab cache A - load module B: create slab cache B that can merge with A - unload module A - "cat /proc/slabinfo": BOOM. Oops. exactly because the name is not handled correctly, and you'll have module B holding open a slab cache that has a name pointer that points to module A that no longer exists. This patch fixes the problem by using kstrdup() to allocate dynamic memory for ->name of "struct kmem_cache" as suggested by Christoph Lameter. Acked-by: Christoph Lameter Cc: David Rientjes Reported-by: Linus Torvalds Signed-off-by: Pekka Enberg Conflicts: mm/slub.c commit db210e70e5f191710a3b1d09f653b44885d397ea Author: Christoph Lameter Date: Thu Aug 26 09:41:19 2010 -0500 Slub: UP bandaid Since the percpu allocator does not provide early allocation in UP mode (only in SMP configurations) use __get_free_page() to improvise a compound page allocation that can be later freed via kfree(). Compound pages will be released when the cpu caches are resized. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit a016471a16b5c4d4ec8f5221575e603a3d11e5e9 Author: David Rientjes Date: Wed Aug 25 16:32:27 2010 -0700 slub: fix SLUB_RESILIENCY_TEST for dynamic kmalloc caches Now that the kmalloc_caches array is dynamically allocated at boot, SLUB_RESILIENCY_TEST needs to be fixed to pass the correct type. Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit 8de66a0c022c7c575c7481224803292cdabed4c4 Author: Christoph Lameter Date: Wed Aug 25 14:51:14 2010 -0500 slub: Fix up missing kmalloc_cache -> kmem_cache_node case for memoryhotplug Memory hotplug allocates and frees per node structures. Use the correct name. Acked-by: David Rientjes Acked-by: Randy Dunlap Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 7d550c56a24b20e91ec469054230bd2e2485996a Author: Christoph Lameter Date: Wed Aug 25 14:07:16 2010 -0500 slub: Add dummy functions for the !SLUB_DEBUG case On Wed, 25 Aug 2010, Randy Dunlap wrote: > mm/slub.c:1732: error: implicit declaration of function 'slab_pre_alloc_hook' > mm/slub.c:1751: error: implicit declaration of function 'slab_post_alloc_hook' > mm/slub.c:1881: error: implicit declaration of function 'slab_free_hook' > mm/slub.c:1886: error: implicit declaration of function 'slab_free_hook_irq' Empty functions are missing if the runtime debuggability option is compiled out. Provide the fall back functions to empty hooks if SLUB_DEBUG is not set. Acked-by: Randy Dunlap Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 8df275af8db8220d7e3f1bf97b6ac7aad05f96f0 Author: David Rientjes Date: Sun Aug 22 16:16:06 2010 -0700 slob: fix gfp flags for order-0 page allocations kmalloc_node() may allocate higher order slob pages, but the __GFP_COMP bit is only passed to the page allocator and not represented in the tracepoint event. The bit should be passed to trace_kmalloc_node() as well. Acked-by: Matt Mackall Reviewed-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit c1d508365ea07f9f8849c7da5b02186601570f8b Author: Christoph Lameter Date: Fri Aug 20 12:37:17 2010 -0500 slub: Move gfpflag masking out of the hotpath Move the gfpflags masking into the hooks for checkers and into the slowpaths. gfpflag masking requires access to a global variable and thus adds an additional cacheline reference to the hotpaths. If no hooks are active then the gfpflag masking will result in code that the compiler can toss out. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit c016b0bdeee74a7fbe5179937c0d667eabcf379e Author: Christoph Lameter Date: Fri Aug 20 12:37:16 2010 -0500 slub: Extract hooks for memory checkers from hotpaths Extract the code that memory checkers and other verification tools use from the hotpaths. Makes it easier to add new ones and reduces the disturbances of the hotpaths. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 51df1142816e469173889fb6d6dc810be9b9e022 Author: Christoph Lameter Date: Fri Aug 20 12:37:15 2010 -0500 slub: Dynamically size kmalloc cache allocations kmalloc caches are statically defined and may take up a lot of space just because the sizes of the node array has to be dimensioned for the largest node count supported. This patch makes the size of the kmem_cache structure dynamic throughout by creating a kmem_cache slab cache for the kmem_cache objects. The bootstrap occurs by allocating the initial one or two kmem_cache objects from the page allocator. C2->C3 - Fix various issues indicated by David - Make create kmalloc_cache return a kmem_cache * pointer. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 6c182dc0de26ef97efb6a97a8deab074833764e7 Author: Christoph Lameter Date: Fri Aug 20 12:37:14 2010 -0500 slub: Remove static kmem_cache_cpu array for boot The percpu allocator can now handle allocations during early boot. So drop the static kmem_cache_cpu array. Cc: Tejun Heo Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 55136592fedf5cc58c03d9b5eb66103a9013d4e5 Author: Christoph Lameter Date: Fri Aug 20 12:37:13 2010 -0500 slub: Remove dynamic dma slab allocation Remove the dynamic dma slab allocation since this causes too many issues with nested locks etc etc. The change avoids passing gfpflags into many functions. V3->V4: - Create dma caches in kmem_cache_init() instead of kmem_cache_init_late(). Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 1537066c69bee9ebc4b998626c532ce1724d4e67 Author: Christoph Lameter Date: Fri Aug 20 12:37:12 2010 -0500 slub: Force no inlining of debug functions Compiler folds the debgging functions into the critical paths. Avoid that by adding noinline to the functions that check for problems. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit ec706dab290c486837d4a825870ab052bf200279 Author: Nicolas Pitre Date: Thu Aug 26 23:10:50 2010 -0400 ARM: add a vma entry for the user accessible vector page The kernel makes the high vector page visible to user space. This page contains (amongst others) small code segments that can be executed in user space. Make this page visible through ptrace and /proc//mem in order to let gdb perform code parsing needed for proper unwinding. For example, the ERESTART_RESTARTBLOCK handler actually has a stack frame -- it returns to a PC value stored on the user's stack. To unwind after a "sleep" system call was interrupted twice, GDB would have to recognize this situation and understand that stack frame layout -- which it currently cannot do. We could fix this by hard-coding addresses in the vector page range into GDB, but that isn't really portable as not all of those addresses are guaranteed to remain stable across kernel releases. And having the gdb process make an exception for this page and get content from its own address space for it looks strange, and it is not future proof either. Being located above PAGE_OFFSET, this vma cannot be deleted by user space code. Signed-off-by: Nicolas Pitre commit 70c70d97809c3cdb8ff04f38ee3718c5385a2a4d Author: Nicolas Pitre Date: Thu Aug 26 15:08:35 2010 -0700 ARM: SECCOMP support Signed-off-by: Nicolas Pitre commit 087aaffcdf9c91667c93923fbc05fa8fb6bc7d3a Author: Nicolas Pitre Date: Wed Sep 22 18:34:36 2010 -0400 ARM: implement CONFIG_STRICT_DEVMEM by disabling access to RAM via /dev/mem There are very few legitimate use cases, if any, for directly accessing system RAM through /dev/mem. So let's mimic what they do on x86 and forbid it when CONFIG_STRICT_DEVMEM is turned on. Signed-off-by: Nicolas Pitre commit 7c63984b86f96c71c541132c74c4b56fe2a13e1a Author: Nicolas Pitre Date: Thu Sep 23 16:52:40 2010 -0400 ARM: do not define VMALLOC_END relative to PAGE_OFFSET VMALLOC_END is supposed to be an absolute value, while PAGE_OFFSET may vary depending on the selected user:kernel memory split mode through CONFIG_VMSPLIT_*. In fact, the goal of moving PAGE_OFFSET down is to accommodate more directly addressed RAM by the kernel below the vmalloc area, and having VMALLOC_END move along PAGE_OFFSET is rather against the very reason why PAGE_OFFSET can be moved in the first place. Signed-off-by: Nicolas Pitre commit 33d7c5c1c808ea47d85630ac2dd98490d7df0ff4 Author: Amit Kucheria Date: Wed Sep 1 22:49:13 2010 +0300 ARM: mxc: turn off HWCAP_NEON for older versions of imx51 silicon Versions of silicon older than TO3 have broken NEON implementation. Turn off NEON in such cases. Signed-off-by: Amit Kucheria Tested-by: Dave Martin Tested-by: Jason Hui Signed-off-by: Nicolas Pitre commit c62d0f2ac18d38265ccf0e821e6afee60a0c89b5 Author: Nicolas Pitre Date: Wed Sep 1 09:37:05 2010 -0400 ARM: link board specific files after core files This allows for board specific issues to override decisions made in generic code that might not be suitable due to some errata or the like, by making the initcall hooks from those board specific files run after the core ones, therefore avoiding ugly #ifdef's in core code. Signed-off-by: Nicolas Pitre Tested-by: Dave Martin Tested-by: Jason Hui commit 243e76b426e6e040961b84249b4eaab4ad9fa6dc Author: Janusz Krzysztofik Date: Fri Oct 1 16:37:01 2010 -0700 OMAP1: Amstrad Delta: add camera controlled LEDS trigger This patch extends the Amstrad Delta camera support with LEDS trigger that can be used for automatic control of the on-board camera LED. The led turns on automatically on camera device open and turns off on camera device close. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 8452e9ef2b08c7bd492194554cdffc67d0b2a51b Author: Janusz Krzysztofik Date: Fri Oct 1 16:37:00 2010 -0700 OMAP1: Amstrad Delta: add support for camera This patch adds configuration data and initialization code required for camera support to the Amstrad Delta board. Three devices are declared: SoC camera, OMAP1 camera interface and OV6650 sensor. Default 12MHz clock has been selected for driving the sensor. Pixel clock has been limited to get reasonable frame rates, not exceeding the board capabilities. Since both devices (interface and sensor) support both pixel clock polarities, decision on polarity selection has been left to drivers. Interface GPIO line has been found not functional, thus not configured. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 1a96edd70c1f4b4a1904803f8a83900087f4d1da Author: Janusz Krzysztofik Date: Fri Oct 1 16:37:00 2010 -0700 OMAP1: Add support for SoC camera interface This patch adds a definition of the OMAP1 camera interface platform device, and a function that allows for providing a board specific platform data. The device will be used with the upcoming OMAP1 SoC camera interface driver. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 64be97822b781e921c7eda2d4089fd1fdf3aabba Author: kishore kadiyala Date: Fri Oct 1 16:35:28 2010 -0700 omap4 hsmmc: Update ocr mask for MMC2 for regulator to use On OMAP4, MMC2 controller has eMMC which draws power from VAUX regulator on TWL. Though the eMMC supports dual voltage[1.8v/3v] as per ocr register, its VCC is fixed at 3V for operation. With this once the mmc core selects the minimum voltage[1.8] supported based on the ocr value read from OCR register, eMMC will not get detected. Thus the platform data for MMC2 is updated with ocr mask and same will be communicated to core which will set the regulator to always operate at 3V when ever turned ON. Cc: Tony Lindgren Cc: Andrew Morton Cc: Madhusudhan Chikkature Cc: Adrian Hunter Signed-off-by: Kishore Kadiyala Signed-off-by: Tony Lindgren commit 91a0b089f8358aec866bc9c69da8b84c77beaaf3 Author: kishore kadiyala Date: Fri Oct 1 16:35:28 2010 -0700 omap4 hsmmc: Register offset handling In OMAP4, as per new PM programming model, the legacy registers which were there in OMAP3 are all shifted by 0x100 while new one's are added from offset 0 to 0x10. For OMAP4, the register offset appending of 0x100 done in devices.c currently, is moved to driver file.This change fits in for current implementation as well as once the driver undergoes hwmod adaptation. Cc: Andrew Morton Cc: Madhusudhan Chikkature Cc: Adrian Hunter Cc: Benoit Cousson Signed-off-by: Kishore Kadiyala Signed-off-by: Tony Lindgren commit 531c21ba1a298422ace28efbcdf94d5579a1b702 Author: Benoit Cousson Date: Fri Oct 1 16:35:26 2010 -0700 omap4 hsmmc: Fix the init if CONFIG_MMC_OMAP_HS is not set Avoid possible crash if CONFIG_MMC_OMAP_HS is not set Cc: Andrew Morton Cc: Madhusudhan Chikkature Cc: Adrian Hunter Signed-off-by: Benoit Cousson Signed-off-by: Kishore Kadiyala Signed-off-by: Tony Lindgren commit 07ad64b60c4d1f2bdbefa5db29ccb235596bc670 Author: Madhusudhan Chikkature Date: Fri Oct 1 16:35:25 2010 -0700 OMAP4 ES2: HSMMC soft reset change The omap4 es2 hsmmc has a updated soft reset logic.After the reset is issued monitor a 0->1 transition first. The reset of CMD or DATA lines is complete only after a 0->1->0 transition of SRC or SRD bits. Signed-off-by: Madhusudhan Chikkature Tested-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit e13bb34bd9bbc01dcab9ed1b8adaa6a199ce059c Author: Grazvydas Ignotas Date: Fri Oct 1 16:35:25 2010 -0700 omap: pandora: enable twl4030 charger Add platform data to make use of newly added charging driver. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 690a4a39b2429a4e397cd79e1dd16b6a5ca4111e Author: Grazvydas Ignotas Date: Fri Oct 1 16:35:25 2010 -0700 omap: pandora: add fixed regulator for wlan Instead of enabling the wifi module explicitly using GPIO, add a fixed regulator and hook it to MMC host card power control. This way it will only be enabled when SDIO subsystem wants to talk to it, saving power (as done by Zoom boards). Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 76abab213587bfc3b850f36c0a674116d161148d Author: Sanjeev Premi Date: Fri Oct 1 16:35:24 2010 -0700 omap2/3: Update revision identification The existing definitions for cpu revision used upper nibble in the bits[15:08]. With OMAP3630, definitions use lower nibble. This patch unifies the definitions to start at lower nibble. Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 5a3b2f7a5a79082dd3a5f2294cbd85fc3b173d98 Author: Tony Lindgren Date: Fri Oct 1 16:35:24 2010 -0700 omap: Fix omap_mux_init_signal not to trash muxname Otherwise the muxname passed to the function will get truncated. Based on an earlier patch by rockefeller.lin@innocomm.com. Reported-by: rockefeller.lin@innocomm.com Signed-off-by: Tony Lindgren commit 5c80cc78de46aef6cd5e714208da05c3f7f548f8 Author: Andreas Herrmann Date: Thu Sep 30 14:43:16 2010 +0200 x86, amd_nb: Enable GART support for AMD family 0x15 CPUs AMD CPU family 0x15 still supports GART for compatibility reasons. Signed-off-by: Andreas Herrmann LKML-Reference: <20100930124316.GG20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit d4fbe4f03557e1fd4d9bbb3a1957aad560f39e96 Author: Andreas Herrmann Date: Thu Sep 30 14:41:56 2010 +0200 x86, amd: Use compute unit information to determine thread siblings This information is vital for different load balancing policies. Signed-off-by: Andreas Herrmann LKML-Reference: <20100930124156.GF20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit 6057b4d331f19a3ea51aec463ea7839c128b3227 Author: Andreas Herrmann Date: Thu Sep 30 14:38:57 2010 +0200 x86, amd: Extract compute unit information for AMD CPUs Get compute unit information from CPUID Fn8000_001E_EBX. (See AMD CPUID Specification - publication # 25481, revision 2.34, September 2010.) Note that each core on a compute unit still has a core_id of its own. Signed-off-by: Andreas Herrmann LKML-Reference: <20100930123857.GE20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit 23588c38a84c9175c6668789b64ffba4651e5c6a Author: Andreas Herrmann Date: Thu Sep 30 14:36:28 2010 +0200 x86, amd: Add support for CPUID topology extension of AMD CPUs Node information (ID, number of internal nodes) is provided via CPUID Fn8000_001e_ECX. See AMD CPUID Specification (Publication # 25481, Revision 2.34, September 2010). Signed-off-by: Andreas Herrmann LKML-Reference: <20100930123628.GD20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit 420b13b60a3e5c5dcc6ec290e131cf5fbc603d94 Author: Andreas Herrmann Date: Thu Sep 30 14:33:58 2010 +0200 x86, nmi: Support NMI watchdog on newer AMD CPU families CPU families 0x12, 0x14 and 0x15 support this functionality. Signed-off-by: Andreas Herrmann LKML-Reference: <20100930123357.GC20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit 3fdbf004c1706480a7c7fac3c9d836fa6df20d7d Author: Andreas Herrmann Date: Thu Sep 30 14:32:35 2010 +0200 x86, mtrr: Assume SYS_CFG[Tom2ForceMemTypeWB] exists on all future AMD CPUs Instead of adapting the CPU family check in amd_special_default_mtrr() for each new CPU family assume that all new AMD CPUs support the necessary bits in SYS_CFG MSR. Tom2Enabled is architectural (defined in APM Vol.2). Tom2ForceMemTypeWB is defined in all BKDGs starting with K8 NPT. In pre K8-NPT BKDG this bit is reserved (read as zero). W/o this adaption Linux would unnecessarily complain about bad MTRR settings on every new AMD CPU family, e.g. [ 0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 4863MB of RAM. Cc: stable@kernel.org # .32.x, .35.x Signed-off-by: Andreas Herrmann LKML-Reference: <20100930123235.GB20545@loge.amd.com> Signed-off-by: H. Peter Anvin commit 86ffb08519d6fe1e9c4fe5a110ffa5fcb868cb1c Merge: 23ac4ae aeb9c7d Author: H. Peter Anvin Date: Fri Oct 1 16:18:11 2010 -0700 Merge remote branch 'origin/x86/cpu' into x86/amd-nb commit e33621a2e3f2b7b73259f6740776b3983ec5bab9 Author: FUJITA Tomonori Date: Fri Oct 1 14:15:27 2010 -0700 [IA64] enable ARCH_DMA_ADDR_T_64BIT Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit ebfa88cfa1f00022c500e35db63b5f6c977c95c0 Author: LoĂ¯c Minier Date: Mon Sep 27 23:04:20 2010 +0200 OMAP: PM: Fix build when CONFIG_PM_DEBUG isn't set Since 6cdee91257bee23a46dc869ca62469b67cba2c7e the references to enable_off_mode and sleep_while_idle can't be resolved when CONFIG_PM_DEBUG isn't set: arch/arm/mach-omap2/built-in.o: In function `omap_uart_restore_context': arch/arm/mach-omap2/serial.c:253: undefined reference to `enable_off_mode' arch/arm/mach-omap2/built-in.o: In function `omap3_can_sleep': arch/arm/mach-omap2/pm34xx.c:479: undefined reference to `sleep_while_idle' Simply #define these in pm.h just like omap2_pm_debug. Signed-off-by: LoĂ¯c Minier [khilman: moved down into existing #ifdef section] Signed-off-by: Kevin Hilman commit 65707fb3794e9cf75665f9ef91cfb07c50d3ffa5 Author: Kevin Hilman Date: Fri Oct 1 08:35:47 2010 -0700 OMAP3: CPUidle: remove redundant setting of PER next power state When checking how to program the next powerstate for the PER powerdomain, the next state of PER powerdomain was written twice. Remove the duplicate write. Reported-by: Santosh Shilimkar Signed-off-by: Kevin Hilman commit 35ed16740c564ff092fe45804dfbbb1449f2bd7e Author: Rahul Ruikar Date: Fri Oct 1 13:32:45 2010 -0700 [IA64] ioc3_serial: release resources in error return path In ioc3uart_probe() resources were not released during error return path - ports[phys_port] Signed-off-by: Rahul Ruikar Signed-off-by: Tony Luck commit 69758ab7a1e2de5636a2188d5357dd03140bf1d8 Merge: 963bfb0 257f23d Author: Kevin Hilman Date: Fri Oct 1 13:24:10 2010 -0700 manual merge for pm-hwmod-uart due to conflicts commit 963bfb0939232e415c7bfb19b08dce300eb148d9 Merge: 7ad0e38 7ec5ad0 Author: Kevin Hilman Date: Fri Oct 1 13:24:09 2010 -0700 Merge branch 'pm-hwmod-wdog' into pm-hwmods commit c49c06e4960949a9bced708858433fcf6ca36a9c Author: Vivek Goyal Date: Fri Oct 1 21:16:42 2010 +0200 blkio-throttle: Fix possible multiplication overflow in iops calculations o User can specify max iops value of 32bit (UINT_MAX), through cgroup interface. If a user has specified say 4294967294 (UNIT_MAX - 2), then on 32bit platform, following multiplication can overflow. io_allowed = (tg->iops[rw] * jiffy_elapsed_rnd) o Explicitly cast the multiplication to 64bit and then perform division and then check whether result is still great then UNINT_MAX. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 9355aede5a3c4975e0ba8bbfe2b9d1fd73308916 Author: Vivek Goyal Date: Fri Oct 1 21:16:41 2010 +0200 blkio-throttle: limit max iops value to UINT_MAX - Limit max iops value to UINT_MAX and return error to user if value is more than that instead of accepting bigger values and truncating implicitly. Signed-off-by: Jens Axboe commit 5e901a2b95db709c5e40599ff4df6029be1e2a12 Author: Vivek Goyal Date: Fri Oct 1 21:16:38 2010 +0200 blkio-throttle: There is no need to convert jiffies to milli seconds o Do not convert jiffies to mili seconds as it is not required. Just work with jiffies and HZ. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f9d885c3e59e50863565bddd2672656b57b15035 Author: Paul Mundt Date: Sat Oct 2 01:04:30 2010 +0900 sh: Support IRQ balancing for SH-X3 proto cores, too. This adds in hardware IRQ auto-distribution support for SH-X3 proto CPUs, following the SH7786 support. Signed-off-by: Paul Mundt commit e15f6870a2f2a29abcdb910b80f9629bcf7f5566 Author: Paul Mundt Date: Sat Oct 2 00:43:43 2010 +0900 sh: Support userimask for all SH-X3 interrupt controllers. This shuffles some of the shared bits out of the 7786 code and in to a shared SH-X3 support file. Presently just for userimask, but also a good place for the IRQ balancing wrappers. Signed-off-by: Paul Mundt commit 41f4a6f71fe33faa7971c173c263fb431fe987fe Merge: 94d57c4 1728943 Author: John W. Linville Date: Fri Oct 1 11:12:36 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 5140434d5f82f2e2119926272ada2e9731ec04f1 Author: Robert Richter Date: Thu Sep 30 18:55:47 2010 +0200 oprofile, x86: Simplify init/exit functions Now, that we only call the exit function if init succeeds with commit: 979048e oprofile: don't call arch exit code from init code on failure we can simplify the x86 init/exit functions too. Variable using_nmi becomes obsolete. Signed-off-by: Robert Richter commit 5924ad0d86fbc05bfb0c90afa15e20ccb7155549 Author: Paul Mundt Date: Fri Oct 1 23:49:56 2010 +0900 sh: Update SH-X3 subtype for clkdev lookups. Rewrite the SH-X3 proto CPU clock framework for clkdev. Signed-off-by: Paul Mundt commit f6dedecc37164a58bb80ae2ed9d204669ffc4850 Author: Jiri Olsa Date: Wed Sep 29 10:46:47 2010 -0400 oprofile, x86: Adding backtrace dump for 32bit process in compat mode This patch implements the oprofile backtrace generation for 32 bit applications running in the 64bit environment (compat mode). With this change it's possible to get backtrace for 32bits applications under the 64bits environment using oprofile's callgraph options. opcontrol --setup -c ... opreport -l -cg ... Signed-off-by: Jiri Olsa Signed-off-by: Robert Richter commit 40c6b3cb64cd1d02322df5f729cca25084580f40 Author: Jiri Olsa Date: Wed Sep 29 10:46:46 2010 -0400 oprofile, x86: Using struct stack_frame for 64bit processes dump Removing unnecessary struct frame_head and replacing it with struct stack_frame. The struct stack_frame is already defined and used in other places in kernel, so there's no reason to define new structure. Signed-off-by: Jiri Olsa Signed-off-by: Robert Richter commit b6dc79929fa18a97bbc08400db72405ad835622f Author: Pascal Auriel - Stantum Date: Fri Oct 1 16:01:28 2010 +0200 HID: support STmicroelectronics and Sitronix with hid-stantuml driver New VendorsIds/ProductIds using hid-stantum driver. Signed-off-by: Stantum Acked-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 921990b7046ab4fb523cbccc5bce2c921762232d Author: Henrik Rydberg Date: Tue Aug 31 21:56:24 2010 -0400 HID: magicmouse: Adjust major / minor axes to scale By visual inspection, the reported touch_major and touch_minor axes are roughly a factor of four too small. The factor is approximate, since the protocol is not known and the HID report encodes touch size with fewer bits than positions. This patch scales the reported values by a factor of four. Signed-off-by: Henrik Rydberg Signed-off-by: Chase Douglas Acked-by: Michael Poole Signed-off-by: Jiri Kosina commit f51661105c3c8a0afcd69f995a4f4a10e53da153 Author: Philipp Merkel Date: Fri Oct 1 15:38:59 2010 +0200 HID: Fix for problems with eGalax/DWAV multi-touch-screen This patch fixes three problems with the eGalax/DWAV multi-touch screen found in the Eee PC T101MT: 1) While there is a dedicated multitouch driver for the screen (hid-egalax.c), the MULTI_INPUT quirk is also applied, preventing the hid-egalax driver from working. This patch removes the quirk so the hid-egalax driver can handle the device correctly. 2) The x and y coordinates sent by the screen in multi-touch mode are shifted by three bits from the events sent in single-touch mode, thus the coordinates are out of range, leading to the pointer being stuck in the bottom-right corner if no additional calibration is applied (e.g. in the X evdev driver). This patch shifts the coordinates back. This does not decrease accuracy as the last three bits of the "wrong" coordinates are always 0. 3) Only multi-touch pressure events are sent, single touch emulation is missing pressure information. This patch adds single-touch ABS_PRESSURE events. Signed-off-by: Philipp Merkel Acked-by: StĂ©phane Chatty Signed-off-by: Jiri Kosina commit 00e7f9649b3061281fe4b463263da26155dc9be4 Author: Nikolai Kondrashov Date: Sat Sep 25 23:16:58 2010 +0400 HID: waltop: add support for Waltop Slim Tablet 12.1 inch Add support for Waltop Slim Tablet 12.1 inch by fixing its report descriptor. This mainly fixes button reporting. This tablet is also sold as Genius G-Pen F610. Other possible names of this tablet: VisTablet Original 12", Adesso CyberTablet Z12, Adesso CT-Z12A, PenPower Tooya Pro, Aiptek Slim 12.1 Inch Signed-off-by: Nikolai Kondrashov Signed-off-by: Jiri Kosina commit 8038298fde28a533da52a47fac87106b4bf9816c Author: Rok Mandeljc Date: Thu Sep 30 23:24:30 2010 +0200 HID: add NOGET quirk for AXIS 295 Video Surveillance Joystick This patch adds the NOGET quirk for AXIS 295 Video Surveillance Joystick (despite AXIS brand the vendor is actually CH Products). Without the quirk, the joystick is detected but does not generate any events. Signed-off-by: Rok Mandeljc Signed-off-by: Jiri Kosina commit 3aad5d3ee4e4fce8f4b5bb6ca73342dcade42b33 Author: Vivek Goyal Date: Fri Oct 1 14:51:14 2010 +0200 blkio-throttle: Fix link failure failure on i386 o Randy Dunlap reported following linux-next failure. This patch fixes it. on i386: blk-throttle.c:(.text+0x1abb8): undefined reference to `__udivdi3' blk-throttle.c:(.text+0x1b1dc): undefined reference to `__udivdi3' o bytes_per_second interface is 64bit and I was continuing to do 64 bit division even on 32bit platform without help of special macros/functions hence the failure. Signed-off-by: Vivek Goyal Reported-by: Randy Dunlap Signed-off-by: Jens Axboe commit fe0714377ee2ca161bf2afb7773e22f15f1786d4 Author: Vivek Goyal Date: Fri Oct 1 14:49:49 2010 +0200 blkio: Recalculate the throttled bio dispatch time upon throttle limit change o Currently any cgroup throttle limit changes are processed asynchronousy and the change does not take affect till a new bio is dispatched from same group. o It might happen that a user sets a redicuously low limit on throttling. Say 1 bytes per second on reads. In such cases simple operations like mount a disk can wait for a very long time. o Once bio is throttled, there is no easy way to come out of that wait even if user increases the read limit later. o This patch fixes it. Now if a user changes the cgroup limits, we recalculate the bio dispatch time according to new limits. o Can't take queueu lock under blkcg_lock, hence after the change I wake up the dispatch thread again which recalculates the time. So there are some variables being synchronized across two threads without lock and I had to make use of barriers. Hoping I have used barriers correctly. Any review of memory barrier code especially will help. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 02977e4af7ed3b478c505e50491ffdf3e1314cf4 Author: Vivek Goyal Date: Fri Oct 1 14:49:48 2010 +0200 blkio: Add root group to td->tg_list o Currently all the dynamically allocated groups, except root grp is added to td->tg_list. This was not a problem so far but in next patch I will travel through td->tg_list to process any updates of limits on the group. If root group is not in tg_list, then root group's updates are not processed. o It is better to root group also to tg_list instead of doing special processing for it during limit updates. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 61014e96e6ed55b8db0af31574eec2a75d4e8755 Author: Vivek Goyal Date: Fri Oct 1 14:49:44 2010 +0200 blkio: deletion of a cgroup was causes oops o Now a cgroup list of blkg elements can contain blkg from multiple policies. Before sending an unlink event, make sure blkg belongs to they policy. If policy does not own the blkg, do not send update for this blkg. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 13f98250f587b7defa39ed738dfa74b600e46e7b Author: Vivek Goyal Date: Fri Oct 1 14:49:41 2010 +0200 blkio: Do not export throttle files if CONFIG_BLK_DEV_THROTTLING=n Currently throttling related files were visible even if user had disabled throttling using config options. It was switching off background throttling of bio but not the cgroup files. This patch fixes it. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit efb012b361cf9319cd86ff169afa7550b7aa9336 Author: Malahal Naineni Date: Fri Oct 1 14:45:27 2010 +0200 block: set the bounce_pfn to the actual DMA limit rather than to max memory The bounce_pfn of the request queue in 64 bit systems is set to the current max_low_pfn. Adding more memory later makes this incorrect. Memory allocated beyond this boot time max_low_pfn appear to require bounce buffers (bounce buffers are actually not allocated but used in calculating segments that may result in "over max segments limit" errors). Signed-off-by: Malahal Naineni Signed-off-by: Jens Axboe commit 260a67a9e534f0c7d49ddd6451833d54ba39ac81 Author: Jens Axboe Date: Fri Oct 1 14:42:43 2010 +0200 block: revert bad fix for memory hotplug causing bounces Revert "block: set the bounce_pfn to the actual DMA limit rather than to max memory" This reverts commit c49825facfd4969585224a896a5e717f88450cad. Signed-off-by: Jens Axboe commit 94d57c4cfaa43e29ca5fa5ff874048cfc67276f5 Author: Vasanthy Kolluri Date: Thu Sep 30 13:36:05 2010 +0000 enic: Update MAINTAINERS Update MAINTAINERS list Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 2fdba3881154ee91927af7d7436d54eb05dcc3bf Author: Vasanthy Kolluri Date: Thu Sep 30 13:35:45 2010 +0000 enic: Make local functions static Make functions used locally in a file as static Signed-off-by: Stephen Hemminger Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit bf746e62afc83be1baccc0cc9e128a9805ecd5fd Author: Vasanthy Kolluri Date: Thu Sep 30 13:35:34 2010 +0000 enic: Remove dead code Removed code that is unused Signed-off-by: Stephen Hemminger Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 367e5e376922dcf52f92e1db436010fb828d3bfa Author: Eric Dumazet Date: Thu Sep 30 05:36:29 2010 +0000 neigh: reorder fields in struct neighbour On 64bit arches, there are two 32bit holes that we can remove. sizeof(struct neighbour) shrinks from 0xf8 to 0xf0 bytes Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bb7196d2bf30e4cb06fe5fed046c9084465e854c Author: Tilman Schmidt Date: Thu Sep 30 13:35:52 2010 +0000 isdn/gigaset: improve bas_gigaset USB error reporting Rephrase some USB error messages to make them clearer and more consistent. Downgrade some warning messages that may occur during normal operation to debug messages. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit c9c0c3043452d30ab87135ba3753ce7855a3a8e7 Author: Tilman Schmidt Date: Thu Sep 30 13:35:42 2010 +0000 isdn/gigaset: fix bas_gigaset interrupt read error handling Rework the handling of USB errors in interrupt input reads to clear halts correctly, delay URB resubmission after errors, limit retries, and improve error recovery. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4cb5e42f6132bf2d2851f8dd67bd8499979c7ebc Author: Tilman Schmidt Date: Thu Sep 30 13:35:31 2010 +0000 isdn/gigaset: unclog bas_gigaset AT response pipe Recover from a lost HD_RECEIVEATDATA_ACK message by sending a zero-length HD_READ_ATMESSAGE command when ev_layer sends "+++". Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 60798c68bebf6009df9da634e79ebdd8c8227238 Author: Tilman Schmidt Date: Thu Sep 30 13:35:21 2010 +0000 isdn/gigaset: try USB reset for bas_gigaset error recovery In error_reset(), if sending HD_RESET_INTERRUPT_PIPE to the device fails, try performing an USB reset. Also correct an error in the leading comment. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 1d5a9edcd5f1fe6483afca33294ed0ebab793ebf Author: Tilman Schmidt Date: Thu Sep 30 13:35:11 2010 +0000 isdn/gigaset: bas_gigaset timer cleanup Use setup_timer() and mod_timer() instead of direct assignment to timer structure members, simplify the argument of one timer routine, and make extra sure all timers are stopped during suspend. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit befba36ab942c44ba1d3761a7439324fff83638f Author: Tilman Schmidt Date: Thu Sep 30 13:35:01 2010 +0000 isdn/gigaset: drop obsolete debug option Remove the debug flag DEBUG_DRIVER and associated code. It doesn't serve any useful purpose anymore. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit f3d531b99fb30945b4a64d6e2e86e1e62605aca5 Author: Tilman Schmidt Date: Thu Sep 30 13:34:51 2010 +0000 isdn/gigaset: correct bas_gigaset rx buffer handling In transparent data reception, avoid a NULL pointer dereference in case an skbuff cannot be allocated, remove an inappropriate call to the HDLC flush routine, and correct the accounting of received bytes for continued buffers. Signed-off-by: Tilman Schmidt CC: stable Signed-off-by: David S. Miller commit c8701a08d6a4efeae45d84d0aa87172f23b14e3c Author: Tilman Schmidt Date: Thu Sep 30 13:34:40 2010 +0000 isdn/gigaset: fix bas_gigaset AT read error handling Rework the handling of USB errors in AT response reads to fix a possible infinite retry loop and a memory leak, and silence a few overly verbose kernel messages. Signed-off-by: Tilman Schmidt CC: stable Signed-off-by: David S. Miller commit b33ffa5cbf52ee751bb8068218ebb3c742c5a515 Author: Tilman Schmidt Date: Thu Sep 30 13:34:30 2010 +0000 isdn/gigaset: bas_gigaset locking fix Unlock cs->lock before calling error_hangup() which is marked "cs->lock must not be held". Signed-off-by: Tilman Schmidt CC: stable Signed-off-by: David S. Miller commit bd9e310dca15c9987256f67af19f9f42426e7493 Author: Uwe Kleine-König Date: Tue Sep 28 22:04:01 2010 +0200 ARM: imx/pca100: only specify i2c device type once The first argument to I2C_BOARD_INFO is used to assign .type, so it should not be specified a second time. For the rtc-pcf8563/pcf8563 entry gcc preferred pcf8563, so did I. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 214b43100fd59e55fcd265329aafd14ab01ec30d Author: Uwe Kleine-König Date: Tue Sep 28 21:55:22 2010 +0200 ARM: imx/pcm970: make platform_data static This fixes the following sparse warning: arch/arm/mach-imx/pcm970-baseboard.c:224:13: warning: symbol 'pcm970_baseboard_init' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 6c80ee51707ec9fcf137bc7b511d2853b772eae6 Author: Uwe Kleine-König Date: Tue Sep 28 21:53:31 2010 +0200 ARM: imx: make all pin lists const and signed, move to .init where possible Making the lists signed fixes sparse warnings like: arch/arm/mach-imx/mach-mx27_3ds.c:94:31: warning: incorrect type in argument 1 (different signedness) arch/arm/mach-imx/mach-mx27_3ds.c:94:31: expected int const *pin_list arch/arm/mach-imx/mach-mx27_3ds.c:94:31: got unsigned int static [toplevel] * Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 7ad211e35b41166ccf8448345726f324f26260f7 Author: Uwe Kleine-König Date: Tue Sep 28 21:39:49 2010 +0200 ARM: imx/pcm038: make regulator platform data static This fixes the following sparse warning: arch/arm/mach-imx/pcm970-baseboard.c:203:30: warning: symbol 'pcm970_sja1000_platform_data' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 13040066e28688b635801cdd5c6587fddae0e232 Author: Uwe Kleine-König Date: Tue Sep 28 21:37:20 2010 +0200 ARM: imx/clock-imx27: Pass NULL as function callback, not 0 This fixes many sparse warnings like: arch/arm/mach-imx/clock-imx27.c:597:1: warning: Using plain integer as NULL pointer Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8f6e900a661881f9585d9b3a7173a44020c3c0b2 Author: Sascha Hauer Date: Wed Aug 25 11:56:26 2010 +0200 ARM: mx5: clock-imx51: make *ipg clocks secondary clocks of their corresponding peripheral clocks Currently the uarts and timer only work because they are turned on by reset default. Make them secondary clocks of their corresponding peripheral clocks to make sure they are turned on when necessary. Also, register some clocks to get rid of compiler warnings Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 63a7c6d7507ed6f4ea24a8ed008efa1bb22a2a97 Author: Sascha Hauer Date: Tue Aug 3 11:59:46 2010 +0200 ARM: mx5: dynamically register mxc-nand device Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 00b57bf9786ca701508333112c8917d1e0860129 Author: Uwe Kleine-König Date: Mon Aug 23 11:25:52 2010 +0200 ARM: imx: reorganize nand registration to use a struct Addiontionally make the interrupt #defines match the base address defines MX.._NFC_BASE_ADDR. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 40e2eda92178f58fd7da2866d3f346dcd2baafed Author: Sascha Hauer Date: Fri Aug 20 16:44:34 2010 +0200 ARM: mx51: Add audmux support Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit b86186610f639344a7db54da89267f645afc30ec Author: Sascha Hauer Date: Fri Aug 20 16:43:54 2010 +0200 ARM: mx51: add imx-ssi devices Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 04b73b1571c26d491c62c42cb06b96bf482fa7a2 Author: Uwe Kleine-König Date: Wed Aug 11 22:23:06 2010 +0200 ARM: mx51: dynamically register imx-uart devices Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 2b82e64d787f9d1a5d304da137c2b1bdbe3b2d9d Author: Sascha Hauer Date: Tue Aug 3 11:59:07 2010 +0200 ARM: mx5: Add Nand clock support Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit f781bc8aa44c8676ad84b69fc4553e8f035c6e89 Author: Sascha Hauer Date: Tue Aug 24 14:49:09 2010 +0200 ARM: mx5/iomux-mx51: Fix input path of some pins in gpio mode Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 2e35bab5fd8b19a8eabbb4c57b3ddd305057eed4 Author: Sascha Hauer Date: Fri Aug 20 18:35:51 2010 +0200 ARM: mx5/iomux-mx51: Add aud3 primary function defines Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8efd9271fae0a735db5660330e14022031c88e77 Author: Sascha Hauer Date: Fri Aug 20 10:45:11 2010 +0200 ARM: mx5/iomux-mx51: Add SPI controller pads Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8005cf2eb39786a0a3592fe178603ee1caccc5eb Author: Jason Wang Date: Thu Sep 2 15:52:04 2010 +0800 ARM: mx5/mx51_3ds: add SPI NOR flash in the board init stage A 2M bytes SPI NOR flash(sst25vf016b) is soldered on the mx51_3ds board. So add the corresponding device for it. Signed-off-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 988916e1a9af1994d510138e7201acf7b425fb46 Author: Jason Wang Date: Thu Sep 2 15:52:03 2010 +0800 ARM: mx5/mx51_3ds: add eCSPI2 support on the imx51_3ds board Signed-off-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit eaa4fd0b4022bd4d2ff0c38b3cc936ee5a441711 Author: Jason Wang Date: Thu Sep 2 15:52:02 2010 +0800 ARM: mx5/iomux-mx51: add iomux definitions for eCSPI2 on the imx51_3ds board On the imx51_3ds board, eCSPI2 is connected to a SPI NOR flash, now add iomux definitions for those used pins. Signed-off-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8d83db81affd71af0fb6f054ab552d16a7cb805b Author: Jason Wang Date: Thu Sep 2 15:52:00 2010 +0800 ARM: mx5/clock-mx51: add spi clocks Signed-off-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 74d99f395901502747a44a1379f3b4fdb638dafa Author: Uwe Kleine-König Date: Fri Sep 10 17:01:26 2010 +0200 ARM: mx5/clock-mx51: new macro that defines a clk with all members Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 79901478e0a2854c4becbb2e77f176bd7fa37caa Author: Uwe Kleine-König Date: Fri Sep 10 16:58:42 2010 +0200 ARM: mx5/clock-mx51: refactor ccgr callbacks to use common code Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 9f0c11ee67d9a5ab76c27d2f9dbdd9ee85fbce10 Author: Uwe Kleine-König Date: Fri Sep 10 16:57:07 2010 +0200 ARM: mx5: add spi_imx device registration Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit ab5605037c119f1bde0f01786ede16d0ea5dcd8a Author: Uwe Kleine-König Date: Thu Sep 9 21:02:02 2010 +0200 ARM: imx: use platform ids for spi_imx devices The driver recently learned to handle platform ids. Make use of this new feature. The up side is that the driver needs less knowledge about the spi interfaces used on different SoCs. Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 0b599603d8534bc3946a0f07e461c76d7947dfcf Author: Uwe Kleine-König Date: Thu Sep 9 21:02:48 2010 +0200 spi/imx: add support for imx51's eCSPI and CSPI i.MX51 comes with two eCSPI interfaces (that are quite different from what was known before---the tried and tested Freescale way) and a CSPI interface that is identical to the devices found on i.MX25 and i.MX35. This patch is a merge of two very similar patches (by Jason Wang and Sascha Hauer resp.) plus a (now hopefully correct) reimplementation of the clock calculation. Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 3b2aa89eb381d2f445aa3c60d8f070a3f55efa63 Author: Uwe Kleine-König Date: Fri Sep 10 09:42:29 2010 +0200 spi/imx: save the spi chip select in config struct, not the gpio to use This prepares adding support for imx51's eCSPI. This IP has seperate control and config bits for all four supported chip selects, so the config routine needs to know which chip select is being used even if the chipselect is realized by a gpio. Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 1723e66b03c3d131d16f7646752c9782c66ea1ae Author: Uwe Kleine-König Date: Fri Sep 10 09:19:18 2010 +0200 spi/imx: get rid of more ifs depending on the used cpu Nearly everything that is needed is provided by the version of the SPI IP. Now the only checks left using cpu_is_... are clk divider tuning on mx21/mx27 and autodetection (which will die soon). Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit f4ba6315cb77a5dcff6664ce1d66ebfe31bcc6b1 Author: Uwe Kleine-König Date: Thu Sep 9 15:29:01 2010 +0200 spi/imx: convert driver to use platform ids This has the advantage not to need to much cpu_is_... macros. Still more when imx51 support is added which has two different spi interfaces which would introduce additional checks on the device id. With this setup it's not possible for the compiler anymore to detect the unused functions, so four additional kconfig symbols are introduced to ifdef out the unneeded functions in the callback array and all these functions are marked with __maybe_unused to suppress the corresponding gcc warnings. Comparing the driver footprint with and without the patch for a mx27 kernel yields: add/remove: 2/0 grow/shrink: 2/0 up/down: 280/0 (280) function old new delta spi_imx_devtype - 192 +192 spi_imx_probe 980 1032 +52 spi_imx_devtype_data - 32 +32 spi_imx_setupxfer 276 280 +4 Later when the platform code is updated to use the platform ids, the autodetection can be removed which will make the driver a bit smaller again. (~60 Bytes in my test.) Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit e89524d33deb55de28b4ab171e4b0f89d46b2d4e Author: Uwe Kleine-König Date: Thu Sep 9 11:12:12 2010 +0200 spi/imx: default to m on platforms that have such devices Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 77a406da5a5b76445a816d5f043fc9aef4026ff1 Author: Uwe Kleine-König Date: Wed Aug 25 12:19:50 2010 +0200 ARM: imx: fix name of macros to add imx-i2c devices This is a follow up to c698715 (ARM: imx: dynamically register imx-i2c devices (imx27)) 2b92084 (ARM: imx: dynamically register imx-i2c devices (imx21)) 6348e6b (ARM: imx: dynamically register imx-i2c devices (imx1)) Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 44505c0768971f4aa94ca09c8155448a46a7ff8a Author: Uwe Kleine-König Date: Thu Sep 30 16:44:53 2010 +0200 ARM: mx5: dynamically register imx-i2c devices Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit c7ebfdaca0b89fe9d846e93b249303313612d0e3 Author: Matt Carlson Date: Thu Sep 30 10:34:37 2010 +0000 tg3: Update version to 3.114 This patch updates the tg3 version to 3.114. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 7cb32cf23c63a371cf89bfaad3f911a1609241cc Author: Matt Carlson Date: Thu Sep 30 10:34:36 2010 +0000 tg3: Add extend rx ring sizes for 5717 and 5719 This patch increases the rx ring sizes for those asic revs that support them. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 2c49a44df33e22e1f48bd8d51781e7f38d55d002 Author: Matt Carlson Date: Thu Sep 30 10:34:35 2010 +0000 tg3: Prepare for larger rx ring sizes This patch adds two new variables to track the size of the standard and jumbo rx producer ring sizes. The code is then pivoted to these variables from preprocessor constants. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 1da85aa3db6878639e407548dad5b2404443e2c5 Author: Matt Carlson Date: Thu Sep 30 10:34:34 2010 +0000 tg3: Futureproof the loopback test There are other multiqueue modes 5717 and 5719 devices can assume. This patch makes sure that the loopback test is safe, should those other modes be enabled in the future. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 37a949c54857d8b2a38dbdc75bc8666c3292cbc4 Author: Matt Carlson Date: Thu Sep 30 10:34:33 2010 +0000 tg3: Cleanup missing VPD partno section This patch cleans up the default VPD partno section. New entries for 5717 asic rev devices were also added. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f51a8903f14512f5ce61a74657db7f84f16b2717 Author: Matt Carlson Date: Thu Sep 30 10:34:32 2010 +0000 tg3: Remove 5724 device ID This product was never released to the public. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit d309a46e42542223946d3a9e4e239fdc945cb53e Author: Matt Carlson Date: Thu Sep 30 10:34:31 2010 +0000 tg3: 5719: Prevent tx data corruption This patch enables a bit that prevents read DMA overflows and adjusts the txmbuf margin from the hardware default. The combination of these modifications prevents a tx data corruption issue we were seeing on the 5719. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 66cfd1bd05a7a1c31c9cdbb2ddf5c57d1cddc5f6 Author: Matt Carlson Date: Thu Sep 30 10:34:30 2010 +0000 tg3: Fix potential netpoll crash Up until now the tg3 driver would call netif_napi_add() for the maximum number of NAPI instances the driver could use. The problem is that netpoll could call tg3_poll() on instances that are not active. The net effect is that the driver will crash attempting to dereference uninitialized pointers. The fix is to only allocate as many NAPI instances as the driver would use in tg3_open() and deleted them in tg3_close(). Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 205d231bfbd26bb10400518586d2a9f1b62858ee Author: Mark Brown Date: Thu Sep 30 13:46:14 2010 -0700 ASoC: Remove -dai suffix from i.MX SSI driver While it is a generic serial port in practice the i.MX SSI is only supported in Linux as an audio port (the i.MX has dedicated SPI controllers and so on). This means we don't need to disambiguate against other uses of the hardware and so can drop the -dai suffix from the driver name which fixes merge issues with the i.MX tree in -next. Signed-off-by: Mark Brown Acked-by: Uwe Kleine-König Acked-by: Liam Girdwood commit 40de9a7cebc4e0b23cd6863c84c2279f0ccadebb Author: Christoph Hellwig Date: Fri Oct 1 09:12:08 2010 +0200 hfsplus: fix rename over directories When renaming over a directory we need to use hfsplus_rmdir instead of hfsplus_unlink to evict the victim. This makes sure we properly error out on non-empty directory as required by Posix (BZ #16571), and it also makes sure we do the right thing in case i_nlink will every be set correctly for directories on hfsplus. Reported-by: Vlado Plaga Signed-off-by: Christoph Hellwig commit ef70fcc0cd5d98f5e2df82c9e598b47f351d4f66 Merge: 4cbe75b 98d943b Author: Robert Richter Date: Fri Oct 1 08:54:17 2010 +0200 Merge branch 'oprofile/urgent' into oprofile/core Conflicts: arch/arm/oprofile/common.c Signed-off-by: Robert Richter commit 0197aa38df2ce550c0bfc96194b07ce6b68af814 Author: Eric Dumazet Date: Thu Sep 30 03:33:58 2010 +0000 ipv4: rcu conversion in ip_route_output_slow ip_route_output_slow() is enclosed in an rcu_read_lock() protected section, so that no references are taken/released on device, thanks to __ip_dev_find() & dev_get_by_index_rcu() Tested with ip route cache disabled, and a stress test : Before patch: elapsed time : real 1m38.347s user 0m11.909s sys 23m51.501s Profile: 13788.00 22.7% ip_route_output_slow [kernel] 7875.00 13.0% dst_destroy [kernel] 3925.00 6.5% fib_semantic_match [kernel] 3144.00 5.2% fib_rules_lookup [kernel] 3061.00 5.0% dst_alloc [kernel] 2276.00 3.7% rt_set_nexthop [kernel] 1762.00 2.9% fib_table_lookup [kernel] 1538.00 2.5% _raw_read_lock [kernel] 1358.00 2.2% ip_output [kernel] After patch: real 1m28.808s user 0m13.245s sys 20m37.293s 10950.00 17.2% ip_route_output_slow [kernel] 10726.00 16.9% dst_destroy [kernel] 5170.00 8.1% fib_semantic_match [kernel] 3937.00 6.2% dst_alloc [kernel] 3635.00 5.7% rt_set_nexthop [kernel] 2900.00 4.6% fib_rules_lookup [kernel] 2240.00 3.5% fib_table_lookup [kernel] 1427.00 2.2% _raw_read_lock [kernel] 1157.00 1.8% kmem_cache_alloc [kernel] Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 82efee1499a27c06f5afb11b07db384fdb3f7004 Author: Eric Dumazet Date: Thu Sep 30 03:31:56 2010 +0000 ipv4: introduce __ip_dev_find() ip_dev_find(net, addr) finds a device given an IPv4 source address and takes a reference on it. Introduce __ip_dev_find(), taking a third argument, to optionally take the device reference. Callers not asking the reference to be taken should be in an rcu_read_lock() protected section. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 467c3d9cd541eef284ff8118069b088e015b8d6a Author: Thomas Gleixner Date: Fri Oct 1 05:46:52 2010 +0200 hfsplus: convert tree_lock to mutex tree_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Christoph Hellwig commit 7fcc99f4f2ddb1c39abc05fbb9b32f05b03c7f8f Author: Christoph Hellwig Date: Fri Oct 1 05:46:31 2010 +0200 hfsplus: add missing extent locking in hfsplus_write_inode Most of the extent handling code already does proper SMP locking, but hfsplus_write_inode was calling into hfsplus_ext_write_extent without taking the extents_lock. Fix this by splitting hfsplus_ext_write_extent into an internal helper that expects the lock, and a public interface that first acquires it. Also add a few locking asserts and document the locking rules in hfsplus_fs.h. Signed-off-by: Christoph Hellwig commit 89755dcace09b44b3aa024bf302d9b19b4c24cad Author: Christoph Hellwig Date: Fri Oct 1 05:45:25 2010 +0200 hfsplus: protect readdir against removals from open_dir_list We already have i_mutex for readdir and the namespace operations that add entries to open_dir_list, the only thing that was missing was the removal in hfsplus_dir_release. Signed-off-by: Christoph Hellwig commit 84adede31267af37141da2b2b04293c5ea8af7ae Author: Christoph Hellwig Date: Fri Oct 1 05:45:20 2010 +0200 hfsplus: use atomic bitops for the superblock flags The flags in the HFS+-specific superlock do get modified during runtime, use atomic bitops to make the modifications SMP safe. Signed-off-by: Christoph Hellwig commit 7ac9fb9c2a50963b699b3548e6f00698c1554dc6 Author: Christoph Hellwig Date: Fri Oct 1 05:45:08 2010 +0200 hfsplus: add per-superblock lock for volume header updates Lock updates to the mutal fields in the volume header, and document the locing in the hfsplus_sb_info structure. Signed-off-by: Christoph Hellwig commit 58a818f532e83f337689358c102ba2048d1b37f5 Author: Christoph Hellwig Date: Fri Oct 1 05:44:02 2010 +0200 hfsplus: remove the rsrc_inodes list We never walk the list - the only reason for it is to make the resource fork inodes appear hashed to the writeback code. Borrow a trick from JFS to do that without needing a list head. Signed-off-by: Christoph Hellwig commit 66e5db05bb6670f314d90aba5998e6a033e4d563 Author: Christoph Hellwig Date: Fri Oct 1 05:43:58 2010 +0200 hfsplus: do not cache and write next_alloc We never look at it, nor change the next_alloc field in the superblock. So don't bother caching it or writing it out in hfsplus_sync_fs. Signed-off-by: Christoph Hellwig commit f17c89bfcc9cccd405098eac3ec1ebfddf03279e Author: Christoph Hellwig Date: Fri Oct 1 05:43:54 2010 +0200 hfsplus: fix error handling in hfsplus_symlink We need to free the inode again on a hfsplus_create_cat failure. Signed-off-by: Christoph Hellwig commit 30d3abbec730a5a9c954a6342271f7a7db155b08 Author: Christoph Hellwig Date: Fri Oct 1 05:43:50 2010 +0200 hfsplus: merge mknod/mkdir/creat Make hfsplus_mkdir and hfsplus_create call hfsplus_mknod instead of duplicating the code. Signed-off-by: Christoph Hellwig commit b5080f77ed2de3c8ac67a63044f8a781c75207d9 Author: Christoph Hellwig Date: Fri Oct 1 05:43:43 2010 +0200 hfsplus: clean up hfsplus_write_inode Add a new hfsplus_system_write_inode for writing the special system inodes and streamline the fastpath write_inode code. Signed-off-by: Christoph Hellwig commit fc4fff82104fa096eada73943fe5249500acd5fa Author: Christoph Hellwig Date: Fri Oct 1 05:43:41 2010 +0200 hfsplus: clean up hfsplus_iget Add a new hfsplus_system_read_inode for reading the special system inodes and streamline the fastpath iget code. Signed-off-by: Christoph Hellwig commit 6af502de224c3742936d54eee7e3690c09822934 Author: Christoph Hellwig Date: Fri Oct 1 05:43:31 2010 +0200 hfsplus: fix HFSPLUS_I calling convention HFSPLUS_I doesn't return a pointer to the hfsplus-specific inode information like all other FOO_I macros, but dereference the pointer in a way that made it look like a direct struct derefence. This only works as long as the HFSPLUS_I macro is used directly and prevents us from keepig a local hfsplus_inode_info pointer. Fix the calling convention and introduce a local hip variable in all functions that use it constantly. Signed-off-by: Christoph Hellwig commit dd73a01a30d729e8fa6f829c4582650e258e36f9 Author: Christoph Hellwig Date: Fri Oct 1 05:42:59 2010 +0200 hfsplus: fix HFSPLUS_SB calling convention HFSPLUS_SB doesn't return a pointer to the hfsplus-specific superblock information like all other FOO_SB macros, but dereference the pointer in a way that made it look like a direct struct derefence. This only works as long as the HFSPLUS_SB macro is used directly and prevents us from keepig a local hfsplus_sb_info pointer. Fix the calling convention and introduce a local sbi variable in all functions that use it constantly. Signed-off-by: Christoph Hellwig commit e753a62156e952fd5a3c64f98454d9aeee3a2546 Author: Christoph Hellwig Date: Fri Oct 1 05:41:53 2010 +0200 hfsplus: remove BKL from hfsplus_put_super Except for ->put_super the BKL is now gone from HFS, which means it's superflous there too as ->put_super is serialized by the VFS. Signed-off-by: Christoph Hellwig commit a9fdbf8c6070d49c482e209df7ee93d9ec41ea27 Author: Christoph Hellwig Date: Fri Oct 1 05:41:50 2010 +0200 hfsplus: use alloc_mutex in hfsplus_sync_fs Use alloc_mutex to protect hfsplus_sync_fs against itself and concurrent allocations, which allows to get rid of lock_super in hfsplus. Note that most fields in the superblock still aren't protected against concurrent allocations, that will follow later. Signed-off-by: Christoph Hellwig commit 40bf48afe92fcea61e7e164f0b2599fba8b88124 Author: Christoph Hellwig Date: Fri Oct 1 05:41:39 2010 +0200 hfsplus: introduce alloc_mutex Use a new per-sb alloc_mutex instead of abusing i_mutex of the alloc_file to protect block allocations. This gets rid of lockdep nesting warnings and prepares for extending the scope of alloc_mutex. Signed-off-by: Christoph Hellwig commit 6333816ade7e04a96ec0a34a8378c455e4f7c4dd Author: Christoph Hellwig Date: Fri Oct 1 05:41:35 2010 +0200 hfsplus: protect setflags using i_mutex Use i_mutex for protecting against concurrent setflags ioctls like in other filesystems and get rid of the BKL in hfsplus_ioctl. Signed-off-by: Christoph Hellwig commit 94744567fef9602c3d8218a1d8f58c04cce354f6 Author: Christoph Hellwig Date: Fri Oct 1 05:41:31 2010 +0200 hfsplus: split hfsplus_ioctl Give each ioctl command a function of it's own. Signed-off-by: Christoph Hellwig commit 249e6353001e407edf5c9a74482ecfca90c8ff33 Author: Christoph Hellwig Date: Fri Oct 1 05:41:27 2010 +0200 hfsplus: fix BKL leak in hfsplus_ioctl Currenly the HFSPLUS_IOC_EXT2_GETFLAGS case never unlocks the BKL, which can lead to easily reproduced lockups when doing multiple GETFLAGS ioctls. Fix this by only taking the BKL for the HFSPLUS_IOC_EXT2_SETFLAGS case as neither HFSPLUS_IOC_EXT2_GETFLAGS not the default error case needs it. Signed-off-by: Christoph Hellwig commit 828bac87bb074f3366621724fdfbe314f98ccc7e Author: Bruce Allan Date: Wed Sep 29 21:39:37 2010 +0000 e1000e: 82579 performance improvements The initial support for 82579 was tuned poorly for performance. Adjust the packet buffer allocation appropriately for both standard and jumbo frames; and for jumbo frames increase the receive descriptor pre-fetch, disable adaptive interrupt moderation and set the DMA latency tolerance. Signed-off-by: Bruce Allan Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3a3b75860527a11ba5035c6aa576079245d09e2a Author: Jesse Brandeburg Date: Wed Sep 29 21:38:49 2010 +0000 e1000e: use hardware writeback batching Most e1000e parts support batching writebacks. The problem with this is that when some of the TADV or TIDV timers are not set, Tx can sit forever. This is solved in this patch with write flushes using the Flush Partial Descriptors (FPD) bit in TIDV and RDTR. This improves bus utilization and removes partial writes on e1000e, particularly from 82571 parts in S5500 chipset based machines. Only ES2LAN and 82571/2 parts are included in this optimization, to reduce testing load. Signed-off-by: Jesse Brandeburg Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6af3b9ebfea38d0a057fbd7bdcecc61ac5662f02 Author: Emil Tantilov Date: Wed Sep 29 21:35:23 2010 +0000 ixgbe: fix link issues and panic with shared interrupts for 82598 Fix possible panic/hang with shared Legacy interrupts by not enabling interrupts when interface is down. Also fixes an intermittent link by enabling LSC upon exit from ixgbe_intr() This patch adds flags to ixgbe_irq_enable() to allow for some flexibility when enabling interrupts. Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dd28d1a0b5ecc0f5512f658b1a8fd38bc4f4c98c Author: Eric Dumazet Date: Wed Sep 29 11:53:50 2010 +0000 ipv4: __mkroute_output() speedup While doing stress tests with a disabled IP route cache, I found __mkroute_output() was touching three times in_device atomic refcount. Use RCU to touch it once to reduce cache line ping pongs. Before patch time to perform the test real 1m42.009s user 0m12.545s sys 25m0.726s Profile : 16109.00 26.4% ip_route_output_slow vmlinux 7434.00 12.2% dst_destroy vmlinux 3280.00 5.4% fib_rules_lookup vmlinux 3252.00 5.3% fib_semantic_match vmlinux 2622.00 4.3% fib_table_lookup vmlinux 2535.00 4.1% dst_alloc vmlinux 1750.00 2.9% _raw_read_lock vmlinux 1532.00 2.5% rt_set_nexthop vmlinux After patch real 1m36.503s user 0m12.977s sys 23m25.608s 14234.00 22.4% ip_route_output_slow vmlinux 8717.00 13.7% dst_destroy vmlinux 4052.00 6.4% fib_rules_lookup vmlinux 3951.00 6.2% fib_semantic_match vmlinux 3191.00 5.0% dst_alloc vmlinux 1764.00 2.8% fib_table_lookup vmlinux 1692.00 2.7% _raw_read_lock vmlinux 1605.00 2.5% rt_set_nexthop vmlinux Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e1a5964f0c32a75b17360cfc565d25aaedbff747 Author: RĂ©mi Denis-Courmont Date: Wed Sep 29 22:33:50 2010 +0000 Phonet: restore flow control credits when sending fails This patch restores the below flow control patch submitted by RĂ©mi Denis-Courmont, which accidentaly got lost due to Pipe controller patch on Phonet. commit 1a98214feef2221cd7c24b17cd688a5a9d85b2ea Author: RĂ©mi Denis-Courmont Date: Mon Aug 30 12:57:03 2010 +0000 Phonet: restore flow control credits when sending fails Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller Signed-off-by: Kumar Sanghvi Acked-by: Linus Walleij Signed-off-by: David S. Miller commit 1020660189bb72ae25fd68733ee473d29b8604b5 Author: Philip Rakity Date: Tue Sep 28 04:26:30 2010 +0000 net: pxa168_etc.c recognize additional contributors Signed-off-by: Philip Rakity Signed-off-by: Sachin Sanap Signed-off-by: Mark Brown Signed-off-by: David S. Miller commit d330a080a87831b693a2dad1058cd11bbb6c3736 Author: Mark Brown Date: Thu Sep 30 14:18:48 2010 -0700 ASoC: Relax restrictions on WM8962 BCLK configuration The restrictions on configuring BCLK are overly cautious, other constraints in the system should ensure that reconfiguration is not possible when the device is sufficiently active to be unable to support reclocking. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 33cf45c80f7dc96ff228387add4474b14ff5e1e2 Author: Dimitris Papastamos Date: Wed Sep 29 11:14:56 2010 +0100 ASoC: WM8804: Initial driver The WM8804 is a high performance consumer mode S/PDIF transceiver with support for 1 received channel and 1 transmitted channel. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 6b90b55ccc7c8ad12dd21ae536ab7747313df927 Author: Dimitris Papastamos Date: Wed Sep 29 11:48:19 2010 +0100 ASoC: Remove unneeded use of spi_bus_type No need to explicitly set the bus type, spi_register_driver does that for us. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a4f28c001d9fbe378852771c0734af4f7798d3c0 Author: Mark Brown Date: Wed Sep 29 13:24:35 2010 -0700 ASoC: Provide microphone bias configuration for WM8962 Add the widget for MICBIAS power control and allow configuration of the microphone bias setup via the platform data for the WM8962. When microphone status signals are brought out to GPIO this should be sufficient to enable microphone detection. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit dee0bb9d0fef4535cc52df84b5165cbe2db383d7 Author: Mark Brown Date: Wed Sep 29 11:46:37 2010 -0700 ASoC: Mark WM8962 Additional Control 4 register as volatile There are some status bits for microphone detection in here. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 46290341cd649c2bfb69e5067c1804c0395c83a1 Author: Bob Peterson Date: Thu Sep 30 10:34:00 2010 -0400 GFS2 fatal: filesystem consistency error on rename This patch fixes a GFS2 problem whereby the first rename after a mount can result in a file system consistency error being flagged improperly and cause the file system to withdraw. The problem is that the rename code tries to run the rgrp list with function gfs2_blk2rgrpd before the rgrp list is guaranteed to be read in from disk. The patch makes the rename function hold the rindex glock (as the gfs2_unlink code does today) which reads in the rgrp list if need be. There were a total of three places in the rename code that improperly referenced the rgrp list without the rindex glock and this patch fixes all three. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 4cb36310848fd17766aa72afd1f2873f54b4e055 Author: David Henningsson Date: Thu Sep 30 10:12:50 2010 +0200 ALSA: HDA: Add position_fix=3 module option, and refactor related code What was previously known as via_dmapos_patch, and hard-coded to be used for VIA and ATI controllers, is now configurable through a module option. The background is that some VIA controllers seem to prefer via_dmapos_patch to be turned off. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit b365a85c68161ea5db5476eb8845a91ceb1777ea Author: Dan Carpenter Date: Wed Sep 29 10:41:05 2010 +0200 x86, UV: Use allocated buffer in tlb_uv.c:tunables_read() The original code didn't check that the value returned from snprintf() was less than the size of the buffer. Although it didn't cause a runtime bug in this case, it makes the static checkers complain. Andrew Morton suggested a dynamically sized buffer would be cleaner. Suggested-by: Andrew Morton Signed-off-by: Dan Carpenter Cc: Cliff Wickman Cc: Jack Steiner Cc: Robin Holt LKML-Reference: <20100929083118.GA6376@bicker> Signed-off-by: Ingo Molnar commit c76a544feb63b10883acff9a59cd989c6b438cd3 Merge: 095a0f6 20d9a26 Author: Takashi Iwai Date: Thu Sep 30 08:42:14 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit 6d0722a2cec2c23db3b0855ff8bb433175a16b44 Author: Eric Dumazet Date: Wed Sep 29 23:35:10 2010 -0700 ip_gre: comments change HARD_TX_LOCK no longer protects tunnels from dead loops, but xmit_recursion percpu counter. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65836112fc24bdf009554481b36b6ba0a690b855 Author: Ohad Ben-Cohen Date: Tue Sep 28 20:20:28 2010 +0200 wl12xx: fix non-wl12xx build scenarios Support building wl1271-equipped boards without building the wl1271 driver itself, e.g.: CONFIG_MACH_OMAP_ZOOM3=y CONFIG_WL12XX is not set Reported-by: John W. Linville Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit 9812cb12c9d58c5d9aead84eb2e7864c68c80302 Author: Ondrej Zary Date: Tue Sep 28 08:46:17 2010 +0000 de2104x: remove experimental status It should be ready after 8 years...remove the experimental dependency. Signed-off-by: Ondrej Zary Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 862ea4f263c68680558382c1475ad3032c7fd7d4 Author: Ondrej Zary Date: Tue Sep 28 08:18:55 2010 +0000 de2104x: disable media debug messages by default Print media debug messages only when HW debug is enabled. Signed-off-by: Ondrej Zary Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit ef09aadf7bf1a17f4d4938855238c0fd8749a99f Author: Andrew Gallatin Date: Tue Sep 28 08:13:12 2010 +0000 myri10ge: DCA update (resubmit) This patch contains the following DCA improvements to myri10ge: 1) Finally move myri10ge to use dca3 API 2) Disable PCIe relaxed ordering when enabling DCA on myri10ge. This provides a performance boost on Nehalem based Xeons 3) Make sure to properly initialize NIC's DCA state when it is enabled, rather than giving the NIC a bogus tag (0) and waiting for the first received packet to trigger an update. Not using a real tag can cause hardware exceptions on some motherboards when a CPU socket is empty. 3) Always update the cached CPU when our interrupt affinity changes so as to avoid excessive calls to dca3_get_tag() Signed-off-by: Andrew Gallatin Signed-off-by: Loic Prylli Signed-off-by: David S. Miller commit 8681dc3abd54e845a2effab441921b4c4457c241 Author: Dmitry Kravkov Date: Wed Sep 29 01:05:37 2010 +0000 bnx2x: Moved enabling of MSI to the bnx2x_set_num_queues() Moved enabling of MSI to the bnx2x_set_num_queues() - the same functions that handles the initialization of the MSI-X. From: Vladislav Zolotarov Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1b9f409293529da4630bfc5d6d8e7d7451a6ccb5 Author: stephen hemminger Date: Tue Sep 28 19:30:14 2010 +0000 tcp: tcp_enter_quickack_mode can be static Function only used in tcp_input.c Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a64de47c091e4a337fa9763315cb6f2fbf0c583b Author: stephen hemminger Date: Tue Sep 28 17:08:02 2010 +0000 arp: remove unnecessary export of arp_broken_ops arp_broken_ops is only used in arp.c Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1966cb225c6f9040ca163802cbd052c393d4448f Author: Dmitry Torokhov Date: Wed Sep 29 18:04:21 2010 -0700 Input: sysrq - add locking to sysrq_filter() Similarly to the keyboard handler, we are called by different input devices and thus need to add spinlock if we want to maintain our state properly. Signed-off-by: Dmitry Torokhov commit 594d63632024636a962be508dfe5ee6bfd309160 Author: Christoph Fritz Date: Wed Sep 29 18:04:21 2010 -0700 Input: i8042 - use unsigned char for 0x90 Keep the file consistent and make clear that we mean 144 instead of -112. Signed-off-by: Christoph Fritz Signed-off-by: Dmitry Torokhov commit d345d97012c3f8fb72c0c9d2ee319ea958b63229 Author: Dmitry Torokhov Date: Wed Sep 29 18:17:16 2010 -0700 Input: fm801-gp - add missing call to pci_disable_device() Signed-off-by: Dmitry Torokhov commit d8daece8f457883e8f2e3065a1e02322ed444ddb Author: Rahul Ruikar Date: Wed Sep 29 18:12:46 2010 -0700 Input: emu10k1-gp - add missing calls to pci_disable_device() pci_disable_device() is called for following 2 cases - error path in emu_probe() - in emu_remove() Signed-off-by: Rahul Ruikar Signed-off-by: Dmitry Torokhov commit 727eeb7dbeac8a7ecd2ad943eb27a5566ab83601 Author: Xing Wei Date: Wed Sep 29 18:25:20 2010 -0700 Input: hanwang - add support for Art Master HD 5012 tablet This adds support for hanwang Art Master HD 5012 electromagnetic tablet. Signed-off-by: Xing Wei Signed-off-by: Dmitry Torokhov commit 68a1aed7039e5a94a8e60e23fdf676738c36086a Author: Magnus Damm Date: Fri Sep 24 09:05:38 2010 +0000 sh: boot kernel with SR.BL set Update the SH kernel to keep SR.BL set until the VBR register has been initialized. Useful to allow boot of the kernel even though exceptions are pending. Without this patch there is a window of time when exceptions such as NMI are enabled but no exception handlers are installed. This patch modifies both the zImage loader and the actual kernel to boot with BL=1, but the zImage loader is modfied in such a way that the init_sr value is unchanged to not break the zImage loader provided by kexec. Tested on sh7724 Ecovec and on the SH4AL-DSP core included in sh7372. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4c62c595c2a23fb36a0b901b550115370047a137 Author: Guennadi Liakhovetski Date: Fri Sep 17 09:25:10 2010 +0000 sh: fix a kfree address in clkdev code kfree() in clkdev_drop() function should actually be called with an address of a struct clk_lookup_alloc object, and not struct clk_lookup, as presently done. This just happens to work, because "struct clk_lookup cl" is the first member in struct clk_lookup_alloc. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 20d9a26dbbbec32aa7c9da49b979f201bd7104b9 Author: Jaroslav Kysela Date: Thu Sep 30 00:16:50 2010 +0200 ALSA: snd-aloop - fix capture buffer silence In a special case, some old samples are left in the capture ring buffer. Fix it. Signed-off-by: Jaroslav Kysela commit bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680 Author: Eric Dumazet Date: Tue Sep 28 05:58:37 2010 +0000 net: rename netdev rx_queue to ingress_queue There is some confusion with rx_queue name after RPS, and net drivers private rx_queue fields. I suggest to rename "struct net_device"->rx_queue to ingress_queue. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8560f2266b36adb43238f1f9fd13958dd031901c Author: Eric Dumazet Date: Tue Sep 28 03:23:34 2010 +0000 ip6tnl: percpu stats accounting Maintain per_cpu tx_bytes, tx_packets, rx_bytes, rx_packets. Other seldom used fields are kept in netdev->stats structure, possibly unsafe. This is a preliminary work to support lockless transmit path, and correct RX stats, that are already unsafe. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 153f0943382e9ae0bff7caa110a1a4656088d0d4 Author: Eric Dumazet Date: Tue Sep 28 00:17:17 2010 +0000 ipip: enable lockless xmits IPIP tunnels can benefit from lockless xmits, using NETIF_F_LLTX Bench on a 16 cpus machine (dual E5540 cpus), 16 threads sending 10000000 UDP frames via one ipip tunnel (size:200 bytes per frame) Before patch : real 2m53.321s user 0m10.277s sys 46m0.597s After patch: real 0m32.063s user 0m9.237s sys 8m16.255s Last problem to solve is the contention on dst : 16118.00 28.3% __ip_route_output_key vmlinux 6135.00 10.8% dst_release vmlinux 3220.00 5.6% ip_finish_output vmlinux 2149.00 3.8% ip_route_output_flow vmlinux 1575.00 2.8% ip_append_data vmlinux 1481.00 2.6% ip_push_pending_frames vmlinux 1349.00 2.4% __xfrm_lookup vmlinux 1216.00 2.1% csum_partial_copy_generic vmlinux 1208.00 2.1% udp_sendmsg vmlinux Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b790e01aee74c23a5d92576177934f13aa51f718 Author: Eric Dumazet Date: Mon Sep 27 23:05:47 2010 +0000 ip_gre: lockless xmit GRE tunnels can benefit from lockless xmits, using NETIF_F_LLTX Note: If tunnels are created with the "oseq" option, LLTX is not enabled : Even using an atomic_t o_seq, we would increase chance for packets being out of order at receiver. Bench on a 16 cpus machine (dual E5540 cpus), 16 threads sending 10000000 UDP frames via one gre tunnel (size:200 bytes per frame) Before patch : real 3m0.094s user 0m9.365s sys 47m50.103s After patch: real 0m29.756s user 0m11.097s sys 7m33.012s Last problem to solve is the contention on dst : 38660.00 21.4% __ip_route_output_key vmlinux 20786.00 11.5% dst_release vmlinux 14191.00 7.8% __xfrm_lookup vmlinux 12410.00 6.9% ip_finish_output vmlinux 4540.00 2.5% ip_push_pending_frames vmlinux 4427.00 2.4% ip_append_data vmlinux 4265.00 2.4% __alloc_skb vmlinux 4140.00 2.3% __ip_local_out vmlinux 3991.00 2.2% dev_queue_xmit vmlinux Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8df40d1033d64597dcf1efd4f7547e817f7a953b Author: Eric Dumazet Date: Tue Sep 28 02:53:41 2010 +0000 sit: enable lockless xmits SIT tunnels can benefit from lockless xmits, using NETIF_F_LLTX Bench on a 16 cpus machine (dual E5540 cpus), 16 threads sending 10000000 UDP frames via one sit tunnel (size:220 bytes per frame) Before patch : real 3m15.399s user 0m9.185s sys 51m55.403s 75029.00 87.5% _raw_spin_lock vmlinux 1090.00 1.3% dst_release vmlinux 902.00 1.1% dev_queue_xmit vmlinux 627.00 0.7% sock_wfree vmlinux 613.00 0.7% ip6_push_pending_frames ipv6.ko 505.00 0.6% __ip_route_output_key vmlinux After patch: real 1m1.387s user 0m12.489s sys 15m58.868s 28239.00 23.3% dst_release vmlinux 13570.00 11.2% ip6_push_pending_frames ipv6.ko 13118.00 10.8% ip6_append_data ipv6.ko 7995.00 6.6% __ip_route_output_key vmlinux 7924.00 6.5% sk_dst_check vmlinux 5015.00 4.1% udpv6_sendmsg ipv6.ko 3594.00 3.0% sock_alloc_send_pskb vmlinux 3135.00 2.6% sock_wfree vmlinux 3055.00 2.5% ip6_sk_dst_lookup ipv6.ko 2473.00 2.0% ip_finish_output vmlinux Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dd4080ee575db1a2d0f40538aed5aa7662a06c54 Author: Eric Dumazet Date: Tue Sep 28 02:17:58 2010 +0000 sit: fix percpu stats accounting commit 15fc1f7056ebd (sit: percpu stats accounting) forgot the fallback tunnel case (sit0), and can crash pretty fast. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fada5636fe41fd1423fe4e6af7b9f609378acde6 Author: Eric Dumazet Date: Mon Sep 27 23:56:46 2010 +0000 ipip: fix percpu stats accounting commit 3c97af99a5aa1 (ipip: percpu stats accounting) forgot the fallback tunnel case (tunl0), and can crash pretty fast. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6d81f41c58c69ddde497e9e640ba5805aa26e78c Author: Eric Dumazet Date: Mon Sep 27 20:50:33 2010 +0000 dummy: percpu stats and lockless xmit Converts dummy network device driver to : - percpu stats - 64bit stats - lockless xmit (NETIF_F_LLTX) - performance features added (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO | NETIF_F_NO_CSUM | NETIF_F_HIGHDMA) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 745e20f1b626b1be4b100af5d4bf7b3439392f8f Author: Eric Dumazet Date: Wed Sep 29 13:23:09 2010 -0700 net: add a recursion limit in xmit path As tunnel devices are going to be lockless, we need to make sure a misconfigured machine wont enter an infinite loop. Add a percpu variable, and limit to three the number of stacked xmits. Reported-by: Jesse Gross Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 257f23d87f9309fee41d468575404b9371bf4c7d Author: Govindraj.R Date: Mon Sep 27 20:21:05 2010 +0530 OMAP3: SERIAL: Initialize all omap-uarts for zoom boards Initialize all omap-uarts for zoom boards. Now zoom_peripheral_init will initialise all uarts for 3630. 3630sdp_board_init call zoom_peripheral_init so we can now remove serial_init from 3630sdp board init as zoom_peripheral_init now will do that the same. Signed-off-by: Anand Gadiyar Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit 12a75da296d43784c960a2beaca002a08d06cf15 Author: Govindraj.R Date: Mon Sep 27 20:20:57 2010 +0530 OMAP: SERIAL: Enable omap-serial driver in Kconfig Enable omap-serial driver in /mach-omap2/Kconfig and move 8250 driver selection for zoom boards. With omap-serial driver addition all omap-uarts can be handled with omap-serial driver. With addition of omap-serial driver console parameter needs be changed in bootargs from ttyS* should be replaced with ttyO* [O --> OMAP not ZERO] For example: ttyS0[UART1 on 3430SDP] changes to ttyO0. But with some boards that do not use omap-uart as console uart. we need to handle them with 8250 driver. Ex: ZOOM2/3. For zoom2/3 board we need to use 8250 serial driver and console parameter will remain ttyS0 which basically uses a Quad uart placed on the debug board connected through a gpio line. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit b612633b5928077441b979471869753bfa93d41a Author: Govindraj.R Date: Mon Sep 27 20:20:49 2010 +0530 serial: Add OMAP high-speed UART driver This patch adds driver support for OMAP2/3/4 high speed UART. The driver is made separate from 8250 driver as we cannot over load 8250 driver with omap platform specific configuration for features like DMA, it makes easier to implement features like DMA and hardware flow control and software flow control configuration with this driver as required for the omap-platform. This patch involves only the core driver and its dependent. Cc: Tony Lindgren Signed-off-by: Govindraj.R Acked-by: Alan Cox Acked-by: Greg Kroah-Hartman Signed-off-by: Kevin Hilman commit 52663aea10c3ce175b636ff3ed5a6d78fdbeec02 Author: Govindraj.R Date: Mon Sep 27 20:20:41 2010 +0530 OMAP3: serial: Fix uart4 handling for 3630 This patch makes the following: - Adds missing wakeup padding register handling. - Fixes a hardcode to use PER module ONLY on UART3. Signed-off-by: Sergio Aguirre Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit cd4f1faee029593fc10039aeb592dc2986d55f61 Author: Govindraj.R Date: Mon Sep 27 20:20:32 2010 +0530 OMAP3: PM: Add prepare idle and resume idle call for uart4 Add prepare idle and resume idle call for uart4 used by 3630. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit e586368904b737b4888927e4c869a25966e5cd05 Author: Govindraj.R Date: Mon Sep 27 20:20:25 2010 +0530 OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs To standarize among other uarts (1 to 3), we shall now: - Enable uart4 autodile bit. - Enable uart4 wakeup in PER. - Allow uart4 to wakeup the MPU. Signed-off-by: Sergio Aguirre Signed-off-by: Govindraj.R Acked-by: Paul Walmsley Signed-off-by: Kevin Hilman commit a0edcdbe5295b7912e92ff88dd8f46646710735b Author: Govindraj.R Date: Mon Sep 27 20:20:17 2010 +0530 OMAP clock: Add uart4_ick/fck definitions for 3630 This is only valid for omap 36xx family of chips. Signed-off-by: Sergio Aguirre Signed-off-by: Govindraj.R Acked-by: Paul Walmsley Signed-off-by: Kevin Hilman commit 8da37d9dc52befa8b55bdc20eef2a4aaf20e0c8d Author: Kevin Hilman Date: Mon Sep 27 20:20:06 2010 +0530 OMAP: UART: use non-locking versions of hwmod enable/idle functions Since the UART enable/idle is done during the idle path (with interrupts disabled), use the non-locking versions of the hwmod enable/idle functions. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit 3244fcd227526a2f21018a280c7af0a9219c6ff4 Author: Kevin Hilman Date: Mon Sep 27 20:19:53 2010 +0530 OMAP: UART: don't do automatic bus-level suspend/resume Since the omap_device for UART is currently managed inside the idle path itself, don't let the bus-level code suspend/resume the UART. To prevent this, pm_runtime_get() is used when preparing for suspend and pm_runtime_put() is used when finished with suspend. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit c04ede382a64020f19e9aa23a85493a09af945d3 Author: Govindraj.R Date: Mon Sep 27 20:19:46 2010 +0530 OMAP2: UART: remove set_uart_globals Remove set_uart_globals function as this will not be needed as physical address for uarts will be taken from hwmod data file. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit 6f251e9db1093c187addc309b5f2f7fe3efd2995 Author: Kevin Hilman Date: Mon Sep 27 20:19:38 2010 +0530 OMAP: UART: omap_device conversions, remove implicit 8520 assumptions Major rework of OMAP UART init for omap_device conversion as well as use with either 8250 driver or new omap-serial driver. In preparation for a new omap-serial driver, remove 8250 assumptions and dependencies from the serial core. Convert UART core and PM support to use omap_device layer. Also add support for both console on 8250 or omap-serial driver. omap_device conversion: - Convert clock API calls to omap_device calls - Remove all static platform_data setup and configuration. This is all done by the omap_device build phase. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit 046465b76a41a32a8d56e691b167fb9ba7729970 Author: Kevin Hilman Date: Mon Sep 27 20:19:30 2010 +0530 OMAP2/3: UART: add omap_hwmod data for UARTs 1-4 This patch adds omap_hwmod data for UARTs on OMAP2 and OMAP3 platforms. UART4 support for 3630 and OMAP2 hwmod data added by Govindraj R. Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit db12ba53fe8b2d79c06bfe00589b3e98fd50cb4c Author: Benoit Cousson Date: Mon Sep 27 20:19:19 2010 +0530 OMAP4: UART: Add uart1-4 hwmods data for omap4 Add uart1-4 hwmod data into omap4_hwmod data file. Signed-off-by: Benoit Cousson Signed-off-by: Govindraj.R Signed-off-by: Kevin Hilman commit 7ec5ad0f3c1e28b693185c35f768953c5db32291 Author: Varadarajan, Charulatha Date: Thu Sep 23 20:02:43 2010 +0530 OMAP: WDT: Use PM runtime APIs instead of clk FW APIs Call runtime pm APIs pm_runtime_put_sync() and pm_runtime_get_sync() for enabling/disabling the clocks, sysconfig settings instead of using clock FW APIs. Signed-off-by: Charulatha V Acked-by: Cousson, Benoit Acked-by: Wim Van Sebroeck Signed-off-by: Kevin Hilman commit f2ce62312650211f6cf665cd6dc519c334c4071e Author: Varadarajan, Charulatha Date: Thu Sep 23 20:02:42 2010 +0530 OMAP: WDT: Split OMAP1 and OMAP2PLUS device registration This patch splits omap_init_wdt() into separate omap_init_wdt() functions under mach-omap1 and mach-omap2 and set them up with subsys_initcall. Also it uses omap_device_build() API instead of platform_device_register() for watchdog timer device registration for OMAP2plus chips. For OMAP2plus chips, the device specific data defined in centralized hwmod database will be used. Signed-off-by: Charulatha V Acked-by: Cousson, Benoit Signed-off-by: Kevin Hilman commit 92b18d1cf1335a468d4014c4fdb1eb720e77526f Author: Benoit Cousson Date: Thu Sep 23 20:02:41 2010 +0530 OMAP4: hwmod data: Add watchdog timer Add watchdog timer hwmod data for OMAP4 chip Note: wd_timer3 in enabled in the hwmod list but it is not yet supported by the watchdog driver. Signed-off-by: Benoit Cousson Signed-off-by: Charulatha V Signed-off-by: Kevin Hilman commit 165e2161525d66a76ed2b870dedabb4c1c4714b0 Author: Varadarajan, Charulatha Date: Thu Sep 23 20:02:40 2010 +0530 OMAP2430: hwmod data: Add watchdog timer Add watchdog timer hwmod data for OMAP2430 chip Signed-off-by: Charulatha V Acked-by: Cousson, Benoit Signed-off-by: Kevin Hilman commit a714b9cfabcc385540a493733bd4958d37e982d3 Author: Varadarajan, Charulatha Date: Thu Sep 23 20:02:39 2010 +0530 OMAP2420: hwmod data: Add watchdog timer Add watchdog timer hwmod data for OMAP2420 chip Signed-off-by: Charulatha V Acked-by: Cousson, Benoit Signed-off-by: Kevin Hilman commit 6b667f880ff5b273f9c1ec1076ffc2c9baf97a96 Author: Varadarajan, Charulatha Date: Thu Sep 23 20:02:38 2010 +0530 OMAP3: hwmod data: Add watchdog timer Add watchdog timer hwmod data for OMAP3 chip Signed-off-by: Charulatha V Acked-by: Cousson, Benoit Signed-off-by: Kevin Hilman commit aa510da5bfe1dfe263215fd0e05dac96e738a782 Author: Trond Myklebust Date: Wed Sep 29 15:11:56 2010 -0400 NFS: We must use list_for_each_entry_safe in nfs_access_cache_shrinker We may end up removing the current entry from nfs_access_lru_list. Signed-off-by: Trond Myklebust commit f3983c2133e9bea9c8b4f690737d15e3e9b02491 Author: Jeff Layton Date: Wed Sep 22 16:17:40 2010 -0700 cifs: fix handling of signing with writepages (try #6) Get a reference to the file early so we can eventually base the decision about signing on the correct tcon. If that doesn't work for some reason, then fall back to generic_writepages. That's just as likely to fail, but it simplifies the error handling. In truth, I'm not sure how that could occur anyway, so maybe a NULL open_file here ought to be a BUG()? After that, we drop the reference to the open_file and then we re-get one prior to each WriteAndX call. This helps ensure that the filehandle isn't held open any longer than necessary and that open files are reclaimed prior to each write call. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f7a40689fd1e963cb1006349e050c07584895db5 Author: Jeff Layton Date: Mon Sep 20 16:01:36 2010 -0700 cifs: have cifs_new_fileinfo take a tcon arg To minimize calls to cifs_sb_tcon and to allow for a clear error path if a tcon can't be acquired. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0d424ad0a4b8c08e45928bccfa5b4b240097b01b Author: Jeff Layton Date: Mon Sep 20 16:01:35 2010 -0700 cifs: add cifs_sb_master_tcon and convert some callers to use it At mount time, we'll always need to create a tcon that will serve as a template for others that are associated with the mount. This tcon is known as the "master" tcon. In some cases, we'll need to use that tcon regardless of who's accessing the mount. Add an accessor function for the master tcon and go ahead and switch the appropriate places to use it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f6acb9d0596889a774e142ed76cb05b90d9763d2 Author: Jeff Layton Date: Mon Sep 20 16:01:34 2010 -0700 cifs: temporarily rename cifs_sb->tcon to ptcon to catch stragglers Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a6e8a8455c94565c53e1a1756d2ab9d9e3a902b8 Author: Jeff Layton Date: Mon Sep 20 16:01:33 2010 -0700 cifs: add function to get a tcon from cifs_sb When we convert cifs to do multiple sessions per mount, we'll need more than one tcon per superblock. At that point "cifs_sb->tcon" will make no sense. Add a new accessor function that gets a tcon given a cifs_sb. For now, it just returns cifs_sb->tcon. Later it'll do more. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ba00ba64cf0895e4c2ac507e56306363dc125a90 Author: Jeff Layton Date: Mon Sep 20 16:01:31 2010 -0700 cifs: make various routines use the cifsFileInfo->tcon pointer ...where it's available and appropriate. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit d3bf5221d3274b5015ad18a55060b074cca8d2f0 Author: Steve French Date: Wed Sep 22 19:15:36 2010 +0000 [CIFS] Fix ordering of cleanup on module init failure If registering fs cache failed, we weren't cleaning up proc. Acked-by: Jeff Layton CC: Suresh Jayaraman Signed-off-by: Steve French commit 17edec6f563ba6b5630329fbe9473557bb475c3d Author: Steve French Date: Wed Sep 22 02:01:59 2010 +0000 [CIFS] Remove obsolete header We decided not to use connector to do the upcalls so cn_cifs.h is obsolete - remove it. Signed-off-by: Steve French commit ab9db8b737210bec365593a04dd1c534220bb311 Author: Jeff Layton Date: Tue Sep 21 08:14:46 2010 -0700 cifs: allow matching of tcp sessions in CifsNew state With commit 7332f2a6217ee6925f83ef0e725013067ed316ba, cifsd will no longer exit when the socket abends and the tcpStatus is CifsNew. With that change, there's no reason to avoid matching an existing session in this state. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 5fe97cfddc426f3145e8673b68faab7e54462173 Author: Jeff Layton Date: Mon Sep 20 16:01:30 2010 -0700 cifs: add tcon field to cifsFileInfo struct Eventually, we'll have more than one tcon per superblock. At that point, we'll need to know which one is associated with a particular fid. For now, this is just set from the cifs_sb->tcon pointer, but eventually the caller of cifs_new_fileinfo will pass a tcon pointer in. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 736a33205969c16f81d747db14ff4c0f133609a6 Author: Stefan Metzmacher Date: Fri Jul 30 14:56:00 2010 +0200 cifs: add "mfsymlinks" mount option This is the start for an implementation of "Minshall+French Symlinks" (see http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks). Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 1b12b9c15b4371d83b729b8fc18c670e78a1479b Author: Stefan Metzmacher Date: Thu Aug 5 21:19:56 2010 +0200 cifs: use Minshall+French symlink functions If configured, Minshall+French Symlinks are used against all servers. If the server supports UNIX Extensions, we still create Minshall+French Symlinks on write, but on read we fallback to UNIX Extension symlinks. Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 8713d01db8bf948eb9632726f529ec4f821bb025 Author: Stefan Metzmacher Date: Thu Aug 5 21:15:22 2010 +0200 cifs: implement CIFSCreateMFSymLink() Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 18bddd1059c5d1e17ad6e49c514c95484aa80a33 Author: Stefan Metzmacher Date: Tue Aug 3 11:24:22 2010 +0200 cifs: implement CIFSFormatMFSymlink() Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 0fd43ae4758b2841656afda4439b80e8a3603af2 Author: Stefan Metzmacher Date: Thu Aug 5 21:13:44 2010 +0200 cifs: implement CIFSQueryMFSymLink() Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 8bfb50a882ccd9804929876470f74edcb23d2326 Author: Stefan Metzmacher Date: Sat Jul 31 09:15:10 2010 +0200 cifs: implement CIFSCouldBeMFSymlink() and CIFSCheckMFSymlink() Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit c69c1b6eaea1b3e1eecf7ad2fba0208ac4a11131 Author: Stefan Metzmacher Date: Sat Jul 31 09:14:16 2010 +0200 cifs: implement CIFSParseMFSymlink() Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French commit 3eb9a8893a76cf1cda3b41c3212eb2cfe83eae0e Author: Ben Greear Date: Wed Sep 1 17:06:02 2010 -0700 cifs: Allow binding to local IP address. When using multi-homed machines, it's nice to be able to specify the local IP to use for outbound connections. This patch gives cifs the ability to bind to a particular IP address. Usage: mount -t cifs -o srcaddr=192.168.1.50,user=foo, ... Usage: mount -t cifs -o srcaddr=2002::100:1,user=foo, ... Acked-by: Jeff Layton Acked-by: Dr. David Holder Signed-off-by: Ben Greear Signed-off-by: Steve French commit 2b149f11978b44199954710d32c0eecf6c9efd9c Author: Shirish Pargaonkar Date: Sat Sep 18 22:02:18 2010 -0500 cifs NTLMv2/NTLMSSP ntlmv2 within ntlmssp autentication code Attribue Value (AV) pairs or Target Info (TI) pairs are part of ntlmv2 authentication. Structure ntlmv2_resp had only definition for two av pairs. So removed it, and now allocation of av pairs is dynamic. For servers like Windows 7/2008, av pairs sent by server in challege packet (type 2 in the ntlmssp exchange/negotiation) can vary. Server sends them during ntlmssp negotiation. So when ntlmssp is used as an authentication mechanism, type 2 challenge packet from server has this information. Pluck it and use the entire blob for authenticaiton purpose. If user has not specified, extract (netbios) domain name from the av pairs which is used to calculate ntlmv2 hash. Servers like Windows 7 are particular about the AV pair blob. Servers like Windows 2003, are not very strict about the contents of av pair blob used during ntlmv2 authentication. So when security mechanism such as ntlmv2 is used (not ntlmv2 in ntlmssp), there is no negotiation and so genereate a minimal blob that gets used in ntlmv2 authentication as well as gets sent. Fields tilen and tilbob are session specific. AV pair values are defined. To calculate ntlmv2 response we need ti/av pair blob. For sec mech like ntlmssp, the blob is plucked from type 2 response from the server. From this blob, netbios name of the domain is retrieved, if user has not already provided, to be included in the Target String as part of ntlmv2 hash calculations. For sec mech like ntlmv2, create a minimal, two av pair blob. The allocated blob is freed in case of error. In case there is no error, this blob is used in calculating ntlmv2 response (in CalcNTLMv2_response) and is also copied on the response to the server, and then freed. The type 3 ntlmssp response is prepared on a buffer, 5 * sizeof of struct _AUTHENTICATE_MESSAGE, an empirical value large enough to hold _AUTHENTICATE_MESSAGE plus a blob with max possible 10 values as part of ntlmv2 response and lmv2 keys and domain, user, workstation names etc. Also, kerberos gets selected as a default mechanism if server supports it, over the other security mechanisms. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 5f98ca9afb9c004f8948c0d40920503de447918a Author: Shirish Pargaonkar Date: Sat Sep 18 22:01:58 2010 -0500 cifs NTLMv2/NTLMSSP Change variable name mac_key to session key to reflect the key it holds Change name of variable mac_key to session key. The reason mac_key was changed to session key is, this structure does not hold message authentication code, it holds the session key (for ntlmv2, ntlmv1 etc.). mac is generated as a signature in cifs_calc* functions. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit aa91c7e4ab9b0842b7d7a7cbf8cca18b20df89b5 Author: Suresh Jayaraman Date: Fri Sep 17 18:56:39 2010 +0530 cifs: fix broken oplock handling cifs_new_fileinfo() does not use the 'oplock' value from the callers. Instead, it sets it to REQ_OPLOCK which seems wrong. We should be using the oplock value obtained from the Server to set the inode's clientCanCacheAll or clientCanCacheRead flags. Fix this by passing oplock from the callers to cifs_new_fileinfo(). This change dates back to commit a6ce4932 (2.6.30-rc3). So, all the affected versions will need this fix. Please Cc stable once reviewed and accepted. Cc: Stable Reviewed-by: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit a347ecb209b58a1b37f20d8299ab552f7d3ee8c3 Author: Suresh Jayaraman Date: Fri Sep 17 19:43:10 2010 +0530 cifs: use type __u32 instead of int for the oplock parameter ... and avoid implicit casting from a signed type. Also, pass oplock by value instead by reference as we don't intend to change the value in cifs_open_inode_helper(). Thanks to Jeff Layton for spotting this. Reviewed-by: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit a00dd6c03dd97a777c291a8af8682be4b5fadf8d Author: Jeff Layton Date: Tue Sep 28 09:14:01 2010 -0400 NFS: don't use FLUSH_SYNC on WB_SYNC_NONE COMMIT calls (try #2) WB_SYNC_NONE is supposed to mean "don't wait on anything". That should also include not waiting for COMMIT calls to complete. WB_SYNC_NONE is also implied when wbc->nonblocking and wbc->for_background are set, so we can replace those checks in nfs_commit_unstable_pages with a check for WB_SYNC_NONE. Signed-off-by: Jeff Layton Reviewed-by: Wu Fengguang Signed-off-by: Trond Myklebust commit 5c78f58e2d5cef65c255a556184f1f43c8d84c84 Author: Trond Myklebust Date: Mon Sep 27 15:51:20 2010 -0400 NFS: Really fix put_nfs_open_context() In nfs_open_revalidate(), if the open_context() call returns an inode that is not the same as dentry->d_inode, then we will call put_nfs_open_context() with a valid dentry->d_inode, but without the context being part of the nfsi->open_files list. In this case too, we want to just skip the list removal, but we do want to call the ->close_context() callback in order to close the NFSv4 state. Signed-off-by: Trond Myklebust Acked-by: Jeff Layton commit 7ad0e386d46e9edff64705ab25337ad9130baf63 Author: Kevin Hilman Date: Tue Sep 28 19:07:28 2010 +0000 OMAP2+: defconfig: disable CPUfreq Disable CPUfreq since 1) is not yet supported in mainline, and 2) the current driver fails to suspend properly Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit ecfdd76d2ffe76687385294619f6576aa4338c4e Author: Kevin Hilman Date: Tue Sep 28 19:07:29 2010 +0000 OMAP2+: defconfig: modularize bluetooth, audio and WLAN In working towards a smaller default kernel, only devices used for early boot should be built in. Toward that end, build the following as modules by default: - bluetooth - audio: ALSA, ASoC - WLAN Uncompressed kernel size comparison: Before: text data bss dec hex filename 6557576 465088 5616024 12638688 c0d9e0 vmlinux After: text data bss dec hex filename 5616572 436448 5610800 11663820 b1f9cc vmlinux Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 1c4a77bf54a61dde135740a563b6ec03382604e8 Author: Dominik Brodowski Date: Sat Sep 18 23:21:09 2010 +0200 pcmcia: add a few debug statements Signed-off-by: Dominik Brodowski commit 2262054e74b4b26ed56a8535c1259f6c6c2862a4 Author: Dominik Brodowski Date: Sun Aug 15 08:38:38 2010 +0200 pcmcia: remove obsolete and wrong comments What's worse than no comment? A wrong comment. Several PCMCIA device drivers contained the same comments, which were based on how the PCMCIA subsystem worked in the old days of 2.4., and which were originally part of a "dummy_cs" driver. These comments no longer matched at all what is happening now, and therefore should be removed. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 06b3a1d12f41b592972643f8b84015d6c03dc576 Author: Dominik Brodowski Date: Sun Aug 8 12:27:40 2010 +0200 pcmcia: avoid messages on module (un)loading printk() statements on module load or unload are frowned upon. Also, add a few __init or __exit declarations. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 2e9b981a7c63ee8278df6823f8389d69dad1a499 Author: Dominik Brodowski Date: Sun Aug 8 11:36:26 2010 +0200 pcmcia: move driver name to struct pcmcia_driver Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 1cc745d1cdca8086b472a06671f0830fc0e98861 Author: Dominik Brodowski Date: Sun Aug 1 11:21:14 2010 +0200 pcmcia: remove the "Finally, report what we've done" message Remove this unnecessary message -- this info is either available in sysfs or by enabling dynamic debug from the PCMCIA core. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: linux-usb@vger.kernel.org Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 00990e7ce0b0e596fe41d9c64d6933ea70084003 Author: Dominik Brodowski Date: Fri Jul 30 13:13:46 2010 +0200 pcmcia: use autoconfiguration feature for ioports and iomem When CONF_AUTO_SET_IO or CONF_AUTO_SET_IOMEM are set, the corresponding fields in struct pcmcia_device *p_dev->resource[0,1,2] are set accordinly. Drivers wishing to override certain settings may do so in the callback function, but they no longer need to parse the CIS entries stored in cistpl_cftable_entry_t themselves. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: linux-bluetooth@vger.kernel.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 440eed43e2a95bb842488755683716814da10f2b Author: Dominik Brodowski Date: Fri Jul 30 09:51:52 2010 +0200 pcmcia: introduce autoconfiguration feature Introduce an autoconfiguration feature to set certain values in pcmcia_loop_config(), instead of copying the same code over and over in each PCMCIA driver. At first, introduce the following options: CONF_AUTO_CHECK_VCC check or matching Vcc entry CONF_AUTO_SET_VPP set Vpp CONF_AUTO_AUDIO enable the speaker line CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Acked-by: Gustavo F. Padovan (for drivers/bluetooth) Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 9485ee14e143c7076e88deea1e87ca3eb0b2f94e Author: Dominik Brodowski Date: Sat Jul 31 07:09:32 2010 +0200 pcmcia: Documentation update Fill in missing descriptions and update some others for functions in pcmcia_resource.c. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 1ac71e5a35eebee60cdcf15b3980bd94498f037b Author: Dominik Brodowski Date: Thu Jul 29 19:27:09 2010 +0200 pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device pcmcia_enable_device() now replaces pcmcia_request_configuration(). Instead of config_req_t, all necessary flags are either passed as a parameter to pcmcia_enable_device(), or (in rare circumstances) set in struct pcmcia_device -> flags. With the last remaining user of include/pcmcia/cs.h gone, remove all references. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Acked-by: Gustavo F. Padovan (for drivers/bluetooth) Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 7feabb6412ea23edd298c0fa90e5aa6733eb4a42 Author: Dominik Brodowski Date: Thu Jul 29 18:35:47 2010 +0200 pcmcia: move config_{base,index,regs} to struct pcmcia_device Several drivers prefer to explicitly set config_{base,index,regs}, formerly known as ConfigBase, ConfigIndex and Present. Instead of passing these values inside config_req_t, store it in struct pcmcia_device. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Acked-by: Gustavo F. Padovan (for drivers/bluetooth) Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 37979e1546a790c44adbc7f27a85569944480ebc Author: Dominik Brodowski Date: Thu Jul 29 16:33:23 2010 +0200 pcmcia: simplify IntType IntType was only set to INT_MEMORY (driver pcmciamtd) or INT_MEMORY_AND_IO (all other drivers). As this flags seems to relate to ioport access, make it conditional to the driver having requested IO port access. There are two drivers which do not request IO ports, but did set INT_MEMORY_AND_IO: ray_cs and b43. For those, we consistently only set INT_MEMORY in future. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Acked-by: Gustavo F. Padovan (for drivers/bluetooth) Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit fc301101034c06bf56a7f71bf682c48909e401a4 Author: Dominik Brodowski Date: Thu Jul 29 16:19:39 2010 +0200 pcmcia: simplify Status, ExtStatus register access The Status (CISREG_CCSR) and ExtStatus (CISREG_ESR) registers were only accessed to enable audio output for some drivers and IRQ for serial_cs.c. The former also required setting config_req_t.Attributes to CONF_ENABLE_SPKR; the latter can be simplified to setting this field to CONF_ENABLE_ESR. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org CC: linux-scsi@vger.kernel.org Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 1a4a046030ade0f57b8f3b476d61c7c35d894b66 Author: Dominik Brodowski Date: Thu Jul 29 15:54:54 2010 +0200 pcmcia: remove Pin, Copy configuration register access The "Pin" and "Copy" configuration registers (CISREG_SCR, CISREG_PPR) do not seem to be utilized anywhere. If a device would request a write to these registers, "0" would be written. Continue to do so, but warn of unexpected behavior -- and remove the "Pin" and "Copy" entries from config_req_t. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit e8405f0f617856de0ceb7d04e65b663051451544 Author: Dominik Brodowski Date: Thu Jul 29 15:50:55 2010 +0200 pcmcia: move Vpp setup to struct pcmcia_device Some drivers prefer to explicitly set Vpp. Instead of passing the voltage inside config_req_t, store it in struct pcmcia_device. CC: linux-ide@vger.kernel.org CC: netdev@vger.kernel.org CC: linux-mtd@lists.infradead.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org CC: linux-usb@vger.kernel.org CC: linux-scsi@vger.kernel.org Acked-by: Gustavo F. Padovan (for drivers/bluetooth) Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit fb49fa533f9d211994c33efb752ffa5b30033729 Author: Dominik Brodowski Date: Thu Jul 29 14:06:42 2010 +0200 pcmcia: split up modify_configuration() into two fixup functions pcmcia_modify_configuration() was only used by two drivers to fix up one issue each: setting the Vpp to a different value, and reducing the IO width to 8 bit. Introduce two explicitly named functions handling these things, and remove one further typedef. CC: netdev@vger.kernel.org CC: linux-mtd@lists.infradead.org Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit cdb138080b78146d1cdadba9f5dadbeb97445b91 Author: Dominik Brodowski Date: Wed Jul 28 10:59:06 2010 +0200 pcmcia: do not use win_req_t when calling pcmcia_request_window() Instead of win_req_t, drivers are now requested to fill out struct pcmcia_device *p_dev->resource[2,3,4,5] for up to four iomem ranges. After a call to pcmcia_request_window(), the windows found there are reserved and may be used until pcmcia_release_window() is called. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-mtd@lists.infradead.org CC: Jiri Kosina CC: linux-scsi@vger.kernel.org Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit feb47ca9314666d920855b8a235032dea2b2caa4 Author: Steven Whitehouse Date: Wed Sep 29 15:04:18 2010 +0100 GFS2: Improve journal allocation via sysfs Recently a feature was added to GFS2 to allow journal id allocation via sysfs. This patch builds upon that so that a negative journal id will be treated as an error code to be passed back as the return code from mount. This allows termination of the mount process if there is a failure. Also, the process has been updated so that the kernel will wait for a journal id, even in the "spectator" case. This is required in order to avoid mounting a filesystem in case there is an error while joining the cluster. In the spectator case, 0 is written into the file to indicate that all is well, and that mount should continue. Signed-off-by: Steven Whitehouse commit 43f74c199563a4273e528e2166d0650625a1e05f Author: Steven Whitehouse Date: Wed Sep 29 14:24:41 2010 +0100 GFS2: Add "norecovery" mount option as a synonym for "spectator" XFS supports the "norecovery" mount option which is basically the same as the GFS2 spectator mode. This adds support for "norecovery" as a synonym for spectator mode, which is hopefully a more obvious description of what it actually does. Signed-off-by: Steven Whitehouse commit c741c4551237f9c1bdcd3b1b39b0883bd19a3723 Author: Steven Whitehouse Date: Wed Sep 29 14:20:52 2010 +0100 GFS2: Fix spectator umount issue The tests further down the recovery function relating to unlocking the journal need to be updated to match the intial test. Also, a test in the umount code which was surplus to requirements has been removed. Umounting spectator mounts now works correctly, as expected. Signed-off-by: Steven Whitehouse commit 0c92ecf10d9fb80b1798d2a9adfdea17f8f5e6d9 Author: Jassi Brar Date: Wed Sep 29 17:31:33 2010 +0900 spi/s3c64xx: Correction for 16,32 bits bus width We can't do without setting channel and bus width to same size. In order to do that, use loop read/writes in polling mode and appropriate burst size in DMA mode. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit b42a81ca0fa7b3b442a0731ffc4e7db44464b5f2 Author: Jassi Brar Date: Wed Sep 29 17:31:33 2010 +0900 spi/s3c64xx: Consider the clk_from_cmu flag Newer SoCs have the SPI clock scaling control in platform's clock management unit. Inorder for such SoCs to work, we need to check the flag clk_from_cmu before making any clock changes. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit e02ddd442a532c73e547ae3735c8012e3bd719a5 Author: Jassi Brar Date: Wed Sep 29 17:31:31 2010 +0900 spi/s3c64xx: Prevent unnecessary map-unmap Since we use DMA mode only for xfers bigger than FIFO size, do not map/unmap buffers for polling mode transfers. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit 4a4fd47155ac49b62de5177a780c245e967752f3 Author: Julia Lawall Date: Wed Sep 29 17:31:30 2010 +0900 spi/amba-pl022: Fix error case return statement. The return -EINVAL appears to only make sense if the if branch that it is aligned with is taken, and the indentation indicates that this is the authors intent, so move it into that branch. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r disable braces4@ position p1,p2; statement S1,S2; @@ ( if (...) { ... } | if (...) S1@p1 S2@p2 ) @script:python@ p1 << r.p1; p2 << r.p2; @@ if (p1[0].column == p2[0].column): cocci.print_main("branch",p1) cocci.print_secs("after",p2) // Signed-off-by: Julia Lawall Signed-off-by: Grant Likely commit e447d3588e1c5944f607083cb509663f8015d420 Author: Julia Lawall Date: Wed Sep 29 17:31:29 2010 +0900 spi/orion: Drop unnecessary null test list_for_each_entry binds its first argument to a non-null value, and thus any null test on the value of that argument is superfluous. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ iterator I; expression x,E; @@ I(x,...) { <... - (x != NULL) && E ...> } // Signed-off-by: Julia Lawall Signed-off-by: Grant Likely commit 079a176d87a4da4cb18864c54d3932131e11e229 Author: Felipe Balbi Date: Wed Sep 29 17:31:29 2010 +0900 spi: omap2_mcspi: make use of dev_vdbg() dev_vdbg() is only compiled when VERBOSE is defined, so there's no need to wrap dev_dbg() on #ifdef VERBOSE .. #endif as we can use dev_vdbg() directly. Signed-off-by: Felipe Balbi Signed-off-by: Grant Likely commit 45e655047fd64ba7eb52d14ef5acc41763c8ea34 Author: Mark Brown Date: Tue Sep 28 16:01:20 2010 -0700 ASoC: Initial WM8962 IRQ support Provide an initial hookup for interrupts on the WM8962. Currently we simply report error status via log messages if an IRQ is provided for the device. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit ea738bade2111568a4e6b4b454e2dcd028bc17f6 Author: Mark Brown Date: Mon Sep 20 20:36:19 2010 +0100 ASoC: Lowercase WM8962 CODEC name For consistency. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit ab79ad14a2d51e95f0ac3cef7cd116a57089ba82 Author: Maciej Å»enczykowski Date: Mon Sep 27 00:07:02 2010 +0000 ipv6: Implement Any-IP support for IPv6. AnyIP is the capability to receive packets and establish incoming connections on IPs we have not explicitly configured on the machine. An example use case is to configure a machine to accept all incoming traffic on eth0, and leave the policy of whether traffic for a given IP should be delivered to the machine up to the load balancer. Can be setup as follows: ip -6 rule from all iif eth0 lookup 200 ip -6 route add local default dev lo table 200 (in this case for all IPv6 addresses) Signed-off-by: Maciej Å»enczykowski Signed-off-by: David S. Miller commit 4465b469008bc03b98a1b8df4e9ae501b6c69d4b Author: Tom Herbert Date: Sun May 23 19:54:12 2010 +0000 ipv4: Allow configuring subnets as local addresses This patch allows a host to be configured to respond to any address in a specified range as if it were local, without actually needing to configure the address on an interface. This is done through routing table configuration. For instance, to configure a host to respond to any address in 10.1/16 received on eth0 as a local address we can do: ip rule add from all iif eth0 lookup 200 ip route add local 10.1/16 dev lo proto kernel scope host src 127.0.0.1 table 200 This host is now reachable by any 10.1/16 address (route lookup on input for packets received on eth0 can find the route). On output, the rule will not be matched so that this host can still send packets to 10.1/16 (not sent on loopback). Presumably, external routing can be configured to make sense out of this. To make this work, we needed to modify the logic in finding the interface which is assigned a given source address for output (dev_ip_find). We perform a normal fib_lookup instead of just a lookup on the local table, and in the lookup we ignore the input interface for matching. This patch is useful to implement IP-anycast for subnets of virtual addresses. Signed-off-by: Tom Herbert Signed-off-by: David S. Miller commit 2548558445b43c1f18a61c0bd3629f92dffa612e Author: Michal Simek Date: Wed Sep 29 15:52:13 2010 +1000 of: MTD: Fix OF probing on little-endian systems Convert big-endian DTB to little-endian if necessary. Signed-off-by: Michal Simek Signed-off-by: Grant Likely commit a04e78b8579272c37c42a9badb6dae71f38fe4a9 Author: Michal Simek Date: Wed Sep 29 15:52:12 2010 +1000 of: GPIO: Fix OF probing on little-endian systems DTB is always big-endian that's why is necessary to convert it. Signed-off-by: Michal Simek Signed-off-by: Grant Likely commit 62cb3c6ac47a5ab7d8c67dbbf8cbdcd5ae735410 Author: Wey-Yi Guy Date: Tue Sep 28 17:43:10 2010 -0700 iwlagn: API v5 for 6050 series device For 6050 series device, change the supported API version Signed-off-by: Wey-Yi Guy commit 6d6a1afdc591e3f3ee66c39206923def43044ab6 Author: Shanyu Zhao Date: Tue Sep 14 18:13:31 2010 -0700 iwlwifi: send DC calib config to runtime ucode Since uCode is responsible for doing DC calibration, there's no need to let init uCode to do initial DC calibration then send results back to driver, then driver sends the results to runtime uCode. Driver can simply tell runtime uCode to do DC calibration. Actually, this patch does not disable DC calib for init uCode. It just prevent driver from saving and sending the DC calib results (from init ucode) to runtime uCode. The driver still uses 0xffffffff in CALIB_CFG_CMD for init ucode. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 02796d77cb4cfb64b9465eabbdb13b3b7d1679e9 Author: Shanyu Zhao Date: Tue Sep 14 16:23:42 2010 -0700 iwlagn: set CSR register for 6050g2 devices For 6050g2 devices driver needs to set a special bit to CSR register so that uCode can do things correctly in calibration routines. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 6b5ce501428942d9dec864a41ee223307f421574 Author: Shanyu Zhao Date: Tue Sep 14 16:23:32 2010 -0700 iwlwifi: add iwl_nic_ops structure to iwl_ops iwlwifi driver supports multiple devices. Since some device needs special configuration we create a new iwl_nic_ops structure which is configurable per device. Currently there is only one function pointer inside this structure: additional_nic_config(). The iwl_nic_ops structure is added to the top level in struct iwl_ops, making it easier to change per device. Duplication of the iwl_lib_ops structure is no longer needed. With this new ops the previous function pointer set_calib_version is no longer needed since it is just a per device nic configuration. As part of the code restructuring, a bug is addressed. Indication of calib version to uCode is only needed for 6050 devices, however, current implementation set calib version for all 6000 devices for which DC calib is needed. To fix this, create iwl6050_ops for 6050 devices and only populate iwl_nic_ops in this structure. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy commit 1de19eccb3fe634e939cb40f30fdfda93a67fe93 Author: Jay Sternberg Date: Tue Sep 14 15:21:20 2010 -0700 iwlwifi: define 100 devices add new structures and defines need to identify 100 devices. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit 61371126307ffabb9880e5a22e126b46df846b12 Author: Mark Brown Date: Mon Sep 27 17:20:11 2010 -0700 ASoC: Fix masking of WM8962 FLL1 register When configuring the FLL we preserve the FLL enable configuration in order to allow us to reenable the FLL after configuration but we do not clear the other bits in the register, causing old configuration to be preserved. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit d1454e6fbdf01056834018cfd12f9a066cfc0dd7 Author: Dimitris Papastamos Date: Mon Sep 27 11:16:30 2010 +0100 ASoC: WM8985: Use the correct macro for the kcontrol defined Since we are using custom get/put handlers use SOC_ENUM_SINGLE_EXT_DECL instead of the original SOC_ENUM_SINGLE_DECL macro. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c123e5e437a0e61e364c1cbad3ef9a7384975fb2 Author: Luke Yelavich Date: Tue Sep 28 12:04:06 2010 +1000 ALSA: hda - Add quirk for another Acer laptop with a CX20585 codec BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/647374 Set another Acer laptop (SSID 1025:043d) to use CXT5066_IDEAPAD Signed-off-by: Luke Yelavich Signed-off-by: Takashi Iwai commit 1728943d83e9fd919e454332fe344944123b3c3a Merge: f2176d7 e7ee762 Author: John W. Linville Date: Tue Sep 28 16:01:47 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-lib.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit f2176d7240e4f455a6e007703c7512fbde926dc8 Author: Juuso Oikarinen Date: Tue Sep 28 14:39:32 2010 +0300 mac80211: Fix WMM driver queue configuration The WMM parameter configuration function (ieee80211_sta_wmm_params) only configures the WMM parameters to the driver is the wmm_last_param_set counter value is changed by the AP. The wmm_last_param_set is initialized to -1 on association in order to ensure the configuration is made to the driver at least once on association, but currently this initialization is done *after* the WMM parameter configuration function was called. This leads to unreliability in the driver getting properly configured on first association (depending on what counter value the AP happens to use.) When disassociating (the wmm default parameters are configured to the driver) and then reassociating, due to the above the WMM configuration is not set to the driver at all. On drivers without beacon filtering the problem is corrected by later beacons, but on drivers with beacon filtering the WMM will remain permanently incorrectly configured. Fix this by moving the initialization of wmm_last_param_set to -1 before ieee80211_sta_wmm_params is called on association. Signed-off-by: Juuso Oikarinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 93b05238027420978d785569f8c1aa4a6867bc13 Author: Johannes Berg Date: Tue Sep 28 12:53:14 2010 +0200 cfg80211: always set IBSS basic rates IBSS started from wireless extensions is currently missing basic rate configuration, fix this by moving the code to generate the default to the common code that gets invoked for both nl80211 and wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dc4769f0bb949e312ad8d9b652047ff6709978c2 Author: Christian Lamparter Date: Tue Sep 28 01:53:42 2010 +0200 carl9170: interrupt urbs must not set URB_ZERO_PACKET This patch fixes a bug in the driver which was exposed by CONFIG_USB_DEBUG: "usb 1-1.6.3: BOGUS urb flags, 40 --> 0" The transfer flag "URB_ZERO_PACKET" is only valid for bulk urbs. Reported-by: AndrĂ© Erdmann Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit eada7cad6005006b457f10a4c3e1881ff99d03a4 Author: Bruno Randolf Date: Mon Sep 27 13:02:40 2010 +0900 ath5k: Fix bitmasks and typos for PCU Diagnostic register As reported by Ryan Niemi, some bitmasks in the register definition for the PCU Diagnostic register (DIAG_SW) were missing a zero at the end. While at it fix some typos and add more comments. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 28df897a42aa41d6318be5b9872c4bb5c8d8d7e3 Author: Bruno Randolf Date: Mon Sep 27 12:22:32 2010 +0900 ath5k: Disable interrupts in ath5k_hw_get_tsf64 The code in ath5k_hw_get_tsf64() is time critical and will return wrong results if we get interrupted, so disable local interrupts. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 11f21df36cbcffbfada9307e809d4372ece27f47 Author: Bruno Randolf Date: Mon Sep 27 12:22:26 2010 +0900 ath5k: Increase "fudge" for beacon timers We use FUDGE to make sure the next TBTT is ahead of the current TU. Since we later substract AR5K_TUNE_SW_BEACON_RESP (10) in the timer configuration we need to make sure it is bigger than that. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 7f896126017830b29cf501d246ee32b81e359acd Author: Bruno Randolf Date: Mon Sep 27 12:22:21 2010 +0900 ath5k: Check and fix ATIM window This patch adds sanity-checks for the beacon timers and especially the ATIM window to ath5k. It is basically the same what i did for madwifi two years ago and fixes a problem in IBSS mode which has been described as "ramping" pings. See the code comments for a more detailed description and these links: http://madwifi-project.org/ticket/1154 http://madwifi-project.org/changeset/3867 http://thread.gmane.org/gmane.linux.drivers.madwifi.devel/6066 Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4a79f2c517cce31c3b25aab0ec5078368b22c363 Author: Bruno Randolf Date: Mon Sep 27 12:22:16 2010 +0900 ath5k: Remove unused variable for atim window It's not used and it's unlikely we will ever implement ATIM. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4bd437ea40b81fb4c047034de6dca1b5af496fb0 Author: Christian Lamparter Date: Mon Sep 27 01:36:38 2010 +0200 carl9170: revamp carl9170_tx_prepare David Miller complained about the driver's excessive use of variables in __packed structs. While I did not fully agree with his sole "performance" argument on all accounts. I do see some room for improvement in hot-paths on architectures without an efficient access to unaligned elements. This first patch (dare I say?) optimizes an important tx hot-path in the driver: carl9170_tx_prepare. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9c655c8be9053a65886ac3e06420399a9bfdbd70 Author: Christian Lamparter Date: Sun Sep 26 23:06:56 2010 +0200 carl9170: fix WARN_ON triggered by Broadcom HT STAs Broadcom's Windows driver for the 4313 advertises an ampdu density of 7 => 16 us. The AR9170 MAC on the other hand only supports densities up to 8 us. This patch removes the noisy WARN_ON, because there is nothing we can do about it. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit cb139ecc0c030e8ccc736bd86cfef502c200825a Author: Christian Lamparter Date: Sun Sep 26 22:49:34 2010 +0200 carl9170: fix tx_ampdu_upload counter tx_ampdu_upload was not decreased when an a-MPDU frame had to be kicked out from the tx_pending queues. This broke ampdu aggregation, because the scheduler waits until tx_ampdu_upload drops to zero, before making the next aggregate. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 042c53f6e84896701b67012ad525bc44ea6de25f Author: Christian Lamparter Date: Sun Sep 26 21:48:31 2010 +0200 carl9170: remove lost-frame workaround This patch removes some cruft, which survived the RFC review phase. Originally, carl9170_tx_ampdu_queue erroneously dropped a lot of frames. As a result the ampdu scheduler bogged down quite frequently and the affected BA session timed out. However this bug has been fixed and the WA and its debugfs counter is no longer useful. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b4c85d459c3a2c539a2d5885b12372e404bafc6b Author: Christian Lamparter Date: Sun Sep 26 21:40:40 2010 +0200 carl9170: angle brackets for wiki link "The convention seems to be angle brackets around URLS in Kconfig." -- Finn Thain (to update web addresses in the kernel) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 793e721d21fd7d2825e3b7e56ff5009ec6d052e9 Author: Christian Lamparter Date: Sun Sep 26 21:28:51 2010 +0200 carl9170: remove non-standard ba session teardown 802.11n-2009 demands in 11.2.1: " When a STA enters normal (non-APSD) PS mode, any downlink Block ACK agreement without an associated schedule is suspended for the duration of this PS mode." The operative word is "suspended" and not terminated. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 8d4780eb1ece4e8109b4f6b2e5e61f7fc593c3f4 Author: Luis R. Rodriguez Date: Fri Sep 24 21:59:57 2010 -0400 mac80211: fix offchannel assumption upon association Association is dealt with as an atomic offchannel operation, we do this because we don't know we are associated until we get the associatin response from the AP. When we do get the associatin response though we were never clearing the offchannel state. This has a few implications, we told drivers we were still offchannel, and the first configured TX power for the channel does not take into account any power constraints. For ath9k this meant ANI calibration would not start upon association, and we'd have to wait until the first bgscan to be triggered. There may be other issues this resolves but I'm too lazy to comb the code to check. Cc: stable@kernel.org Cc: Amod Bodas Cc: Vasanth Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bc01befdcf3e40979eb518085a075cbf0aacede0 Author: Pablo Neira Ayuso Date: Tue Sep 28 21:06:34 2010 +0200 netfilter: ctnetlink: add support for user-space expectation helpers This patch adds the basic infrastructure to support user-space expectation helpers via ctnetlink and the netfilter queuing infrastructure NFQUEUE. Basically, this patch: * adds NF_CT_EXPECT_USERSPACE flag to identify user-space created expectations. I have also added a sanity check in __nf_ct_expect_check() to avoid that kernel-space helpers may create an expectation if the master conntrack has no helper assigned. * adds some branches to check if the master conntrack helper exists, otherwise we skip the code that refers to kernel-space helper such as the local expectation list and the expectation policy. * allows to set the timeout for user-space expectations with no helper assigned. * a list of expectations created from user-space that depends on ctnetlink (if this module is removed, they are deleted). * includes USERSPACE in the /proc output for expectations that have been created by a user-space helper. This patch also modifies ctnetlink to skip including the helper name in the Netlink messages if no kernel-space helper is set (since no user-space expectation has not kernel-space kernel assigned). You can access an example user-space FTP conntrack helper at: http://people.netfilter.org/pablo/userspace-conntrack-helpers/nf-ftp-helper-userspace-POC.tar.bz Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 26428b5c4f675434d52c8dc09c4c8d5e6198a6ac Author: Tim Nordell Date: Mon Sep 27 16:05:50 2010 +0000 ARM: OMAP3LOGIC: Added SMSC Ethernet board support Enable SMSC911x Ethernet driver for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell Signed-off-by: Tony Lindgren commit cdd280b9958d71ccbaf7c00c0d63dab0a48c1db0 Author: Tim Nordell Date: Mon Sep 27 16:05:49 2010 +0000 ARM: OMAP3LOGIC: Add generic smsc911x support when connected to GPMC Introduce of a generic way to setup smsc911x based Ethernet controller connected to GPMC similar to gpmc-smc91x but without timing setup. Signed-off-by: Tim Nordell Signed-off-by: Tony Lindgren commit 8430281b0a909048cc0e38756b11ae309bb783cd Author: Tim Nordell Date: Mon Sep 27 16:05:48 2010 +0000 ARM: OMAP3LOGIC: Adding SDMMC support Add low-level initialization for hsmmc controller for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell [tony@atomide.com: updated for the recent mmc platform init changes] Signed-off-by: Tony Lindgren commit fc34ecd07f15358e2b29620fafeb8a6a9528ce79 Author: Randy Dunlap Date: Tue Sep 28 10:34:27 2010 -0700 pch_gbe: add header files Fix build errors, more header files needed. drivers/net/pch_gbe/pch_gbe_main.c:965: error: implicit declaration of function 'tcp_hdr' drivers/net/pch_gbe/pch_gbe_main.c:965: error: invalid type argument of '->' (have 'int') drivers/net/pch_gbe/pch_gbe_main.c:968: error: invalid type argument of '->' (have 'int') drivers/net/pch_gbe/pch_gbe_main.c:976: error: implicit declaration of function 'udp_hdr' drivers/net/pch_gbe/pch_gbe_main.c:976: error: invalid type argument of '->' (have 'int') drivers/net/pch_gbe/pch_gbe_main.c:980: error: invalid type argument of '->' (have 'int') Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit d40f3f15d31e93fce3960d90caaa5a40b52494e8 Author: Tim Nordell Date: Mon Sep 27 16:05:47 2010 +0000 ARM: OMAP3LOGIC: Adding LogicPD OMAP3 board support Adding support for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell Signed-off-by: Tony Lindgren commit b45b501c31ce496dbb2b96a8d606642261fa8d8b Author: matt mooney Date: Mon Sep 27 19:04:32 2010 -0700 arm: remove cast from void* Unnecessary cast from void* in assignment. Signed-off-by: matt mooney Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit d99bf6e707444af4df294f54a679f679018d7ec3 Author: John W. Linville Date: Mon Sep 27 14:00:51 2010 -0400 wl12xx: fix separate-object-folder builds Make this go away (happens when building with a separate object directory): Assembler messages: Fatal error: can't create drivers/net/wireless/wl12xx/.tmp_wl12xx_platform_data.o: No such file or directory drivers/net/wireless/wl12xx/wl12xx_platform_data.c: In function 'wl12xx_get_platform_data': drivers/net/wireless/wl12xx/wl12xx_platform_data.c:28: error: cannot open drivers/net/wireless/wl12xx/.tmp_wl12xx_platform_data.gcno drivers/net/wireless/wl12xx/wl12xx_platform_data.c:28: confused by earlier errors, bailing out Signed-off-by: John W. Linville Reported-by: Stephen Rothwell Cc: Signed-off-by: Ohad Ben-Cohen commit 381bd10aff491216383291879b29461efb575119 Author: Luciano Coelho Date: Tue Sep 28 09:54:27 2010 +0300 MAINTAINERS: Update git url for the wl1271 driver We are integrating wl1271 commits via a new git tree now and wl1271 development should be made on top of the new tree. Update the repository url accordingly. Cc: John W. Linville Signed-off-by: Luciano Coelho commit 7a55724e0dc24cadaeb58f8306222a7802a24ff1 Author: Juuso Oikarinen Date: Mon Sep 27 12:42:07 2010 +0200 wl1271: Add support for hardware GEM cipher This patch adds support for the hardware GEM cipher suite. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 8eab7b4708b5ef4701ecbe5d659f99743b77b668 Author: Juuso Oikarinen Date: Fri Sep 24 03:10:11 2010 +0200 wl1271: Increase connection reliability This patch improves connection reliability by choosing the lowest basic rate for null-func frames (which increases their range, as the firmware does not do rate fall-back for null-func frames.) Also, increase the PSM entry retry-counter. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Tested-by: Tuomas Katila Signed-off-by: Luciano Coelho commit bea39d6a60b62f16e904be5a520bf55714d73021 Author: Juuso Oikarinen Date: Tue Sep 21 08:14:31 2010 +0200 wl1271: Optimize scan duration Currently then dwell times for each channel in scans is set to an overly long value, and excessive number of probe-requests are transmitted on each channel (for active scans.) Based on testing, comparable results can be received with smaller dwell-time, and, with fever probe-requests - in fact, reducing the number of probe-requests to 2 seems to increase the number of found results. Configure more optimal values for per channel dwell times. Comparison for the different scan configurations (in my current office environment): dwell-time 60000 3x probe-req == ~60 results 40000 3x probe-req == ~50 results 30000 3x probe-req == ~40 results dwell-time 60000 2x probe-req == ~70 results 40000 2x probe-req == ~60 results 30000 2x probe-req == ~58 results The above are results for a cumulative 3 scan run. For individual scans, the number of results drop slightly more. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit 78abd3207438b20e099b41cbed58d640cbd237a6 Author: Juuso Oikarinen Date: Tue Sep 21 06:23:32 2010 +0200 wl1271: Add handling for failing hardware scan command Currently, the driver does not handle a failing hardware command to scan in any way - effectively, the scan machine will jam until the driver is shut down, and future scan requests will just return -EBUSY to user space, resulting in a type of busy-loop. The same problem occurs if the firmware fails to deliver the scan completion event - add timeout for this. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit 52b0e7a61fd4b67fe8efe295297d8549f052f786 Author: Juuso Oikarinen Date: Tue Sep 21 06:23:31 2010 +0200 wl1271: Add hardware recovery mechanism There is some probability of hardware failures, which currently go largely undetected. Attempt to recover from these failures by shutting down the hardware, and requesting mac80211 to reconfigure it. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit 52a2a37550b604b3c3c7a044ff72d85b60165659 Author: Juuso Oikarinen Date: Tue Sep 21 06:23:30 2010 +0200 wl1271: Separate interface removal to another function Do this so the interface removal can be triggered from an upcoming hardware failure recovery mechanism. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit 8c7f4f3166e16bb350bfc53955ea6cf9bfd34aab Author: Juuso Oikarinen Date: Tue Sep 21 06:23:29 2010 +0200 wl1271: Fix work cancelling when shutting down the driver The work cancelling has had several hazards, ranging from potentially executing work after the driver is in OFF state, to executing work after the driver and relevant memory structures are already removed. Fix these. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit c454f1d9a896d3519c756355b37bb39941093233 Author: Juuso Oikarinen Date: Tue Aug 24 06:28:03 2010 +0300 wl1271: Move scan complete invocation into work function The current scan implementation can jam, if the scan request ends up containing no work. This can especially happen if there is a scan request with only 11a band channels for HW that does not support 11a. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 9987a9da3eda093ceeff14ad4926adb130a0d0ea Author: Juuso Oikarinen Date: Wed Sep 1 11:31:12 2010 +0200 wl1271: Fix AC/TID default configuration The WMM queue default configuration was incorrect, and caused uapsd mode problems (among possible others.) Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ed484a16b495ee7e13cb28fd6ff6053d10657633 Author: Juuso Oikarinen Date: Wed Sep 1 11:31:11 2010 +0200 wl1271: Fix tid-configuration of TX frames Incorrect TID was configured for TX frames. This resulted in incorrect queues to be used for classes in transmission. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit d594845106f34c079a6b05be01a37e4883c3bf4c Author: Steven Whitehouse Date: Tue Sep 28 10:17:47 2010 +0100 GFS2: Fix compiler warning from previous patch This shouldn't really be required, but gcc can't tell that "al" is only accessed when initialised. Signed-off-by: Steven Whitehouse commit 11eb54298fa7197cb4187f8a3474ead0709f76ff Author: Juuso Oikarinen Date: Tue Aug 24 06:28:03 2010 +0300 wl1271: Enable 11a support always, prevent scanning for unsupporting chips This patch always enables 11a band towards the mac80211, but prevents scanning (and hence the usage of) 11a band channels if the chipset does not support it. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 65cddbf1353212f8ab00c6084e3063d85c419201 Author: Juuso Oikarinen Date: Tue Aug 24 06:28:03 2010 +0300 wl1271: Reduce rate used for last PSM entry attempt This patch reduces the rate of the null-func used to enter PSM on the last retry as precaution. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 02fabb0eafde901ae51532ad15fdd4737b7d71e3 Author: Juuso Oikarinen Date: Thu Aug 19 04:41:15 2010 +0200 wl1271: Enable/disable 11a support based on INI configuration Instead of hardcoding 11a support, enable/disable driver support based on the dual-mode-select parameter in the nvs-file general paramters. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 18c311b71899803de91f1ed41b9d87eb81017a91 Author: Juuso Oikarinen Date: Tue Aug 17 04:09:34 2010 +0200 wl1271: Remove function cmd_read_memory The function is not used anywhere. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 4e23b11b08ed116664cce6114546d5a96eb94e8b Author: Juuso Oikarinen Date: Fri Aug 13 04:46:48 2010 +0200 wl1271: Release interrupt *after* releasing the driver context The current order causes driver releasing to fail in various ways, and causes possible instability. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 165530974504e21d79a43e5f964bd9284e45a8f1 Author: Juuso Oikarinen Date: Tue Aug 17 03:50:04 2010 +0200 wl1271: Remove acx_fw_version function It's not used anywhere. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 03f06b7efc8cbc666bd096b68bdf955388e0b323 Author: Juuso Oikarinen Date: Tue Aug 10 06:38:36 2010 +0200 wl1271: Move setting of wake-up conditions to ps.c from cmd.c This removes a fixme. Also, it removes a redundant setting of the wake-up conditions when exiting power save mode, which should improve performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 2f63b011b4a6d3c0572147be5756212f5558fff0 Author: Juuso Oikarinen Date: Tue Aug 10 06:38:35 2010 +0200 wl1271: Remove outdated FIXME's Remove outdated FIXME's from the code. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit fa21c7a9e4be439e217fe72edbd39b643b643791 Author: Juuso Oikarinen Date: Tue Aug 10 08:22:02 2010 +0200 wl1271: Change supported channel order for a more optimal scan The mac80211 inserts channels into a scan request in the same order the driver registers them. Use this fact to optimize scan by ordering the channels so that adjacent channels don't get scanned consecutively. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 4f35c0253ab7f32cf30eab5459e8256af1619ff1 Author: Luciano Coelho Date: Wed Aug 4 04:36:32 2010 +0300 wl1271: fix forced passive scan When we get no SSIDs in the scan request, we should force a passive scan in all channels. This patch adds code to force the passive scan flag to be set in that case. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen commit 5924f89d6597cd7ba014128ded64b2c7450c369c Author: Luciano Coelho Date: Wed Aug 4 03:46:22 2010 +0300 wl1271: remove useless 11a check when scanning This code was a leftover of the previous scanning mechanism. The if is totally unnecessary, since both branches do the same thing. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen commit 76a029fbfb18c42f75c891842df26605ef87add0 Author: Juuso Oikarinen Date: Thu Jul 29 04:54:45 2010 +0300 wl1271: Fix scan race condition In the scan state machine, the wl1271_mutex is unlocked first then relocked, and then the scan state variables are modified. This makes it possible for ieee80211_scan_complete to be called twice in some scenarios, as the scan completion event from the firmware may be processed while the mutex is unlocked. To fix the issue, move the ieee80211_scan_complete call last in the function. This is generally safer, but there still may be issues is functions calling the scan state machine rely on states checked before the unlocking of the global mutex. (forward ported from 2.6.32 -- this is not strictly needed anymore, because the mutex doesn't need to be unlocked anymore, but I'm applying this change anyway, so that the call to ieee80211_scan_complete is in the same place) Signed-off-by: Juuso Oikarinen Reviewed-by: Saravanan Dhanabal Signed-off-by: Luciano Coelho commit c2c192ac6c16e2e8f5cc8cf54e02bb1d4e0e761d Author: Juuso Oikarinen Date: Tue Jul 27 03:30:09 2010 +0300 wl1271: Add trigger to net_device oper_state to change BT coex priority Add a trigger to net_device changes to monitor for oper_state changes in order to be able to inform the firmware when association is fully complete (including the EAP negotiation.) Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit be86cbea1e9c3a4dd8faedcfa327495d09fe3531 Author: Juuso Oikarinen Date: Thu May 27 12:53:01 2010 +0300 wl1271: Implement CMD_SET_STA_STATE to indicate connection completion to FW Implement the command function to send CMD_SET_STA_STATE to the firmware. This is used to indicate that association (and the related EAP negotiation) are complete. This is used to tune WLAN-BT coexistense priority towards BT, improving BT A2DP and SCO performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Teemu Paasikivi Signed-off-by: Luciano Coelho commit 98d633b64a55d6f3e943951ca35f283b0901d7db Author: Luciano Coelho Date: Thu Jul 8 06:27:38 2010 +0300 wl1271: remove deprecated ACX definition As of Rev. 6.1.0.0.335, the ACX_SET_SMART_REFLEX_DEBUG command is deprecated. This patch removes it from the wl1271 driver (it wasn't used anyway). Signed-off-by: Luciano Coelho Reviewed-by: Saravanan Dhanabal commit bf97b6734e027cc18abad420ab88f861f65d7816 Author: Benjamin Marzinski Date: Mon Sep 27 16:00:04 2010 -0500 GFS2: reserve more blocks for transactions Some of the functions in GFS2 were not reserving space in the transaction for the resource group header and the resource groups bitblocks that get added when you do allocation. GFS2 now makes sure to reserve space for the resource group header and either all the bitblocks in the resource group, or one for each block that it may allocate, whichever is smaller using the new gfs2_rg_blocks() inline function. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 54dd55a406f6e9cb5ae208f258b907455162e045 Author: Steffen Sledz Date: Mon Sep 27 14:20:26 2010 +0200 UBIFS: avoid kernel error if ubifs superblock read fails .get_sb is called on mounts with automatic fs detection too, so this function should print an error if it cannot read the superblock in debug mode only (new behaviour conforms the other fs types) Signed-off-by: Steffen Sledz Signed-off-by: Artem Bityutskiy commit 4d443a085de2b6bcae5e0a773c63b8731ff27101 Author: Kumar Sanghvi Date: Mon Sep 27 19:35:06 2010 +0000 Documentation: Update Phonet doc for Pipe Controller implementation Updates the Phonet document with description related to Pipe controller implementation Signed-off-by: Kumar Sanghvi Acked-by: Linus Walleij Signed-off-by: David S. Miller commit 2ddaad397c47de012dfb956b0c05540da1a0dde5 Author: Ben Hutchings Date: Mon Sep 27 22:11:51 2010 -0700 tg3: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5df8dbd7e517b581e0b8cbd72a99da17914a20b0 Author: Ben Hutchings Date: Mon Sep 27 08:32:59 2010 +0000 8021q: Use netif_copy_real_num_queues() to set queue counts This covers RX if necessary, as well as TX. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c4f4adc7b7e03f9c0bfc81fccc8ad85d06dc8d88 Author: Ben Hutchings Date: Mon Sep 27 08:31:07 2010 +0000 sfc: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e2209ba35aa7050fced05bf9c4244562fcaebd63 Author: Ben Hutchings Date: Mon Sep 27 08:30:59 2010 +0000 niu: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c99202684f7a45c965cb13fa6bb647f2ce9d27fa Author: Ben Hutchings Date: Mon Sep 27 08:30:34 2010 +0000 myri10ge: Use netif_set_real_num_{rx, tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 206d6b3270921fe4a207515beb1f7f7cd8aa3597 Author: Ben Hutchings Date: Mon Sep 27 08:30:05 2010 +0000 mv643xx_eth: Use netif_set_real_num_{rx, tx}_queues() Signed-off-by: Ben Hutchings Acked-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 1eb63a28148336b8a97ff5ee0ecd6830e76a7044 Author: Ben Hutchings Date: Mon Sep 27 08:29:34 2010 +0000 mlx4_en: Use netif_set_real_num_{rx, tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 847f53ff40a81c94367aabb2ef05f2b99cb5706d Author: Ben Hutchings Date: Mon Sep 27 08:28:56 2010 +0000 ixgbe: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 21adef3e2959160df31f8516883431e5595f9e50 Author: Ben Hutchings Date: Mon Sep 27 08:28:39 2010 +0000 igb: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fe06912333bb9776b0429100b195080809984ae4 Author: Ben Hutchings Date: Mon Sep 27 08:27:37 2010 +0000 gianfar: Use netif_set_real_num_rx_queues() Do not set num_tx_queues or real_num_tx_queues, since alloc_etherdev_mq() does that. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 003ab6742a31662eb808f01273126830612cbda1 Author: Ben Hutchings Date: Mon Sep 27 08:26:10 2010 +0000 cxgb4vf: Use netif_set_real_num_{rx, tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a020ed4bb88356fea9e24ffcfd9692a835a3f122 Author: Ben Hutchings Date: Mon Sep 27 08:25:57 2010 +0000 cxgb4: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 19221e75da32cecbd3fe83a8ac12755fe38a4602 Author: Ben Hutchings Date: Mon Sep 27 08:25:44 2010 +0000 cxgb3: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 31b600b5fcd101acffb261f87f60f27085ca6509 Author: Ben Hutchings Date: Mon Sep 27 08:25:27 2010 +0000 bnx2x: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 657d92fe6d693b9674264bc7546e664714955425 Author: Ben Hutchings Date: Mon Sep 27 08:25:16 2010 +0000 bnx2: Use netif_set_real_num_{rx,tx}_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3171d026291d08c2a4cfe06302ce308b09605c4b Author: Ben Hutchings Date: Mon Sep 27 08:24:49 2010 +0000 net: Add netif_copy_real_num_queues() for use by virtual net drivers This sets the active numbers of queues on a net device to match another. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 62fe0b40abb3484413800edaef9b087a20059acf Author: Ben Hutchings Date: Mon Sep 27 08:24:33 2010 +0000 net: Allow changing number of RX queues after device allocation For RPS, we create a kobject for each RX queue based on the number of queues passed to alloc_netdev_mq(). However, drivers generally do not determine the numbers of hardware queues to use until much later, so this usually represents the maximum number the driver may use and not the actual number in use. For TX queues, drivers can update the actual number using netif_set_real_num_tx_queues(). Add a corresponding function for RX queues, netif_set_real_num_rx_queues(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f91ff5b9ff529be8aac2039af63b2c8ea6cd6ebe Author: Eric Dumazet Date: Mon Sep 27 06:07:30 2010 +0000 net: sk_{detach|attach}_filter() rcu fixes sk_attach_filter() and sk_detach_filter() are run with socket locked. Use the appropriate rcu_dereference_protected() instead of blocking BH, and rcu_dereference_bh(). There is no point adding BH prevention and memory barrier. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7fa7cb7109d07c29ab28bb877bc7049a0150dbe5 Author: Eric Dumazet Date: Mon Sep 27 04:18:27 2010 +0000 fib: use atomic_inc_not_zero() in fib_rules_lookup It seems we dont use appropriate refcount increment in an rcu_read_lock() protected section. fib_rule_get() might increment a null refcount and bad things could happen. While fib_nl_delrule() respects an rcu grace period before calling fib_rule_put(), fib_rules_cleanup_ops() calls fib_rule_put() without a grace period. Note : after this patch, we might avoid the synchronize_rcu() call done in fib_nl_delrule() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 15fc1f7056ebdc57e23f99077fec89e63e6fa941 Author: Eric Dumazet Date: Mon Sep 27 00:38:18 2010 +0000 sit: percpu stats accounting Maintain per_cpu tx_bytes, tx_packets, rx_bytes, rx_packets. Other seldom used fields are kept in netdev->stats structure, possibly unsafe. This is a preliminary work to support lockless transmit path, and correct RX stats, that are already unsafe. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c97af99a5aa17feaebb4eb0f85f51ab6c055797 Author: Eric Dumazet Date: Mon Sep 27 00:35:50 2010 +0000 ipip: percpu stats accounting Maintain per_cpu tx_bytes, tx_packets, rx_bytes, rx_packets. Other seldom used fields are kept in netdev->stats structure, possibly unsafe. This is a preliminary work to support lockless transmit path, and correct RX stats, that are already unsafe. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e985aad723d7709e6bee566bacb100d33d9b791b Author: Eric Dumazet Date: Mon Sep 27 03:57:11 2010 +0000 ip_gre: percpu stats accounting Le lundi 27 septembre 2010 Ă  14:29 +0100, Ben Hutchings a Ă©crit : > > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c > > index 5d6ddcb..de39b22 100644 > > --- a/net/ipv4/ip_gre.c > > +++ b/net/ipv4/ip_gre.c > [...] > > @@ -377,7 +405,7 @@ static struct ip_tunnel *ipgre_tunnel_locate(struct net *net, > > if (parms->name[0]) > > strlcpy(name, parms->name, IFNAMSIZ); > > else > > - sprintf(name, "gre%%d"); > > + strcpy(name, "gre%d"); > > > > dev = alloc_netdev(sizeof(*t), name, ipgre_tunnel_setup); > > if (!dev) > [...] > > This is a valid fix, but doesn't belong in this patch! > Sorry ? It was not a fix, but at most a cleanup ;) Anyway I forgot the gretap case... [PATCH 2/4 v2] ip_gre: percpu stats accounting Maintain per_cpu tx_bytes, tx_packets, rx_bytes, rx_packets. Other seldom used fields are kept in netdev->stats structure, possibly unsafe. This is a preliminary work to support lockless transmit path, and correct RX stats, that are already unsafe. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 290b895e0ba4552dfcfc4bd35759c192345b934a Author: Eric Dumazet Date: Mon Sep 27 00:33:35 2010 +0000 tunnels: prepare percpu accounting Tunnels are going to use percpu for their accounting. They are going to use a new tstats field in net_device. skb_tunnel_rx() is changed to be a wrapper around __skb_tunnel_rx() IPTUNNEL_XMIT() is changed to be a wrapper around __IPTUNNEL_XMIT() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit af5ef241133b602a77b682009f112e7c3f7604e5 Author: Eric Dumazet Date: Sun Sep 26 22:47:09 2010 +0000 vlan: use this_cpu_ptr() in vlan_skb_recv() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8d98efa84b790bdd62248eb0dfff17e9baf5c844 Author: Kumar Sanghvi Date: Sun Sep 26 19:07:59 2010 +0000 Phonet: Implement Pipe Controller to support Nokia Slim Modems Phonet stack assumes the presence of Pipe Controller, either in Modem or on Application Processing Engine user-space for the Pipe data. Nokia Slim Modems like WG2.5 used in ST-Ericsson U8500 platform do not implement Pipe controller in them. This patch adds Pipe Controller implemenation to Phonet stack to support Pipe data over Phonet stack for Nokia Slim Modems. Signed-off-by: Kumar Sanghvi Acked-by: Linus Walleij Signed-off-by: David S. Miller commit b6a26b4b87d7b030a546e7bdaf390ffc58323f36 Author: Igor Grinberg Date: Tue Sep 21 16:03:13 2010 +0000 omap3: cm-t3517: add support for TI HECC add support for TI HECC. Signed-off-by: Igor Grinberg Signed-off-by: Tony Lindgren commit ec34fccd3a8ed4997c38797b49e37535ad387401 Author: Igor Grinberg Date: Tue Sep 21 16:03:12 2010 +0000 omap3: cm-t3517: add support for NAND flash add support for NAND flash. Signed-off-by: Igor Grinberg Signed-off-by: Tony Lindgren commit 525d75b31bc97354870b5991d57b2607d7b88602 Author: Igor Grinberg Date: Tue Sep 21 16:03:11 2010 +0000 omap3: cm-t3517: add support for usb host add support for hsusb host ports 1, 2 and on-module usb hub. Signed-off-by: Igor Grinberg Signed-off-by: Tony Lindgren commit 46893a56aad011764003703b06303515ea670c57 Author: Igor Grinberg Date: Tue Sep 21 16:03:10 2010 +0000 omap3: cm-t3517: add support for v3020 rtc add support for v3020 rtc. Signed-off-by: Igor Grinberg Signed-off-by: Tony Lindgren commit d04b620e6e6e72a95b7b88ccb7b002cb8f6b8113 Author: Igor Grinberg Date: Tue Sep 21 16:03:09 2010 +0000 omap3: Introduce CompuLab CM-T3517 module Add basic suppot, enable uart and led. Signed-off-by: Igor Grinberg Signed-off-by: Tony Lindgren commit 5d4bff94f9e0877a85b4dc573eb7a3f1d97c13ae Author: Tony Luck Date: Mon Sep 27 13:58:14 2010 -0700 [IA64] Stop using the deprecated __do_IRQ() code path Thomas Gleixner wrote: >__do_IRQ() has been deprecated after a two years migration phase in >commit 0e57aa1. Since then another 18 months have gone by ... Mostly trivial stuff for this. The only tricky part was realizing that the new handler_*_irq() paths do not use desc->chip->end(irq). Not a problem for the edge case as the ia64 iosapic routine for that was nop(). But the "level" case handled interrupt migration there. Just use a slightly modified version of the "end" routine as "unmask" for the level triggered case. Signed-off-by: Tony Luck commit 91f6c90c8df1818a66d177e105d602c3da820919 Merge: 6e457bb a3fed9b Author: Tony Lindgren Date: Mon Sep 27 13:17:13 2010 -0700 Merge branch 'omap4_and_sdrc_2.6.27' of git://git.pwsan.com/linux-2.6 into omap-for-linus commit a3fed9bc181666df6ecfe9ce34a29d48803f2310 Author: Jon Hunter Date: Mon Sep 27 14:02:59 2010 -0600 omap3: Prevent SDRC deadlock when L3 is changing frequency When changing the L3 clock frequency, the CPU is executing from internal RAM and the SDRC clock is disabled. During this time accesses made to external DDR are stalled. If the ARM subsystem attempts to access the DDR while the SDRC clock is disabled this will stall the CPU until the access to the SDRC timeouts. A timeout on the SDRC should never occur. Once a timeout occurs all the following accesses will be aborted and the DDR is no longer accessible. Although the code being executed in the internal RAM does not directly access the DDR, it was found that the branch prediction logic in the CPU may cause the CPU to prefetch code from a DDR location while the SDRC clock is disabled. This was causing an SDRC timeout which resulted in a system hang. This patch fixes this problem by ensuring the branch prediction logic is disabled while changing the L3 clock frequency. The branch prediction logic is disabled by clearing the Z-bit in the ARM CTRL register. Disabling the branch prediction logic does not have any noticable impact on the execution time of this code section. The hardware observability signals were used to monitor the sdrc idle time with and without this patch when operating at different CPU frequencies (150MHz, 500MHz and 600MHz) and the total sdrc idle time when changing frequenct was in the range of 9-11us. This was measured on an omap3430 SDP running the omapzoom p-android-omap-2.6.29 branch. Signed-off-by: Jon Hunter Signed-off-by: Paul Walmsley Cc: Santosh Shilimkar Cc: Richard Woodruff Cc: Tony Lindgren commit dcf5ef3f42fbc0c62043b4c466d679fca32f1b9f Author: Santosh Shilimkar Date: Mon Sep 27 14:02:58 2010 -0600 omap4: control: Fix the control module register accesses This patch has multiple fixes together. To ensure that git bisect work across commits, all changes are clubbed together 1. Move the common control base address to control core 2. Remove the manually coeded defines and use the ones from headers. 3. Fix the the status register define in id.c for OMAP4 4. Fix all the register define in hsmmc.c 5. Use the control pad accessor API for omap4 hsmmc register accesses Signed-off-by: Benoit Cousson Signed-off-by: Santosh Shilimkar Signed-off-by: Paul Walmsley commit 802edcb7a9227ad98e902ad4406c4b99ddf18c13 Author: Santosh Shilimkar Date: Mon Sep 27 14:02:58 2010 -0600 omap4: control: Add the register definition headers On OMAP4, control module is divided into 4 separate IPs - OMAP44XX_CTRL_MODULE_CORE - OMAP44XX_CTRL_MODULE_PAD_CORE - OMAP44XX_CTRL_MODULE_WKUP - OMAP44XX_CTRL_MODULE_PAD_WKUP This patch adds all the omap4 control module register data and includes them in the common control.h The register data is autogenerated from the codebase thanks to Benoit Cousson efforts Signed-off-by: Benoit Cousson Signed-off-by: Santosh Shilimkar Signed-off-by: Paul Walmsley commit 70ba71a25e02ef7b8796723c8615955620e465ff Author: Santosh Shilimkar Date: Mon Sep 27 14:02:57 2010 -0600 omap4: control: Add accessor api's for pad control module On OMAP4 control pad are not addressable from control core base. So the common omap_ctrl_read/write APIs breaks Hence export separate APIs to manage the omap4 pad control registers. This APIs will work only for OMAP4 Signed-off-by: Santosh Shilimkar Signed-off-by: Paul Walmsley commit 0c3492467c99f3d0d83a48012ee6e672b016759c Author: Santosh Shilimkar Date: Mon Sep 27 14:02:57 2010 -0600 omap4: control: Add ctrl_pad_base to omap_globals On omap4 control module is divided in four IP blocks. - CTRL_MODULE_CORE 0x4a002000 - CTRL_MODULE_PAD_CORE 0x4a100000 - CTRL_MODULE_WKUP 0x4a30c000 - CTRL_MODULE_PAD_WKUP 0x4a31e000 Addressing all the modules with single base address is not possible considering 16 bit offsets. The mux code manages the pad core and pad wakeup related base address inside the mux framework. For other usage only control core and control pad bases are necessary. So this patch maps only needed pad control base address which is used by device drivers and infrastructure code The main control core base is still kept same in this patch to keep git-bisect working. This will be fixed in the relevant patch in this series. Signed-off-by: Benoit Cousson Signed-off-by: Santosh Shilimkar Signed-off-by: Paul Walmsley commit 0edc9e858222ca8fd685756f0d7e546633c39ff0 Author: Benoit Cousson Date: Mon Sep 27 14:02:56 2010 -0600 OMAP4: clocks: Fix ES2 clock issues Fix a few OMAP4430 clock tree problems after the recent manual merge of the various ES2 clock patches: - usim optional clock and its parent had the same name, rename the parent usim_fclk -> usim_ck - OPTFCLKEN_CLK32K is not handled anymore by the USBPHYOCP2SCP module in ES2 Create a new clock that belongs to CM_ALWON_USBPHY_CLKCTRL register This patch depends on some of the PRCM macro updates from Rajendra. Signed-off-by: Benoit Cousson [paul@pwsan.com: tweaked patch description] Signed-off-by: Paul Walmsley Cc: Rajendra Nayak commit bb722f33e233c980159f0ac5560d530eb5dfdd0f Author: Rajendra Nayak Date: Mon Sep 27 14:02:56 2010 -0600 OMAP4: powerdomain: Update DSS logic state for ES2 DSS on ES2 supports only OSWR, hence remove the support for CSWR from the powerdomain framework. Signed-off-by: Rajendra Nayak Signed-off-by: BenoĂ®t Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit fdd4f409981e5581e03d4259f2b4923b3158f2cf Author: Rajendra Nayak Date: Mon Sep 27 14:02:56 2010 -0600 OMAP4: PM: Define additional registers for ES2 4430 ES2 has a few new registers added and a few modified from ES1. This patch adds all the register changes in PRM and CM for OMAP4430 ES2. Signed-off-by: Rajendra Nayak Signed-off-by: BenoĂ®t Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit 568997cf375f3e3db28d6962cde66958b57dd6ac Author: Rajendra Nayak Date: Mon Sep 27 14:02:55 2010 -0600 OMAP4: CM & PRM: Update PRCM register bitshifts and masks for ES2 This patch updates the PRM and CM register bitshifts and masks for OMAP4430 ES2.0. Replace as well the BITFIELD macro with the shift operator in order to be consistent with the previous OMAP2 & 3 format. Sort the register list in comments in order to have a consistent register order and avoid futur change during code generation. Signed-off-by: Rajendra Nayak Signed-off-by: BenoĂ®t Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit 1c03f42f01d212a79f7cd6e91eb8d8c624a843ec Author: Benoit Cousson Date: Mon Sep 27 14:02:55 2010 -0600 OMAP4: clock: Add optional clock nodes OMAP4 IP optional clocks require explicit enable in module CTRLCLK register. In order to allow that we have to create artificial clock nodes that represent this clock inputs in the IP. Notes: - Temporary use OMAP3 names for GPIO optional clocks until the GPIO hwmod convertion is done. It will enforce the usage of OMAP4 names as the reference. - Temporary use OMAP3 names for TIMER main clock (gptX_fck) until TIMER hwmod convertion is done. During that convertion, the new name will have to be used. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman Cc: Rajendra Nayak commit 0e43327191986e88efdc8717084aeb22db2cc8a9 Author: Benoit Cousson Date: Mon Sep 27 14:02:54 2010 -0600 OMAP4: clock: Fix clock names and align with hwmod names The OMAP4 hwmod data introduced the new naming convention for TI IPs (See patch OMAP4: hwmod: Add partial hwmod support for OMAP4430 ES1.0) The leaf clock names are using the same IP name and thus must be modified to match the clock populated in the hwmod data. - Fix some leaf clocks nodes that were using a _iclk instead of the _fclk prefix. - Fix some wrong interface clock name for master IPs connected to interconnect. Please not that due to the fact that nodes are sorted by name, the name change will introduce a quite ugly diff a little bit hard to follow. Timers clock con_id is still using the old gptX_fck name until the gptimer driver is updated to omap_device framework. Timers entries in hwmods DB are still disabled until the migration if timer to platform_driver + omap_hwmod. Signed-off-by: Benoit Cousson [paul@pwsan.com: manually resolved conflicts with Rajendra's clock patch] Signed-off-by: Paul Walmsley Cc: Rajendra Nayak commit 76cf52951ac57a31a453610e0ab5cae50b10502d Author: Rajendra Nayak Date: Mon Sep 27 14:02:54 2010 -0600 OMAP4: clocks: Update clock tree for ES2 This patch updates the clock tree with all the changes in OMAP4430 ES2. clock nodes added -1- tie_low_clock_ck -2- abe_dpll_bypass_clk_mux_ck clock nodes deleted -1- dpll_sys_ref_clk -2- per_sgx_fclk -3- usbphyocp2scp_ick Signed-off-by: Rajendra Nayak Signed-off-by: BenoĂ®t Cousson [paul@pwsan.com: added comment re ES1 clocks to top of file] Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit e2b626248b0799bd14be40ce290c6681a8419512 Author: Rajkumar Manoharan Date: Fri Sep 24 17:58:50 2010 +0530 ath9k_htc: Fix TKIP disconnect failure with HTC drivers The following commit removed splitmic. But forgot to add ATH_CRYPT_CAP_MIC_COMBINED flag for HTC drivers which causes TKIP to fail. Author: Bruno Randolf Date: Wed Sep 8 16:04:54 2010 +0900 ath/ath9k: Replace common->splitmic with a flag Replace common->splitmic with ATH_CRYPT_CAP_MIC_COMBINED flag. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 554891e63a29af35cc6bb403ef34e319518114d0 Author: Johannes Berg Date: Fri Sep 24 12:38:25 2010 +0200 mac80211: move packet flags into packet commit 8c0c709eea5cbab97fb464cd68b06f24acc58ee1 Author: Johannes Berg Date: Wed Nov 25 17:46:15 2009 +0100 mac80211: move cmntr flag out of rx flags moved the CMNTR flag into the skb RX flags for some aggregation cleanups, but this was wrong since the optimisation this flag tried to make requires that it is kept across the processing of multiple interfaces -- which isn't true for flags in the skb. The patch not only broke the optimisation, it also introduced a bug: under some (common!) circumstances the flag will be set on an already freed skb! However, investigating this in more detail, I found that most of the flags that we set should be per packet, _except_ for this one, due to a-MPDU processing. Additionally, the flags used for processing (currently just this one) need to be reset before processing a new packet. Since we haven't actually seen bugs reported as a result of the wrong flags handling (which is not too surprising -- the only real bug case I can come up with is an a-MSDU contained in an a-MPDU), I'll make a different fix for rc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4080c7cdc23f26c6e6166a70f50fa43814552d81 Author: Johannes Berg Date: Fri Sep 24 11:21:08 2010 +0200 mac80211: fix release_reorder_timeout in scan Even if the reorder timeout timer fires while scanning, the frames weren't received during scanning and therefore shouldn't be dropped. To implement this, changes to the passive scan RX handler simplify understanding it, because it currently checks HW_SCANNING independently of a packet's in-scan receive status (which doesn't make a big difference, since scan_rx() will only pick up probe responses and beacons, which can't be aggregated.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b0dd98e70b6516c2c26f28091c2fb09f0ecf215 Author: Johannes Berg Date: Fri Sep 24 11:21:07 2010 +0200 mac80211: clean up rx handling wrt. found_sta If a station was found, then we'll have exited the function already, so it is not necessary to have a variable keeping track of it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4406c376895608375105013bf405ecac720ef558 Author: Johannes Berg Date: Fri Sep 24 11:21:06 2010 +0200 mac80211: consolidate packet processing There are now four instances of vaguely the same code that does packet preparation, checking for MMIC errors and reporting them, and then invoking packet processing. Consolidate all of these. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 20b01f80f72426e7ed2e773220da4357925383d5 Author: Johannes Berg Date: Fri Sep 24 11:21:05 2010 +0200 mac80211: remove prepare_for_handlers sdata argument The first argument to prepare_for_handlers is always the sdata that can just be stored in rx data directly (and even already is, in two of four code paths.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c1e183186377e84e6f4e457be0514887f2df4ef Author: John W. Linville Date: Fri Sep 24 15:52:49 2010 -0400 Revert "mac80211: fix use-after-free" This reverts commit cd87a2d3a33d75a646f1aa1aa2ee5bf712d6f963. Author reports it conflicts with proper fixes, applied hereafter. Signed-off-by: John W. Linville commit 92e44948b2b3b2db8f39f17033f98ae2356156a5 Author: Teemu Paasikivi Date: Fri Sep 24 07:23:55 2010 +0300 nl80211: Fix exit from nl80211_set_power_save If interface does not existk, when nl80211_set_power_save is called, (eg. module has been unloaded) it has been causing kernel panic. Added new goto target to avoid crash if get_rdev_dev_by_info_ifindex does not return dev and rdev pointers. Signed-off-by: Teemu Paasikivi Signed-off-by: John W. Linville commit 56af326830757f3e8a1742770d15dfd6e3c40e85 Author: Ben Greear Date: Thu Sep 23 10:22:24 2010 -0700 mac80211: Support receiving data frames on multiple vifs. When using multiple STA interfaces on the same radio, some data packets need to be received on all interfaces (broadcast, for instance). Make the STA loop look similar to the mgt-data loop. Also, add logic to check RX_FLAG_MMIC_ERROR for last interface in mgt-data loop. Signed-off-by: Ben Greear Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 686b9cb994f5f74be790df4cd12873dfdc8a6984 Author: Ben Greear Date: Thu Sep 23 09:44:36 2010 -0700 mac80211/ath9k: Support AMPDU with multiple VIFs. The old ieee80211_find_sta_by_hw method didn't properly find VIFS when there was more than one per AP. This caused AMPDU logic in ath9k to get the wrong VIF when trying to account for transmitted SKBs. This patch changes ieee80211_find_sta_by_hw to take a localaddr argument to distinguish between VIFs with the same AP but different local addresses. The method name is changed to ieee80211_find_sta_by_ifaddr. Signed-off-by: Ben Greear Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 295bafb47b0d365e1b4f747dffef29e590f13233 Author: Ben Greear Date: Wed Sep 22 20:29:01 2010 -0700 mac80211: Support multiple VIFS per AP in debugfs. Create 'stations' sub-directory under each netdev:[vif-name] directory to hold all stations for that network device. Signed-off-by: Ben Greear Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a42acef0dd3548ffda03d245d41b95250354017e Author: Felix Fietkau Date: Wed Sep 22 12:34:54 2010 +0200 ath9k_hw: simplify revision checks for AR9287 Since AR9287 v1.0 was never sold (and the initvals removed), its revision checks can be simplified similar to AR9280 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e17f83eafd37129f9e09425136e59bc4333bdb9c Author: Felix Fietkau Date: Wed Sep 22 12:34:53 2010 +0200 ath9k_hw: simplify revision checks for AR9285 Since AR9285 v1.0 and v1.1 were never sold (and the initvals removed), its revision checks can be simplified similar to AR9280 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7a37081e2e25e58701b17c41579fd06bc353b392 Author: Felix Fietkau Date: Wed Sep 22 12:34:52 2010 +0200 ath9k_hw: simplify revision checks for AR9280 Since AR9280 v1.0 was never sold (and the initvals removed), v1.0 specific revision checks can be removed and the 'v2.0 or later' check can be simplified to a check for AR9280 or later. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 67e0208acea29682f5766eb9f67f6f26117eef3e Author: Ido Yariv Date: Wed Sep 22 09:53:13 2010 +0200 wl1271: Fix overflow in wl1271_boot_upload_nvs Due to miscalculation of nvs_len, excessive data was sent to the firmware. Fix this by first setting nvs_ptr to point to the first NVS table, and computing the total size of all NVS tables accordingly. Signed-off-by: Ido Yariv Tested-By: Tuomas Katila Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 87fd2e6c90acb45a5741207fc953190596f93841 Author: Ben Greear Date: Tue Sep 21 17:03:57 2010 -0700 ath5k: Add bssid mask and rxfilter to debugfs. Helps with debugging virtual interfaces. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 6e457bb05c348e196f67005876992ceb5eb0430a Author: Lennert Buytenhek Date: Wed Sep 22 20:40:57 2010 +0200 update OMAP Kconfig help texts for all supported SoC models update OMAP Kconfig help texts for all supported SoC models Signed-off-by: Lennert Buytenhek Signed-off-by: Tony Lindgren commit ee6f5a2fec84479d468ebf2a5d4560e042a58647 Merge: 98bb8c3 d31f59f Author: Tony Lindgren Date: Mon Sep 27 10:22:16 2010 -0700 Merge branch 'devel-omap-smp-on-up' into omap-for-linus commit 98bb8c3e98267f2aa422bbafce3b734016e7ed02 Merge: d58cc92 3da434a Author: Tony Lindgren Date: Mon Sep 27 10:19:44 2010 -0700 Merge branch 'devel-boards' into omap-for-linus commit d58cc92bda765e62f28b12a8f4627ddee32978f0 Merge: b245f26 78f26e8 Author: Tony Lindgren Date: Mon Sep 27 10:18:00 2010 -0700 Merge branch 'misc_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus commit b245f26f5e45a6513a318835d83eea895d3ab54b Merge: 5a37e78 3a63833 Author: Tony Lindgren Date: Mon Sep 27 10:15:47 2010 -0700 Merge branch 'devel-omap-misc' into omap-for-linus commit 3a63833ec3002816a759a49ebda4e229c089114e Author: Sukumar Ghorai Date: Wed Sep 15 14:49:23 2010 +0000 omap: mmc: extended to pass host capabilities from board file wires variable is renamed, extended and this single variable to be used to pass the platform capabilities, e.g DDR mode. Also removed the hardcoded value was using as bus-width. Signed-off-by: Sukumar Ghorai Signed-off-by: Tony Lindgren commit 7193559af4243279790fd8dbfef82f8536d9c514 Author: Jarkko Nikula Date: Tue Aug 31 10:12:56 2010 +0000 omap2: McBSP: Remove mux code for OMAP2420 McBSP2 and do cleanups This 'legacy' OMAP2420 McBSP2 muxing code is currently broken after recent conversion to new mux code. The omap_mcbsp_request calling this code is usually called after booting whereas the omap_mux_init_signal is __init marked so null pointer dereference would occur. Fix this by removing the muxing code and let the bootloader or board file to do it if necessary. Remove also omap2_mcbsp_ops as there is no use for it. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit ce3f054bdd4e022fa0ee9d11a215ec32f1caa12d Author: Peter Ujfalusi Date: Tue Aug 31 08:11:44 2010 +0000 omap: McBSP: Do not enable SRG in slave mode McBSP SRG (Sample Rate Generator) and FSG (Frame Sync Generator) is only needed to be enabled, when McBSP is master. In McBSP slave mode, the SRG, and FSG can be kept disabled, which might save some power at the end in this configuration. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 813f6c5850521fec8917f61813be59691b60fcdf Author: Subramaniam C.A Date: Tue Aug 24 12:02:28 2010 -0500 omap: i2c: Avoid compilation error in case the header is included multiple times Added defines to avoid compilation error. Signed-off-by: Subramaniam C.A Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 82a0c149b5beb4b91036b9687644db8a913e8fd1 Author: Dmitry Kasatkin Date: Fri Aug 20 13:44:46 2010 +0000 omap: crypto: updates to enable omap aes Updates to enable omap aes Signed-off-by: Dmitry Kasatkin [tony@atomide.com: updated to use CONFIG_ARCH_OMAP2/3 instead of old 24XX/34XX] Signed-off-by: Tony Lindgren commit afc28bc0ec5ebe1b71108735e27283a19feb2e24 Author: Anand Gadiyar Date: Thu Sep 16 16:22:13 2010 -0700 omap: usb: fix build warning Fix this and similar build warnings when building with omap_4430sdp_defconfig. CC arch/arm/mach-omap2/board-4430sdp.o In file included from arch/arm/mach-omap2/board-4430sdp.c:36: arch/arm/plat-omap/include/plat/usb.h:109: warning: return type defaults to 'int' Signed-off-by: Anand Gadiyar Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit d0795f912318f65b800c6b619d749c3bf7c930fb Author: Steven Whitehouse Date: Mon Sep 27 15:58:11 2010 +0100 GFS2: Fix journal check for spectator mounts When checking journals for spectator mounts, we cannot rely on the journal being locked, whatever its jid might be. This patch ensures that we always get the journal locks when checking journals for a spectator mount. Signed-off-by: Steven Whitehouse commit 64de5ec168d9743903e6ec482c3e9f37af49f9c1 Author: Uwe Kleine-König Date: Tue Sep 21 12:13:34 2010 +0200 ARM: imx: reorganize imx-i2c device registration to use a struct per SoC Signed-off-by: Uwe Kleine-König commit 4697bb926f43b8012ebd111ef43834f42126a0ef Author: Uwe Kleine-König Date: Wed Aug 25 17:37:45 2010 +0200 ARM: imx: dynamically allocate imx-ssi devices Signed-off-by: Uwe Kleine-König commit 5162de08d116fe7bbb912b17d84169983bfa16a8 Author: Uwe Kleine-König Date: Tue Aug 10 22:57:24 2010 +0200 ARM: imx: change the way imx-uarts are registered For mx1_defconfig this yields: add/remove: 1/0 grow/shrink: 1/4 up/down: 49/-108 (-59) function old new delta imx1_imx_uart_data - 48 +48 kernel_config_data 7277 7278 +1 imx_add_imx_uart_1irq 132 128 -4 imx_add_imx_uart_3irq 164 156 -8 scb9328_init 96 64 -32 mx1ads_init 220 156 -64 for mx21_defconfig this yields: add/remove: 1/0 grow/shrink: 0/3 up/down: 64/-52 (12) function old new delta imx21_imx_uart_data - 64 +64 imx_add_imx_uart_3irq 160 156 -4 imx_add_imx_uart_1irq 140 136 -4 mx21ads_board_init 220 176 -44 for a random mx25 config this yields: add/remove: 1/0 grow/shrink: 0/5 up/down: 80/-56 (24) function old new delta imx25_imx_uart_data - 80 +80 imx_add_imx_uart_3irq 160 156 -4 imx_add_imx_uart_1irq 140 136 -4 mx25pdk_init 288 272 -16 eukrea_mbimxsd_baseboard_init 272 256 -16 eukrea_cpuimx25_init 252 236 -16 for mx27_defconfig this yields: add/remove: 1/0 grow/shrink: 0/10 up/down: 96/-280 (-184) function old new delta imx27_imx_uart_data - 96 +96 imx_add_imx_uart_3irq 160 156 -4 imx_add_imx_uart_1irq 140 136 -4 pca100_init 560 544 -16 mx27pdk_init 112 96 -16 mx27lite_init 92 76 -16 eukrea_cpuimx27_init 332 316 -16 pcm038_init 388 348 -40 mxt_td60_board_init 320 280 -40 eukrea_mbimx27_baseboard_init 476 436 -40 mx27ads_board_init 368 280 -88 and finally for mx3_defconfig: add/remove: 2/0 grow/shrink: 0/9 up/down: 128/-344 (-216) function old new delta imx31_imx_uart_data - 80 +80 imx35_imx_uart_data - 48 +48 imx_add_imx_uart_1irq 132 128 -4 imx_add_imx_uart_3irq 164 152 -12 mx31moboard_devboard_init 360 344 -16 mx31lite_db_init 176 160 -16 mx31moboard_smartbot_init 384 360 -24 kzm_board_init 232 208 -24 armadillo5x0_init 392 364 -28 mx31lilly_db_init 248 208 -40 mxc_board_init 3760 3580 -180 Signed-off-by: Uwe Kleine-König commit 35bab0589b9a71533b37280eefa430c21dc102fe Author: Uwe Kleine-König Date: Thu Sep 9 21:02:02 2010 +0200 ARM: imx: change the way spi-imx devices are registered Group soc specific data in a global struct instead of repeating it for each call to imxXX_add_spi_imxX. The structs holding the actual data are placed in .init.constdata and so don't do much harm. Compared to the previous approach this reduces code size to call imx_add_spi_imx. Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König commit a8a05b855291defb1d97a1c3681480e4ca330254 Author: Uwe Kleine-König Date: Tue Aug 3 16:09:35 2010 +0200 ARM: mx51: use IMX_IO_ADDRESS to define MX51_IO_ADDRESS Signed-off-by: Uwe Kleine-König commit 68b5e858dde8dcb0413b7c1d699c1056ecc0934d Author: Uwe Kleine-König Date: Tue Aug 3 16:15:29 2010 +0200 ARM: mx51: fix naming of spi related defines The names used now match the processor's reference manual. Also remove MXC from the interrupt defines to match the other imx platforms. Acked-by: Wolfram Sang Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König commit 5a2db4e3865868c3bf230435fb312524c0e10bd4 Author: Uwe Kleine-König Date: Tue Aug 3 16:03:26 2010 +0200 ARM: mx51: clean up mx51 header This makes the header more look like the other ones, i.e. - sort #defines by value - use lowercase hex constants - use a consistently named header guard Acked-by: Jason Wang Acked-by: Grant Likely Signed-off-by: Uwe Kleine-König commit 6470310865dc8d7ed78f0df8f4c7f7e39c7bab99 Author: Uwe Kleine-König Date: Tue Sep 21 10:46:15 2010 +0200 ARM: mx51_defconfig: add new boards MACH_MX51_3DS and MACH_EUKREA_CPUIMX51 Further remove FIXED_PHY as it breaks the ethernet. VGA_CONSOLE isn't selectable anymore since fb78b51cb11e. EXT3_DEFAULTS_TO_ORDERED defaults to y since aa32a796389b. INOTIFY is gone since 2dfc1cae4c42. CONFIG_DETECT_SOFTLOCKUP is gone since e16bb1d7fe07. Enable TMPFS for udev. KEYS is selected by NFS_USE_KERNEL_DNS Signed-off-by: Uwe Kleine-König commit ea9a9b2ba239792be57d8601f57a4971958ebad5 Author: Uwe Kleine-König Date: Wed Aug 11 07:32:33 2010 +0200 ARM: remove mx31pdk_defconfig This machine is enabled in mx3_defconfig and so mx31pdk_defconfig isn't really useful. Signed-off-by: Uwe Kleine-König commit 801561cdda3027a0d1e0e15a3772e5dab5af7c65 Author: Uwe Kleine-König Date: Fri Aug 13 12:38:56 2010 +0200 ARM: mx3_defconfig: add new machine MACH_EUKREA_CPUIMX35 Furthermore INOTIFY is gone since 2dfc1ca (inotify: remove inotify in kernel interface) Signed-off-by: Uwe Kleine-König commit 0ac15c884eceaf5b0917d4d28d86ff1bb4845d37 Author: Uwe Kleine-König Date: Tue Sep 21 12:35:41 2010 +0200 ARM: mx27_defconfig: enable switches used in mx27 code - enable all mx27 machines (MACH_CPUIMX27, MACH_IMX27_VISSTRIM_M10, MACH_PCA100, MACH_MXT_TD60) including optional features for CPUIMX27 - eukrea_mbimx27-baseboard.c uses TOUCHSCREEN_ADS7846 - mach-cpuimx27.c uses SERIAL_8250 - several machines make use of SPI_IMX (selects SPI_BITBANG) - drop VGA_CONSOLE as this isn't selectable anymore since fb78b51cb11e - several machines make use of USB_ULPI (depends on USB, but don't enable USB_DEVICE_CLASS as it's deprecated) Signed-off-by: Uwe Kleine-König commit e16ddb3ad2b42d7c906748dc3bc3f393ddb94c67 Author: Uwe Kleine-König Date: Tue Aug 24 12:33:23 2010 +0200 ARM: mx5/mx51_babbage: don't use PHYS_OFFSET Signed-off-by: Uwe Kleine-König commit e7a895bf64e9360499d04b80fa33b0ad93546d44 Author: Sascha Hauer Date: Thu Aug 19 11:37:31 2010 +0200 ARM: mx5/mx51_babbage: fix compiler warnings Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit a060656240af125b22b1c011944377ff4216ac3e Author: Uwe Kleine-König Date: Fri Aug 13 17:34:05 2010 +0200 ARM: imx: ehci: use void __iomem * to hold i/o addresses This fixes: arch/arm/plat-mxc/ehci.c: In function 'mxc_initialize_usb_hw': arch/arm/plat-mxc/ehci.c:260: warning: assignment makes integer from pointer without a cast arch/arm/plat-mxc/ehci.c:263: warning: assignment makes integer from pointer without a cast arch/arm/plat-mxc/ehci.c:270: warning: assignment makes integer from pointer without a cast Signed-off-by: Uwe Kleine-König commit 556cbdbf23fb43433dba9657ad194a36be18f81b Author: Uwe Kleine-König Date: Sat Aug 14 14:00:16 2010 +0200 ARM: imx: remove #ifdefery for unmerged flexcan driver The flexcan driver was merged as e955cead. Cc: Sascha Hauer Acked-by: Marc Kleine-Budde Cc: Wolfgang Grandegger Signed-off-by: Uwe Kleine-König commit 3efee47db7a191443b529740b35240d63ae1ad20 Author: Fabio Estevam Date: Mon Aug 23 07:32:09 2010 -0700 ARM: mx5/mx51_babbage: Add FEC support Tested it by booting a rootfs via NFS. Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit bd45140d98b60c8ddef8f053ad1645dc1572a15a Author: Sascha Hauer Date: Thu Aug 19 14:08:05 2010 +0200 ARM: mx3/imx35: Add EPIT support Signed-off-by: Sascha Hauer Signed-off-by: Michael Grzeschik Signed-off-by: Uwe Kleine-König commit f2b8901d3efe5e1603c8f6a102b2d5c851c108c6 Author: Sascha Hauer Date: Thu Aug 19 14:08:04 2010 +0200 ARM: imx: Add EPIT support The Enhanced Periodic Interrupt Timer (EPIT) is found on newer i.MX SoCs and can be used as an alternative system timer. Signed-off-by: Sascha Hauer Signed-off-by: Michael Grzeschik Signed-off-by: Uwe Kleine-König commit ab3d8b5859234d1d60b9592e9e9c5eaa9bb55678 Author: Marc Kleine-Budde Date: Wed Aug 18 18:26:42 2010 +0200 ARM: mx3/mx35_3ds: add usb host2 support we still have to toggle two pins on the mc9sdz60: /* MUX3_CTR to be low for USB Host2 DP&DM */ pmic_gpio_set_bit_val(MCU_GPIO_REG_GPIO_CONTROL_2, 6, 0); /* CAN_PWDN to be high for USB Host2 Power&OC */ pmic_gpio_set_bit_val(MCU_GPIO_REG_GPIO_CONTROL_2, 1, 1); until we've a proper driver for the mx9sdz60 in linux we'll do this in barebox (a.k.a. u-boot-v2) Signed-off-by: Marc Kleine-Budde Signed-off-by: Michael Grzeschik Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit 79a11b0ba4a4e2f042b143e6ac0813d6fab90626 Author: Marc Kleine-Budde Date: Wed Aug 18 17:56:44 2010 +0200 ARM: mx3/mx35_3ds: rename usb otg platform data variable name Rename the variable holding the usb otg platform data to avoid clash with usb host platform data variable. usb_pdata -> usb_otg_pdata Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit 81aa17207b3c50f32be31a1be949e98c660da5f1 Author: Marc Kleine-Budde Date: Wed Aug 18 18:22:59 2010 +0200 ARM: mx3/mx35_3ds: add NAND flash The mx35_3ds comes with 2 GiByte NAND flash. This adds the corresponding platform device. Signed-off-by: Marc Kleine-Budde Signed-off-by: Michael Grzeschik Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit d17e1c1ac3a1e4befecb34c20dc8cb901aa72aba Author: Marc Kleine-Budde Date: Wed Aug 18 18:20:24 2010 +0200 ARM: mx3/mx35_3ds: add physmap-flash NOR at CS0 The mx35_3ds comes with 64 MiByte for NOR flash at CS0, add physmap-flash platform device for it. Signed-off-by: Marc Kleine-Budde Signed-off-by: Michael Grzeschik Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit 3b161e51b254fa7bd3a9b0bd7ca7a2ac8ceaae8b Author: Javier Martin Date: Fri Jul 30 10:06:01 2010 +0200 ARM: imx: Add support for Vista Silicon Visstrim_m10 board Vista Silicon Visstrim_m10 i.MX27 based board is used as multimedia streaming server, access control and other custom applications. Signed-off-by: Javier Martin Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König commit e40051d134f7ee95c8c1f7a3471e84eafc9ab326 Merge: 42099d7 2cc6d2b Author: David S. Miller Date: Mon Sep 27 01:03:03 2010 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/qlcnic/qlcnic_init.c net/ipv4/ip_output.c commit cf1ff5011614cad540fa872b46552d078b510c38 Author: Takashi Iwai Date: Mon Sep 27 08:13:25 2010 +0200 ASoC: Fix a compile warning for printk format sound/soc/codecs/wm8985.c: In function 'wm8985_hw_params': sound/soc/codecs/wm8985.c:731:2: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Actually the variable is fine as int. Signed-off-by: Takashi Iwai commit e35d4b119578a054515ccb4ed5dddc4e8a81ec15 Author: Otavio Salvador Date: Sun Sep 26 23:35:06 2010 -0300 ALSA: hda: add Vortex86MX PCI ids Signed-off-by: Otavio Salvador Signed-off-by: Takashi Iwai commit 42099d7a3941d4aaf853caac92b3ae76149fc6e7 Author: Otavio Salvador Date: Sun Sep 26 19:58:07 2010 -0700 net: r6040: store BIOS default MAC in perm_add Signed-off-by: Otavio Salvador Signed-off-by: David S. Miller commit a7855c78a24d6348e989bec616318e68c662e78b Author: Eric Dumazet Date: Thu Sep 23 23:51:51 2010 +0000 net: loopback driver cleanup loopback driver uses dev->ml_priv to store its percpu stats pointer. It uses ugly casts "(void __percpu __force *)" to shut up sparse complains. Define an union to better document we use ml_priv in loopback driver and define a lstats field with appropriate types. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 83180af0b0ea166adf8249f4513beb7355f9b4c9 Author: Eric Dumazet Date: Thu Sep 23 21:46:03 2010 +0000 net: fix rcu use in ip_route_output_slow __in_dev_get_rtnl(dev_out) is called while RTNL is not held, thus triggers a lockdep fault. At this point, we only perform a raw test of dev_out->ip_ptr being NULL, we dont need to make sure ip_ptr cant changed right after. We can use rcu_dereference_raw() for this. Reported-by: Andrew Morton Acked-by: Paul E. McKenney Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1b4bf461f05d56ced6d6b8f3b4831adc7076f565 Author: Eric Dumazet Date: Thu Sep 23 17:26:35 2010 +0000 rps: allocate rx queues in register_netdevice only Instead of having two places were we allocate dev->_rx, introduce netif_alloc_rx_queues() helper and call it only from register_netdevice(), not from alloc_netdev_mq() Goal is to let drivers change dev->num_rx_queues after allocating netdev and before registering it. This also removes a lot of ifdefs in net/core/dev.c Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7a91b434e2bad554b709265db7603b1aa52dd92e Author: Eric Dumazet Date: Sun Sep 26 18:53:07 2010 -0700 net: update SOCK_MIN_RCVBUF SOCK_MIN_RCVBUF current value is 256 bytes It doesnt permit to receive the smallest possible frame, considering socket sk_rmem_alloc/sk_rcvbuf account skb truesizes. On 64bit arches, sizeof(struct sk_buff) is 240 bytes. Add the typical 64 bytes of headroom, and we go over the limit. With old kernels and 32bit arches, we were under the limit, if netdriver was doing copybreak. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 807540baae406c84dcb9c1c8ef07a56d2d2ae84a Author: Eric Dumazet Date: Thu Sep 23 05:40:09 2010 +0000 drivers/net: return operator cleanup Change "return (EXPR);" to "return EXPR;" return is not a function, parentheses are not required. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cb4dfe562cac6fcb544df752e40c1d78000d0712 Author: Eric Dumazet Date: Thu Sep 23 05:06:54 2010 +0000 net: skb_frag_t can be smaller on small arches On 32bit arches, if PAGE_SIZE is smaller than 65536, we can use 16bit offset and size fields. This patch saves 72 bytes per skb on i386, or 128 bytes after rounding. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c5256c51232d8312755e8de2b514c426b19b101a Author: Eric Dumazet Date: Thu Sep 23 00:46:11 2010 +0000 net: propagate NETIF_F_HIGHDMA to vlans Automatically allows vlans to get NETIF_F_HIGHDMA if underlying device supports it. On 32bit arches (and more precisely if CONFIG_HIGHMEM is enabled), it can help to reduce cost of illegal_highdma() and __skb_linearize() calls. Tested on tg3 , bnx2, bonding, this worked very well. This is a generalization of a patch provided by Yi Zou & Jeff Kirsher. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0890b5880df6a4989336add11f3a22122b26d9e1 Author: Arnd Bergmann Date: Sat Sep 11 18:18:22 2010 +0200 cris: autoconvert trivial BKL users All uses of the big kernel lock in the cris architecture are for ioctl and open functions of character device drivers, which can be trivially converted to a per-driver mutex. Most of these are probably unnecessary, so it may make sense to audit them and eventually remove the extra mutex introduced by this patch. Signed-off-by: Arnd Bergmann Cc: Mikael Starvik Cc: Jesper Nilsson Cc: linux-cris-kernel@axis.com commit 80eb4a6f89bbf8e8318e108701bad11451efb2df Author: Arnd Bergmann Date: Sat Sep 11 18:10:10 2010 +0200 alpha: kill big kernel lock All uses of the BKL on alpha are totally bogus, nothing is really protected by this. Remove the remaining users so we don't have to mark alpha as 'depends on BKL'. Signed-off-by: Arnd Bergmann Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Cc: linux-alpha@vger.kernel.org commit 6117d2130c9da5977e975ad9fa607b86d6516a44 Author: Arnd Bergmann Date: Sat Jun 5 13:28:09 2010 +0200 isapnp: BKL removal Remove BKL use from isapnp_proc_bus_lseek(), like was done for proc_bus_pci_lseek() a long time ago and recently for Zorro by Geert Uytterhoeven. Signed-off-by: Arnd Bergmann Cc: Geert Uytterhoeven Cc: Jaroslav Kysela commit cfdb00a77ea7d5fb922fd985e5dfbcb36873411b Author: Arnd Bergmann Date: Mon May 31 22:38:40 2010 +0200 s390/block: kill the big kernel lock The dasd and dcssblk drivers gained the big kernel lock in the recent pushdown from the block layer, but they don't really need it, so remove the calls without a replacement. Signed-off-by: Arnd Bergmann Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org commit 504c6d1b44bc6e694bdba8d9a2a4e046275b5e2b Author: Vivek Goyal Date: Sun Sep 26 12:23:25 2010 +0900 amiga floppy: Compile failure fixes o Compile fixes for amiga floppy driver. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit e4ecda1b60bfd2333c12bbe71b153d3b6bdc831a Author: Mark Lord Date: Sat Sep 25 11:17:22 2010 +0200 Fix compile error in blk-exec.c for !CONFIG_DETECT_HUNG_TASK Ensure that 'sysctl_hung_task_timeout_secs' is defined even when CONFIG_DETECT_HUNG_TASK is not set. This way we can safely reference it without need for ifdefs in the code elsewhere. eg. in block/blk-exec.c Signed-off-by: Mark Lord Signed-off-by: Jens Axboe commit 35e60448b98be847a7066134442789222a1916ea Merge: fc38a8a 4a109cc Author: Mark Brown Date: Sat Sep 25 09:15:39 2010 +0100 Merge branch 'for-2.6.36' into for-2.6.37 commit f41cc2a85d52ac6971299922084ac5ac59dc339d Author: Vitaliy Kulikov Date: Fri Sep 24 16:21:53 2010 -0500 ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC Fix bug in switching between dmic and mic when both use the same mux. Signed-off-by: Vitaliy Kulikov Signed-off-by: Takashi Iwai commit bba50b99b2410e863b38afdcd0280eb37f8a8bcc Author: Greg Rose Date: Thu Sep 23 12:46:25 2010 +0000 ixgbevf: Refactor ring parameter re-size The function to resize the Tx/Rx rings had the potential to dereference a NULL pointer and the code would attempt to resize the Tx ring even if the Rx ring allocation had failed. This would cause some confusion in the return code semantics. Fixed up to just unwind the allocations if any of them fail and return an error. Signed-off-by: Greg Rose Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 543876c92837a8b208b5c99ec225c1f5a581900e Author: Giuseppe Cavallaro Date: Fri Sep 24 21:27:41 2010 -0700 stmmac: review the wake-up support If the PM support is available this is passed through the platform instead to be hard-coded in the core files. WoL on Magic Frame can be enabled by using the ethtool support. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 77555ee7228234257957fd54daa0b69178906320 Author: Masayuki Ohtake Date: Tue Sep 21 01:44:11 2010 +0000 net: Add Gigabit Ethernet driver of Topcliff PCH Signed-off-by: Masayuki Ohtake Signed-off-by: David S. Miller commit 3b4b682becdfa9f42321aa024d5cc84f71f06d8c Author: Ma Ling Date: Fri Sep 17 03:12:40 2010 +0800 x86, mem: Optimize memmove for small size and unaligned cases movs instruction will combine data to accelerate moving data, however we need to concern two cases about it. 1. movs instruction need long lantency to startup, so here we use general mov instruction to copy data. 2. movs instruction is not good for unaligned case, even if src offset is 0x10, dest offset is 0x0, we avoid and handle the case by general mov instruction. Signed-off-by: Ma Ling LKML-Reference: <1284664360-6138-1-git-send-email-ling.ma@intel.com> Signed-off-by: H. Peter Anvin commit 3da434acd4f7c7f5aeebd44fed42bf5ed9adfc44 Author: Ricardo Salveti de Araujo Date: Thu Sep 23 18:22:49 2010 -0700 omap4: board-omap4panda: adding leds status1 and status2 At Pandaboard we have 2 status leds, so adding them with similar usage as we have for Beagleboard (heartbeat and mmc0). The patch basically adds the platform data required by leds-gpio driver. Signed-off-by: Ricardo Salveti de Araujo Signed-off-by: Tony Lindgren commit 94ce7a6628ccaa71f0a5f26f6ff7dc7b0f0f65b7 Author: Shubhrajyoti Datta Date: Thu Sep 23 18:22:49 2010 -0700 omap: 4430sdp board support for proximity sensor omap 4430sdp board support for the proximity sensor via GPIO keys. The proximity sensor is connected to GPIO and is registered as a GPIO key. - Making the default state of the sensor off at bootup - The init is called before platform_add_devices Signed-off-by: Shubhrajyoti D Signed-off-by: Tony Lindgren commit 5a37e7840f445b551b8bdba3b4f10f7ea365dcfc Merge: 39cdd14 e7193cc Author: Tony Lindgren Date: Fri Sep 24 16:01:57 2010 -0700 Merge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus commit 59104f062435c7816e39ee5ed504a69cb8037f10 Author: Eric Dumazet Date: Mon Sep 20 20:16:27 2010 +0000 ip: take care of last fragment in ip_append_data While investigating a bit, I found ip_fragment() slow path was taken because ip_append_data() provides following layout for a send(MTU + N*(MTU - 20)) syscall : - one skb with 1500 (mtu) bytes - N fragments of 1480 (mtu-20) bytes (before adding IP header) last fragment gets 17 bytes of trail data because of following bit: if (datalen == length + fraggap) alloclen += rt->dst.trailer_len; Then esp4 adds 16 bytes of data (while trailer_len is 17... hmm... another bug ?) In ip_fragment(), we notice last fragment is too big (1496 + 20) > mtu, so we take slow path, building another skb chain. In order to avoid taking slow path, we should correct ip_append_data() to make sure last fragment has real trail space, under mtu... Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9cf13668a5f8165a81349defc5f82c57a4a8279b Author: Rajkumar Manoharan Date: Tue Sep 21 12:58:09 2010 +0530 ath9k_htc: Fix beacon distribution in IBSS mode This patch ensures fair beacon distribution in IBSS mode by configuring proper CWmin based on slot time. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 9094537c3a9ef9e127e844254a74186735c9a90b Author: Vasanthakumar Thiagarajan Date: Mon Sep 20 22:54:46 2010 -0700 ath9k: Fix tx struck state with paprd Paprd needs to be done only on active chains(not for all the chains that hw can support). The paprd training frames which are sent for inactive chains would be hanging on the hw queue without getting transmitted and would make the connection so unstable. This issue happens only with the hw which supports paprd cal(ar9003). Signed-off-by: Vasanthakumar Thiagarajan Cc: stable@kernel.org Signed-off-by: John W. Linville commit eb7d3066cf864342e8ae6a5c1126a1602c4d06c0 Author: Christian Lamparter Date: Tue Sep 21 21:36:18 2010 +0200 mac80211: clear txflags for ps-filtered frames This patch fixes stale mac80211_tx_control_flags for filtered / retried frames. Because ieee80211_handle_filtered_frame feeds skbs back into the tx path, they have to be stripped of some tx flags so they won't confuse the stack, driver or device. Cc: Acked-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ed627be38a1a07c6986a9f17c299f6afc86ac6b7 Author: Dan Carpenter Date: Sun Sep 12 01:48:33 2010 +0200 airo: remove "basic_rate" module option The "basic_rate" module option is not implemented correctly. If the rate was set to zero it was supposed to set it to "basic_rate | 0x80". Unfortunately the check to see if what zero was wrong and it checked "!ai->config.rates" (which is always false) instead of "!ai->config.rates[i]". This option was just used for development and it wasn't documented anywhere. Instead of fixing it, we can just remove it. Reported-by: Stanislaw Gruszka Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 651b52254fc061f02d965524e71de4333a009a5a Author: Jouni Malinen Date: Sat Aug 28 19:37:51 2010 +0300 mac80211: Add DS Parameter Set into Probe Request on 2.4 GHz IEEE Std 802.11k-2008 added DS Parameter Set information element into Probe Request frames as an optional information on 2.4 GHz band (and mandatory, if radio measurements are enabled). This allows APs to filter out Probe Request frames that may be received from neighboring overlapping channels and by doing so, reduce the number of unnecessary frames in the air. Make mac80211 add this IE into Probe Request frames whenever the channel is known (i.e., whenever hwscan is not used). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8dcb20038ade81f9a87c024e7f12ec74f0e95f33 Author: Jouni Malinen Date: Sat Aug 28 19:36:10 2010 +0300 mac80211: Filter ProbeReq SuppRates based on TX rate mask If the TX rate set has been masked, the removed rates can also be removed from the Supported Rates and Extended Supported Rates IEs in Probe Request frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 29ad2facd47f8e37eab8b156e2c384fa181c8b4a Merge: 6e5c2b4 cd87a2d Author: John W. Linville Date: Fri Sep 24 15:52:34 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/ath/ath5k/base.c net/mac80211/main.c commit 639e2f2aa76eefaf22078dccbbf2f3483f587aa7 Author: Vivek Goyal Date: Fri Sep 24 20:35:45 2010 +0200 atari floppy: Stop sharing request queue across multiple gendisks o Use one request queue per gendisk instead of sharing the queue. o Don't have hardware. No compile testing or run time testing done. Completely untested. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 786029ff810ff4a2fd52c0462713985a415417ab Author: Vivek Goyal Date: Fri Sep 24 20:35:44 2010 +0200 amiga floppy: Stop sharing request queue across multiple gendisks o Use one request queue per gendisk instead of sharing request queue o Don't have hardware. No compile testing or run time testing done. Completely untested. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit c49825facfd4969585224a896a5e717f88450cad Author: Malahal Naineni Date: Fri Sep 24 20:25:49 2010 +0200 block: set the bounce_pfn to the actual DMA limit rather than to max memory The bounce_pfn of the request queue in 64 bit systems is set to the current max_low_pfn. Adding more memory later makes this incorrect. Memory allocated beyond this boot time max_low_pfn appear to require bounce buffers (bounce buffers are actually not allocated but used in calculating segments that may result in "over max segments limit" errors). Signed-off-by: Malahal Naineni Signed-off-by: Jens Axboe commit 4b285c3f3f0082f7fb765050f07a864474459bf0 Author: Jarkko Nikula Date: Thu Sep 23 19:11:54 2010 +0300 omap: zoom: Move new code introduced by ASoC m-c to board-zoom-peripherals ASoC Multi-Component Support moves some code from sound/soc/omap/zoom2.c into arch/arm/mach-omap2/board-zoom2.c. However, that code should go to board-zoom-peripherals.c instead as there is common code and registration for zoom boards. Signed-off-by: Jarkko Nikula Cc: Vikram Pandita Cc: Lopez Cruz, Misael Cc: Jorge Eduardo Candelaria Cc: Tony Lindgren Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 2c8e992716b3adff52846e2280731b533db592ff Author: Jarkko Nikula Date: Thu Sep 23 19:11:53 2010 +0300 omap: zoom2: Fix ASoC multi-component build breakage by removing dead code ASoC Multi-Component Support patch removes #if 0 in board-zoom2.c that was used to protect some uncompiling dead code. Remove that code as it seems to be here quite some time since commit 479f12c. Signed-off-by: Jarkko Nikula Cc: Vikram Pandita Cc: Tony Lindgren Tested-by: Misael Lopez Cruz Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit e6649cc62949f1ed473bf1131fa425cfe72d3f64 Author: Mauro Carvalho Chehab Date: Fri Sep 24 11:53:52 2010 -0300 i7300_edac: Properly initialize per-csrow memory size Due to the current edac-core limits, we cannot represent a per-channel memory size, for FB-DIMM drivers. So, we need to sum-up all values for each slot, in order to properly represent the total amount of memory found by the i7300 driver. Signed-off-by: Mauro Carvalho Chehab commit 1aa4a7b6b082adbfa704988dd098bc96b8837d5a Author: Mauro Carvalho Chehab Date: Fri Sep 24 11:29:02 2010 -0300 V4L/DVB: i7300_edac: better initialize page counts It is still somewhat fake, as the pages may not be on this exact order, and may even be used in mirror mode, but this is a best guess than the other random fake values. Signed-off-by: Mauro Carvalho Chehab commit 78f26e872f77b6312273216de1a8f836c6f2e143 Author: Hema HK Date: Fri Sep 24 10:23:19 2010 -0600 OMAP: hwmod: Set autoidle after smartidle during _sysc_enable OMAP USBOTG module has a requirement to set the autoidle bit only after setting smartidle bit. Modified the _sys_enable api to set the smartidle first and then the autoidle bit. Setting this will not have any impact on the other modules. Signed-off-by: Hema HK Signed-off-by: Partha Basak Cc: Felipe Balbi Cc: Tony Lindgren Cc: Kevin Hilman Acked-by: Benoit Cousson Signed-off-by: Paul Walmsley commit ff173d45525701d65d394cb8687e71845bfb34dc Author: Rajendra Nayak Date: Fri Sep 24 10:23:18 2010 -0600 OMAP4: PM: Declare idle modules as functional too The omap4_cm_wait_module_ready function would only check for the modules to be completely functional before declaring them ready to be accessed. There might also be instances where in the module is actually in idle (under h/w control) but should still be declared accessible, as the h/w control would make it functional when needed. Hence make omap4_cm_wait_module_ready return true in case the module is fully functional *or* in idle state. Fail only if the module is fully disabled or stuck intransition. The explaination from the TRM for the idlest bits on OMAP4 is as below for quick reference Module idle state: 0x0 func: Module is fully functional, including OCP 0x1 trans: Module is performing transition: wakeup, or sleep, or sleep abortion 0x2 idle: Module is in Idle mode (only OCP part). It is functional if using separate functional clock 0x3 disabled: Module is disabled and cannot be accessed Signed-off-by: Rajendra Nayak Signed-off-by: Partha Basak Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley commit f39f4898ac72fec92066f15aef0e7485013482ea Author: Kishon Vijay Abraham I Date: Fri Sep 24 10:23:18 2010 -0600 OMAP: omap_device: Fix to support multiple hwmods for a single device Currently there is a bug in the existing omap_device core code when extracting the hwmod structures passed to omap_device_build_ss(). This bug gets exposed only when passing multiple hwmod structures to omap_device_build_ss() resulting in incorrect extraction from second hwmod structure. This fix uses the pointer to pointer to omap_hwmod structure (array of pointers to omap_hwmod structure) passed to omap_device_build_ss() to correctly extract the appropriate omap_hwmod structure. This patch has been created and tested on lo/master and mainline. Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Paul Walmsley Acked-by: Benoit Cousson Acked-by: Kevin Hilman Cc: Charulatha V Cc: Shubhrajyoti D commit fc38a8a11d332549e4de0537ba34f197cf42788b Author: Dimitris Papastamos Date: Fri Sep 24 13:02:07 2010 +0100 ASoC: WM8985: Remove unneeded declaration. We are not using the private data in this function, so get rid of it. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 6c18c91b3a6db6169998b54df12c9d53e74999f3 Author: Victor Rodriguez Date: Thu Sep 23 11:28:40 2010 -0500 davinci: Initial support for Omapl138-Hawkboard This patch adds initial support for the Hawkboard-L138 system It is under the machine name "omapl138_hawkboard". This system is based on the da850 davinci CPU architecture. Information on these system may be found at http://www.hawkboard.org. Basic support for the UART console is included in this patch. It's tested with latest Angstrom File Systems like ramdisk from http://alturl.com/imb45. Signed-off-by: Victor Rodriguez Signed-off-by: Kevin Hilman commit 2a7dae04f3a5966ade5086ebd2e09f170fd0e085 Author: Michael Williamson Date: Fri Sep 17 09:56:06 2010 -0400 davinci: MityDSP-L138/MityARM-1808 read MAC address from I2C Prom For the MityDSP-L138/MityARM-1808 SOMS, read the factory assigned MAC address from the onboard I2C EPROM and assign it to the emac device during platform initialization. Signed-off-by: Michael Williamson Signed-off-by: Kevin Hilman commit 1f4640ae7c299ce87968cb3923c5f85254d68c37 Author: Cyril Chemparathy Date: Mon Sep 20 12:26:44 2010 -0400 davinci: add tnetv107x touchscreen platform device This patch adds a platform device definition for tnetv107x's touchscreen controller. Signed-off-by: Cyril Chemparathy Signed-off-by: Kevin Hilman commit 0fa6c773ad6e9ac6cfa6bad0a729e18babd602c3 Author: Cyril Chemparathy Date: Mon Sep 20 12:26:43 2010 -0400 input: add driver for tnetv107x touchscreen controller This patch adds support for tnetv107x's on-chip touchscreen controller. Signed-off-by: Cyril Chemparathy Acked-by: Dmitry Torokhov Signed-off-by: Kevin Hilman commit a1b4440314edca8e2016f2819d4655453e6aff44 Author: Cyril Chemparathy Date: Mon Sep 20 12:26:42 2010 -0400 davinci: add keypad config for tnetv107x evm board This patch adds evm board specific keymap definitions and controller configuration data for on-chip keypad controller on tnetv107x silicon. Signed-off-by: Cyril Chemparathy Signed-off-by: Kevin Hilman commit d45b1ed4e47d2f585d2acdf5b957bfc5ff465aab Author: Cyril Chemparathy Date: Mon Sep 20 12:26:41 2010 -0400 davinci: add tnetv107x keypad platform device This patch adds a platform device definition for tnetv107x's keypad controller. Signed-off-by: Cyril Chemparathy Signed-off-by: Kevin Hilman commit 70614084402ae40aef40019b991bf44d10093122 Author: Cyril Chemparathy Date: Mon Sep 20 12:26:40 2010 -0400 input: add driver for tnetv107x on-chip keypad controller This patch adds support for tnetv107x's on-chip keypad controller. Signed-off-by: Cyril Chemparathy Acked-by: Dmitry Torokhov Signed-off-by: Kevin Hilman commit d4ef0d42313dffa1feb94142b4c4286169fd1b0e Author: Cyril Chemparathy Date: Wed Sep 15 10:11:30 2010 -0400 net: davinci_emac: cleanup unused cpdma code Having switched over to the newly introduced cpdma layer, this patch now removes a whole bunch of code that is now unused. This patch has been maintained separate strictly for reasons of readability. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 3ef0fdb2342cf58f617ce2bdcd133978629c2403 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:29 2010 -0400 net: davinci_emac: switch to new cpdma layer This patch hooks up the emac driver with the newly separated cpdma driver. Key differences introduced here: - The old buffer list scheme is no longer required - The original code maintained mac address per rx channel, even if only one rx channel was being used. With this change, mac address is maintained device wide. If support for multiple rx channels is added in future, this will need to be reworked a bit. - The new CPDMA code handles short packets better than before. The earlier code was adjusting the length up, without ensuring that the tail end of the padding was cleared - a possible security issue. This has been fixed to use skb_padto(). Signed-off-by: Cyril Chemparathy Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit ef8c2dab01b6e30c4b2ca3ea3b8db33430493589 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:28 2010 -0400 net: davinci_emac: separate out cpdma code In addition to being embedded into the EMAC controller, the CPDMA hardware block is used in TI's CPSW switch controller. Fortunately, the programming interface to this hardware block remains pretty nicely consistent across these devices. This patch adds a new CPDMA services layer, which can then be reused across EMAC and CPSW drivers. Signed-off-by: Cyril Chemparathy Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 7b3742aff1a9946b9b25f16d6a7ca22c10926391 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:27 2010 -0400 net: davinci_emac: cleanup unused mdio emac code This patch removes code that has been rendered useless by the previous patches in this series. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 3b2a40a0a05cdf4f00f100c55b463d86ae14c383 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:26 2010 -0400 omap: cleanup unused davinci mdio arch code This patch removes davinci architecture code that has now been rendered useless by the previous patches in the MDIO separation series. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Acked-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 782f2d782771484bb951be1c394ca2128ed7774e Author: Cyril Chemparathy Date: Wed Sep 15 10:11:25 2010 -0400 davinci: cleanup mdio arch code and switch to phy_id This patch removes davinci architecture code that has now been rendered useless by the previous patches in the MDIO separation series. In addition, the earlier phy_mask definitions have been replaced with corresponding phy_id definitions. Signed-off-by: Cyril Chemparathy Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 5d69e0076a726588265af040b21ac3f8266856d1 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:24 2010 -0400 net: davinci_emac: switch to new mdio This patch switches the emac implementation over to the newly separated MDIO driver. With this, the mdio bus frequency defaults to a safe 2.2MHz. Boards may optionally specify a bus frequency via platform data. The phy identification scheme has been modified to use a phy bus id instead of a mask. This largely serves to eliminate the "phy search" code in emac init. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 433cdb0ac4c4660e98412e441589a7a712010325 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:23 2010 -0400 omap: add mdio platform devices This patch adds mdio platform devices on SoCs that have the necessary hardware. Clock lookup entries (aliases) have also been added, so that the MDIO and EMAC drivers can independently enable/disable a shared underlying clock. Further, the EMAC MMR region has been split down into separate MDIO and EMAC regions. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Acked-by: Tony Lindgren Signed-off-by: Kevin Hilman commit d22960c8bbb8f685c2d8c4051e1f335ab13dca24 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:22 2010 -0400 davinci: add mdio platform devices This patch adds mdio platform devices on SoCs that have the necessary hardware. Clock lookup entries (aliases) have also been added, so that the MDIO and EMAC drivers can independently enable/disable a shared underlying clock. Further, the EMAC MMR region has been split down into separate MDIO and EMAC regions. Signed-off-by: Cyril Chemparathy Acked-by: David S. Miller Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit f20136eb03a1dbdfb04f3c62fd11c0d02d02b726 Author: Cyril Chemparathy Date: Wed Sep 15 10:11:21 2010 -0400 net: davinci_emac: separate out davinci mdio Davinci's MDIO controller is present on other TI devices, without an accompanying EMAC. For example, on tnetv107x, the same MDIO module is used in conjunction with a 3-port switch hardware. By separating the MDIO controller code into its own platform driver, this patch allows common logic to be reused on such platforms. Signed-off-by: Cyril Chemparathy Tested-by: Michael Williamson Tested-by: Caglar Akyuz Signed-off-by: Kevin Hilman commit 8774882394190fe52d1df449b1e1c6cff9c3088c Author: Michael Williamson Date: Sun Sep 5 13:29:39 2010 -0400 davinci: Add I2C0 devices to MityDSP-L138/MityARM-1808 platform This patch adds the i2c0 bus and attached devices to the MityDSP-L138 and MityARM-1808 davinci SoM. Included is a TPS65023 voltage regulator needed for power management and a small 24c02 EPROM that contains factory configuration data. Signed-off-by: Michael Williamson Signed-off-by: Kevin Hilman commit b41547c153436712daef544c0f18547fcb70f4ac Author: Cyril Chemparathy Date: Fri Sep 3 16:01:59 2010 -0400 davinci: add idcode for tnetv107x rev 1.1/1.2 This patch adds an entry into the idcode table for tnetv107x silicon revision 1.1 and 1.2 devices. Signed-off-by: Cyril Chemparathy Signed-off-by: Kevin Hilman commit f2dbb6d91b53d3ffbc85152aa7265599f0a4d850 Author: Michael Williamson Date: Thu Sep 2 13:58:07 2010 -0400 davinci: Initial support for MityDSP-L138/MityARM-1808 This patch adds initial support for the MityDSP-L138 and MityDSP-1808 system on Module (SOM) under the machine name "mityomapl138". These SOMs are based on the da850 davinci CPU architecture. Information on these SOMs may be found at http://www.mitydsp.com. Basic support for the console UART, NAND, and EMAC (MII interface) is included in this patch. Signed-off-by: Michael Williamson Signed-off-by: Kevin Hilman commit 9c6fbbee8d67eca75e9ffde3a10eb7ac0a73360d Author: Michael Williamson Date: Tue Aug 31 14:42:32 2010 -0400 davinci: Add CONFIG_REGULATOR_DUMMY to DA8XX defconfig file. In order to support reference DA8XX machines not providing a voltage regulator control for the core voltage, the REGULATOR_DUMMY option is required. Signed-off-by: Michael Williamson Signed-off-by: Kevin Hilman commit 1aa5f2a9c1575279baf06e94a4bd3b3b86b7f176 Author: Michael Williamson Date: Tue Aug 31 14:30:15 2010 -0400 davinci: Add machine checks to DA8XX serial console init routines This patch adds machine checks in the serial console init routines for the DA8XX EVM boards. This is needed because there are other DA8XX based machines that use a different UART/tty as the console and may be included in a common kernel build. Signed-off-by: Michael Williamson Signed-off-by: Kevin Hilman commit 0b3fc7bb88243371a2bd4a4990fb62a0b722efe7 Author: Sekhar Nori Date: Mon Aug 9 15:46:40 2010 +0530 davinci: dm6467t evm: setup NAND flash timing Setup NAND flash timing on DM6467T EVM. Without the timing setup, the NAND flash on DM6467T RevC EVM reports a number of random bad blocks because of read errors. Also, with this, copying a 100M file on RevB EVM takes ~35 sec against 1 minute 30 seconds earlier. Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: Kevin Hilman commit 18a8505cc130448c8c0a29a46573b46697bf0e42 Author: Sekhar Nori Date: Mon Aug 9 15:46:39 2010 +0530 davinci: am18x/da850/omap-l138 evm: setup NAND flash timing Setup the NAND flash timings for DA850 EVM Before configuring the timing values, throughput calculation using dd command yielded 469 kB/s write and 966 kB/s read speed. After the timing configuration, the throughput was measured to be 2.4 MB/s write and 5 MB/s read. [Mukul Bhatnagar: actual calculation of timing values from the NAND datasheet] Signed-off-by: Sekhar Nori Cc: Mukul Bhatnagar Acked-by: Kevin Hilman Signed-off-by: Kevin Hilman commit 217f13662f291d8eaac5a3dfd7ba35be0a91c9fc Author: Sudhakar Rajashekhara Date: Mon Aug 9 15:46:38 2010 +0530 davinci: am17x/da830/omap-l137 evm: setup NAND flash timing Setup the NAND flash timings for DA830 EVM. Before configuring the timing values, throughput calculation using dd command yielded 477 kB/s write and 970 kB/s read speed. After the timing configuration, the throughput was measured to be 2.5 MB/s write and 5.1 MB/s read. [Mukul Bhatnagar: actual calculation of timing values from the NAND datasheet] Signed-off-by: Sudhakar Rajashekhara Cc: Mukul Bhatnagar Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: Kevin Hilman commit fe69c82d0862f54b1a5aa5ece046468b4e76b40c Author: Sekhar Nori Date: Mon Aug 9 15:46:37 2010 +0530 davinci: dm644x evm: setup NAND flash timing The DM644x EVM nand flash timing was earlier being done as a special case in the NAND driver itself. With the NAND driver now capable of progamming the AEMIF interface using timing data passed from the platform, the timing values are being moved into their rightful place in the EVM specific board file. The values being programmed match what was being done earlier and thus do not represent any change in performance/functionality. Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: Kevin Hilman commit a88dbc5bfdd26132bbf0ad19dd672e036971d74d Author: Sekhar Nori Date: Mon Aug 9 15:46:36 2010 +0530 nand: davinci: add support for timing configuration This patch modifies the DaVinci NAND driver to use the new AEMIF timing setup API to configure the NAND access timings. Earlier, AEMIF configuration was being done as a special case for DM644x board, but now more boards emerge which have capability to boot for other media (SPI flash, NOR flash) and have the kernel access NAND flash. This means that kernel cannot always depend on the bootloader to setup the NAND. Also, on platforms such as da850/omap-l138, the aemif input frequency changes as cpu frequency changes; necessiating re-calculation of timimg values as part of cpufreq transtitions. This patch forms the basis for adding that support. Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: Artem Bityutskiy commit 8060ef4da9e73f461adf2ba1922ea5400a61cf98 Author: Sekhar Nori Date: Mon Aug 9 15:46:35 2010 +0530 davinci: add support for aemif timing configuration This patch adds support to configure the AEMIF interface with supplied timing values. Since this capability is useful both from NOR and NAND flashes, it is provided as a new interface and in a file of its own. AEMIF timing configuration is required in cases: 1) Where the AEMIF clock rate can change at runtime (a side affect of cpu frequency change). 2) Where U-Boot does not support NAND/NOR but supports other media like SPI Flash or MMC/SD and thus does not care about setting up the AEMIF timing for kernel to use. 3) Where U-Boot just hasn't configured the timing values and cannot be upgraded because the box is already in the field. Since there is now a header file for AEMIF interface, the common (non-NAND specific) defines for AEMIF registers have been moved from nand.h into the newly created aemif.h Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: Kevin Hilman commit 13d36a923da6a1e0584e07d91320373c790c01c3 Author: Sekhar Nori Date: Fri Aug 27 14:14:03 2010 +0530 davinci: dm365 evm: use EDMAQ_3 as the audio DMA queue By default the audio driver uses EDMAQ_0 as the DMA queue, but on DM365 this queue is specially designed for video transfers with a large fifo size. Having both audio and video transfers on the same queue leads to noise on the audio side. This patch changes the audio queue number for DM365 to EDMAQ_3. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit b8241aef7eb54c6e5126b3aa309c2cf0f343c52d Author: Juha Kuikka Date: Thu Aug 26 12:40:47 2010 -0700 DA850: Add MMCSD1 resources, platform device and convenience registration function Add resources, platform device and convenience registration function for DA850's second MMC/SD controller (MMCSD1). Signed-off-by: Juha Kuikka Signed-off-by: Kevin Hilman commit 051a6687336d3310abc85991db7a8917ecc603fc Author: Juha Kuikka Date: Thu Aug 26 12:40:46 2010 -0700 DA850: Split MMCSD clock into two to support both MMCSD peripherals Split mmcsd_clk into mmcsd0_clk and mmcsd1_clk and add davinci_mmc.1 in preparation for adding support for MMCSD1 peripheral in DA850. Signed-off-by: Juha Kuikka Signed-off-by: Kevin Hilman commit d2b8622c9122841db9c0a09a02d92823d924a1a5 Author: Juha Kuikka Date: Thu Aug 26 12:40:45 2010 -0700 DA850: Add LPSC id for MMCSD1 peripheral Add LPSC id for DA850's MMCSD1 peripheral. Signed-off-by: Juha Kuikka Signed-off-by: Kevin Hilman commit 93fe23d8a9d95d8a85dfe2cb37cd9f220bef11b8 Author: Kulikov Vasiliy Date: Sat Jul 17 19:19:07 2010 +0400 arm: mach-davinci: check irq2ctlr() result If irq2ctlr() fails return IRQ_NONE. Also as it can fail make 'ctlr' signed. The semantic patch that finds this problem (many false-positive results): (http://coccinelle.lip6.fr/) // @ r1 @ identifier f; @@ int f(...) { ... } @@ identifier r1.f; type T; unsigned T x; @@ *x = f(...) ... *x > 0 Signed-off-by: Kulikov Vasiliy Signed-off-by: Kevin Hilman commit 85b8307fd03badbff0da5a75776c62cb45ee6551 Author: Sergei Shtylyov Date: Sun Aug 1 21:17:00 2010 +0400 DA850: move MII/RMII pin lists to the board file The CPGMAC pin list in da850.c was incorrectly split into two MII/RMII mode specific pin lists, while what pin group is used is a function of how the board is wired. Copy the pin lists to board-da850-evm.c, renaming them accordingly, and merge the two lists in da850.c into one, da850_cpgmac_pins[], representing the CPGMAC module as a whole... Signed-off-by: Sergei Shtylyov Tested-by: Ben Gardiner Signed-off-by: Kevin Hilman commit f48ecc2f73763e9d94d5847692ed25ab0f4fb73c Author: Sergei Shtylyov Date: Sun Aug 1 21:15:16 2010 +0400 DA850: move NAND/NOR pin lists to the board file The NAND/NOR flash pin lists (da850_nand_pins/da850_nor_pins) are purely board specific and as such shouldn't be in da850.c -- copy them to board-da850-evm.c, renaming to da850_evm_nand_pins/da850_evm_nor_pins respectively, and merge the two lists in da850.c into one, representing the EMIF 2.5 module as a whole, just like we have it in da830.c... While at it, remove the '__init' modifier from da850_evm_setup_nor_nand() as this function is called from non '__init' code... Signed-off-by: Sergei Shtylyov Tested-by: Ben Gardiner Signed-off-by: Kevin Hilman commit 7173d5493799944d47317d9490365a89ee079f2a Author: Cyril Chemparathy Date: Tue Aug 3 21:04:16 2010 -0400 Davinci: tnetv107x: retain psc reg base after init This is a bugfix for the original tnetv107x submission series. The psc_regs base array was being discarded post-init, and this was causing a crash during post-init clock enable/disable. Signed-off-by: Cyril Chemparathy Signed-off-by: Kevin Hilman commit b987c4b2c9c9db2393f4c089e63d1734301214e5 Author: Sekhar Nori Date: Tue Jul 20 16:46:51 2010 +0530 davinci: am18x/da850/omap-l138: keep async clock constant with cpufreq Keep PLL0 SYSCLK3 at a constant rate of 100MHz. This enables the AEMIF timing to remain valid even as the PLL0 output is changed by cpufreq driver to save power. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 30a2c5d2f0134df6175af26ce554aacaee304280 Author: Sekhar Nori Date: Tue Jul 20 16:46:50 2010 +0530 davinci: cpufreq: add support for keeping an additional clock constant On OMAP-L138 SoC, some of the sysclks need not be at a fixed ratio to CPU clock and can be kept at a relatively constant rate by adjusting the PLLDIVn ratio even as cpufreq goes ahead and changes the CPU clock. This feature can be used to keep the EMIFA (PLL0 SYSCLK3) clock at a constant rate so that the EMIF timings need not be re-programmed whenever the CPU frequency changes. This patch adds the required suppport to cpufreq driver. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit b39639b820ca64e55c39b5217773919ca7973cec Author: Sekhar Nori Date: Tue Jul 20 16:46:49 2010 +0530 davinci: clock: add support for setting sysclk rate Setting sysclk rate will be useful in cases where the sysclk is not at a fixed ratio to the PLL output but can asynchronously be changed. This support forms the basis of attempt to keep the AEMIF clock constant on OMAP-L138 even as PLL0 output changes as ARM clock is changed to save power. This patch has been tested on OMAP-L138. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 0a477f6b8c1849701981f6e00e7afcd35af75546 Author: Sekhar Nori Date: Wed Jul 14 17:09:45 2010 +0530 davinci: dm365: disable pulldowns for all MMC/SD1 pins. This patch disables internal pulldowns for all MMC/SD1 pins. Presently only MMCSD1_CMD pin's pull down is disabled, but with this some MMC/SD cards do not get detected on MMC/SD1 slot of the EVM. The problem was reproducible with SanDisk 4GB SDHC card. Reported-by: Stephane Bovagne Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 6ef62f8204402e32259451857c1a4a04f155b56e Author: Sekhar Nori Date: Wed Jul 7 14:02:49 2010 +0530 davinci: am18x/da850/omap-l138: use 'NOM' voltage defined in datasheet as min voltage For each DA850 OPP, the normal ('NOM') voltage defined in the tecnical reference manual (TRM) is actually the minimum voltage the frequency is supported at. The minimum ('MIN') voltage defined in TRM is meant to take care of voltage fluctuations and the device should not be run at this voltage for extended periods of time. Fix the OPP definitions to define the cvdd_min as the normal voltage defined in the datasheet. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 48ea89eabee96019a4a84615af921f8703320abb Author: Sekhar Nori Date: Thu Jul 1 19:00:50 2010 +0530 davinci: introduce support for AM1x ARM9 microprocessors The Sitara AM17x SoCs from TI are an OMAP-L137 pin-to-pin compatible ARM9 microprocessor offering from TI. The Sitara AM18x SoCs from TI are an OMAP-L138 pin-to-pin compatible ARM9 microprocessor offering from TI. More information about these processors available at: www.ti.com/am1x Because of their compatibiliy with OMAP-L1x, the kernel support for OMAP-L1x is fully relevant to AM1x processors. This patch updates the Kconfig prompt and help text to include the AM1x part names to help users select configurations required for these parts easily. Also, the hardware information that shows up in /proc/cpuinfo is updated to show applicability of the respective OMAP-L1x EVMs for AM1x parts. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit a7884f454b75ac57e92b8c3fb3b20148f92f7688 Author: Sekhar Nori Date: Thu Jul 1 19:00:49 2010 +0530 davinci: clean up inconsistent usage of spaces in Kconfig In arch/arm/mach-davinci/Kconfig, some of the configuration items are indented with multiple spaces instead of tabs. Also, in couple of places, two spaces are used in the middle of help text where one should do. This patch fixes both issues. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit fca97b3337edb6b12707d167460b224dd8ef6052 Author: Sekhar Nori Date: Tue Jul 20 16:46:48 2010 +0530 davinci: cpufreq: bailout on regulator errors Current cpufreq code does not consider errors that can occur while changing voltage. Code to increase CPU frequency goes ahead even in the case the regulator has failed to increase the voltage. This leads to hard error since lower voltages cannot support increased frequency. Prevent this by not increasing frequency in case increasing voltage is not successful. Also, do not lower the voltage if changing the cpu frequency has failed for some reason. Note that we do not return error on failure to decrease voltage as that is not a hard error. Build fix for non-cpufreq kernels by Caglar Akyuz. Signed-off-by: Sekhar Nori Cc: Caglar Akyuz Signed-off-by: Kevin Hilman commit c89f1681450822c74afb3217ed4c24a177a23f43 Author: Kevin Hilman Date: Thu Aug 5 10:55:16 2010 -0700 davinci: clock: make 'disable unused clocks' printk debug only The long list of clocks being disabled on boot is noisy and not needed for standard boots. Make this a debug printk instead. Signed-off-by: Kevin Hilman commit 4b5dc96a71b85f2d8759decb23a2ade49a722561 Author: Sekhar Nori Date: Mon Jul 12 18:51:05 2010 +0530 MAINTAINERS: Add Kevin's e-mail in entry for TI DaVinci In absence of Kevin's e-mail address, using get_maintaner.pl in git-send-email --cc-cmd option is not CCing Kevin at all. While at it, mark davinci-linux-open-source@linux.davincidsp.com as a list in line with what is being done for other maintainer entries. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit db549d22c4b84824f90558eb8e6b116cf134794d Author: Sekhar Nori Date: Mon Jun 28 17:16:38 2010 +0530 davinci: da850 evm: sparse cleanup: make file local variables static Without this cleanup, sparse checker reports warnings of the type: CHECK arch/arm/mach-davinci/board-da850-evm.c arch/arm/mach-davinci/board-da850-evm.c:112:22: warning: symbol 'da850_evm_nandflash_partition' was not declared. Should it be static? The nand flash partitions and regulator supplies are used within the EVM file and so should have been static This patch has been boot tested on DA830 and DA850 EVMs. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 4b1977698ceb4c4caa800d475127139da49966f9 Author: Mark Lord Date: Fri Sep 24 09:51:13 2010 -0400 block: Prevent hang_check firing during long I/O During long I/O operations, the hang_check timer may fire, trigger stack dumps that unnecessarily alarm the user. Eg. hdparm --security-erase NULL /dev/sdb ## can take *hours* to complete So, if hang_check is armed, we should wake up periodically to prevent it from triggering. This patch uses a wake-up interval equal to half the hang_check timer period, which keeps overhead low enough. Signed-off-by: Mark Lord Signed-off-by: Jens Axboe commit dfb4f309830359352539919f23accc59a20a3758 Author: Benny Halevy Date: Fri Sep 24 09:17:01 2010 -0400 NFSv4.1: keep seq_res.sr_slot as pointer rather than an index Having to explicitly initialize sr_slotid to NFS4_MAX_SLOT_TABLE resulted in numerous bugs. Keeping the current slot as a pointer to the slot table is more straight forward and robust as it's implicitly set up to NULL wherever the seq_res member is initialized to zeroes. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 45798c28b43d06d371df2e26e4a143c6f1428c6d Author: Jiri Kosina Date: Fri Sep 24 14:07:23 2010 +0200 Revert "Fix typo: configuation => configuration" partially This is a partial revert of 0b1974de66f ("Fix typo: configuation => configuration") as this hunk is removed in net-next. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 50bb6d8492ff0c3f204b263aff90d4a7ebf4dd90 Author: Alan Stern Date: Thu Sep 23 10:40:21 2010 -0400 HID: usbhid: remove unused hiddev_driver Now that hiddev_driver isn't being used for anything, there's no reason to keep it around. This patch (as1419) gets rid of it entirely. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 73e6d6c6467771838c1fc6949e6768a12ed72464 Merge: 12e5272 a850ea3 Author: Jiri Kosina Date: Fri Sep 24 14:03:37 2010 +0200 Merge branch 'master' into upstream commit 64eb105d7f92fa48798106ac0d8bf17668eb2524 Author: Michael Poole Date: Fri Sep 24 13:58:18 2010 +0200 HID: magicmouse: Use hid-input parsing rather than bypassing it Let the HID core handle input device setup and HID-compliant reports. This driver then only has to worry about the non-standard reports. Signed-off-by: Michael Poole Acked-by: Chase Douglas Signed-off-by: Jiri Kosina commit 591796b82ab04c01179b9f47b1159051aeb66f08 Author: Mark Brown Date: Thu Sep 23 19:43:07 2010 +0100 ASoC: Clean up AC'97 glue driver Remove version number and clean up some indentation. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 8d85d7414a681ad17f6bfc7564e310caee2c868d Author: Mark Brown Date: Thu Sep 23 17:41:46 2010 +0100 ASoC: Add debug logging for s3c-ac97 resets Helps tracing errors further up the stack. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 4a6f998ebb1e434ce83c6169a1afbe6a39015bea Author: Mark Brown Date: Thu Sep 23 16:48:54 2010 +0100 ASoC: Convert s3c-ac97 to pr_() macros Could use dev_() but we'd have to remember the struct device somewhere and it wouldn't make the logging clearer. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 97daff36f207c62df250092863f2af7e62b0e389 Author: Mark Brown Date: Thu Sep 23 15:28:14 2010 +0100 ASoC: Clean up the CODEC device as well as the board for SMDK WM9713 Otherwise we try to re-register the CODEC device if the module is reloaded and sysfs becomes miserable. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 9fab9635033a175c6583bd4ec702a200940c5a56 Author: Mark Brown Date: Wed Sep 22 19:44:13 2010 +0100 ASoC: Clarify naming for SMDK WM9713 driver At least some of the systems using this device have multiple audio subsystems so provide some guidance to userspace about which one this is. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 266edab35d77d836f56813a673e77cd608a24840 Author: Mark Brown Date: Wed Sep 22 19:43:30 2010 +0100 ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit c80dbb58f9c3f84372e37dfe80b41810052ad62f Author: Steven Whitehouse Date: Fri Sep 24 09:55:07 2010 +0100 GFS2: Remove upgrade mount option This option has never done anything useful. Also at the same time this cleans up the sb checks which are done at mount time. The debug option will be accepted, but ignored in future. Since it didn't do anything, there didn't seem much point in retaining it. Signed-off-by: Steven Whitehouse commit d6dad199a10423ce37b8bfec1f055c380dc4a3d5 Author: Ingo Molnar Date: Fri Sep 24 09:12:25 2010 +0200 jump label: Fix GCC feature check when distcc is used The following build bug occurs on distcc builds: CC arch/x86/kernel/asm-offsets.s In file included from include/linux/module.h:24, from include/linux/crypto.h:22, from arch/x86/kernel/asm-offsets_64.c:9, from arch/x86/kernel/asm-offsets.c:5: include/trace/events/module.h: In function 'trace_module_load': include/trace/events/module.h:18: error: expected '(' before 'goto' include/trace/events/module.h:18: error: expected identifier or '*' before '(' token It triggers because distcc is invoked by turning $CC into "distcc gcc", but gcc-goto.sh check script was using $1 not $@ to expand parameters. Cc: Jason Baron Cc: Steven Rostedt LKML-Reference: <20100923034910.867858597@goodmis.org> Signed-off-by: Ingo Molnar commit fec88dea9d316e9d850e84c5a57c4c6b15cb9b26 Merge: 4e7d7c6 01fdf18 Author: Takashi Iwai Date: Fri Sep 24 09:12:21 2010 +0200 Merge branch 'fix/hda' into topic/hda commit a5a2bad55de89a0adf7d6f783cb87ab7eb1a894f Merge: d0303d7 46eb3b6 Author: Ingo Molnar Date: Fri Sep 24 09:12:05 2010 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit e7193cc8e7b67b29483d9fd4fec04ec7b42861f0 Author: Santosh Shilimkar Date: Thu Sep 16 18:44:48 2010 +0530 omap4: Fix bootup crash observed with higher CPU clocks This patch is temporary fix to below crash. This is observed when CPU is clocked more than 600 MHz. Unhandled fault: imprecise external abort (0x1406) at 0xbf9ef65c Internal error: : 1406 [#1] PREEMPT SMP last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.36-rc3+ #18) PC is at kernel_thread_helper+0x0/0x14 LR is at kernel_thread_helper+0x0/0x14 pc : [] lr : [] psr: 00000093 sp : dc83bff8 ip : 00000000 fp : 00000000 r10: 00000000 r9 : 00000000 r8 : 00000000 r7 : 00000013 r6 : c003ce28 r5 : c008935c r4 : 00000000 r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000 Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7f Table: 8000404a DAC: 00000017 Process swapper (pid: 2, stack limit = 0xdc83a2f0) Stack: (0xdc83bff8 to 0xdc83c000) bfe0: 00000000 ffffffff [] (kernel_thread_helper+0x0/0x14) from [] (0xfffffffe) Code: c03a0ba3 c03a5fcb c045c880 c0394035 (eb017701) ---[ end trace 1b75b31a2719ed1c ]--- The timer hwmod adaptation will eventually fix it in a proper way. Signed-off-by: Rajendra Nayak Signed-off-by: Santosh Shilimkar commit b5be6b66b7a33f48bf0dfb466443ae9b65e69871 Author: David Anders Date: Thu Sep 16 18:44:47 2010 +0530 omap4: Panda: Add DEBUG_LL support Add support for use of DEBUG_LL for use with PandaBoard. Signed-off-by: David Anders commit a777b7277ef9b04481d4ceaac353bb4bd82e2f1e Author: Santosh Shilimkar Date: Thu Sep 16 18:44:47 2010 +0530 omap4: l2x0: Fix init parameter for es2.0 On ES2.0 the L2 cache init parameter ineeds to be changed to take care of cache size. The cache size is 1MB on ES2.0 vs 512KB on ES1.0 This patch fixes the init parameter to update the same using dynamic cpu version check Signed-off-by: Santosh Shilimkar commit ed6be0bafc7781634a197ddd85b575ffcd7736b6 Author: Santosh Shilimkar Date: Thu Sep 16 18:44:46 2010 +0530 omap4: Update id.c and cpu.h for es2.0 This patch updates the id.c and cpu.h files to support omap4 ES2.0 silicon detection. Few initial omap4 es2 samples IDCODE is same as es1. So the patch uses ARM cpuid register to detect the ES version for such samples Signed-off-by: Santosh Shilimkar commit f47d8c694e666843653f06c257d8cfb87e376f5d Author: Vikram Pandita Date: Thu Sep 16 18:19:25 2010 +0530 omap4: sram: Fix start address On OMAP4 there is no need to have SRAM_BOOTLOADER_SZ provision Hence put this macro under CONFIG_ARCH_OMAP2PLUS check Signed-off-by: Vikram Pandita Reviewed-by: Santosh Shilimkar commit 2a27753fdc2ab046c754e3e203953dd0d4c1611b Author: Vikram Pandita Date: Thu Sep 16 18:19:24 2010 +0530 omap: sram: fix is_sram_locked check For OMAP24xx/34xx/44xx: omap_type() returns the correct type: OMAP2_DEVICE_TYPE_TEST OMAP2_DEVICE_TYPE_EMU OMAP2_DEVICE_TYPE_SEC OMAP2_DEVICE_TYPE_GP OMAP2_DEVICE_TYPE_BAD In current implementation there are two problems: Problem 1: For 34xx, the current if check will never return true. Problem 2: For 24xx the correct type check should be with omap_type() function Verified by checking the TRM 24xx for CONTROL_STATUS register bits Signed-off-by: Vikram Pandita Acked-by: Santosh Shilimkar commit 04be1e9ba49657347b4e1969a217e5fc33bbf72a Author: Jarkko Nikula Date: Fri Aug 20 09:36:28 2010 +0300 omap: n8x0: Mux i2s codec port pins for McBSP block Bootloader on Nokia N800 and N810 muxes I2C codec port pins for EAC block. As there is no driver and use for EAC, mux those pins for McBSP instead since N810 ASoC drivers can use it. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 366498d4f2aef7640ae467a986d69d1cc06a141b Author: Jarkko Nikula Date: Fri Aug 20 09:36:28 2010 +0300 omap: n8x0: Register i2c2 and add board info with tlv320aic3xfor N810 Second i2c bus on Nokia N800 and N810 shares both common and hw specific peripherals. Register now this bus and add board info with tlv320aic3x for N810. Common peripherals may be added as an additional board info to omap_register_i2c_bus(2, ...); Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit a7f97d25c707e1020bd7bcb443e183860e5abf48 Author: Jarkko Nikula Date: Fri Aug 20 09:36:28 2010 +0300 omap: n8x0: Cleanup i2c1 and menelaus registration - Move n8x0_i2c_board_info_1 out from #ifdef CONFIG_MENELAUS block, register i2c1 in n8x0_init_machine and do a few clean-ups around these. Code looks better if board infos are grouped together - Mark n8x0_i2c_board_info_1 and n8x0_menelaus_platform_data with __initdata Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit ca828760f96ee8f0b6c93400599844761aa69dc0 Author: Sanjeev Premi Date: Thu Sep 23 18:27:18 2010 -0700 omap2: fix assorted compiler warnings This patch fixes these compiler warnings: CC arch/arm/mach-omap2/mux.o arch/arm/mach-omap2/mux.c: In function 'omap_mux_init_gpio': arch/arm/mach-omap2/mux.c:90: warning: 'gpio_mux' may be used uninitial ized in this function CC arch/arm/plat-omap/gpio.o arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_resume_after_idle': arch/arm/plat-omap/gpio.c:2152: warning: 'l' may be used uninitialized in this function arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_prepare_for_idle': arch/arm/plat-omap/gpio.c:2085: warning: 'l2' may be used uninitialized in this function arch/arm/plat-omap/gpio.c:2085: warning: 'l1' may be used uninitialized in this function CC arch/arm/mach-omap2/board-omap4panda.o arch/arm/mach-omap2/board-omap4panda.c: In function 'omap4_panda_init': arch/arm/mach-omap2/board-omap4panda.c:277: warning: unused variable 's tatus' Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit e3333f48dd5cb21b8d43d6d3a434055815084f1e Author: Mathieu J. Poirier Date: Thu Sep 23 18:22:48 2010 -0700 omap: Adding beagle i2c eeprom driver to read EDID Adding i2c eeprom driver to access monitor EDID binary information from user space, something that is required by 'decode-edid' and 'parse-edid'. BugLink: https://bugs.launchpad.net/bugs/608279 Signed-off-by: Mathieu Poirier Signed-off-by: Tony Lindgren commit cf74d41ea07fe6066daea7df74d9550bc2c64284 Author: Robert Nelson Date: Thu Sep 23 18:22:48 2010 -0700 omap: Beagle: no gpio_wp pin connection on xM The omap3630 based BeagleBoard xM uses a MicroSD card slot with no write protection. Signed-off-by: Robert Nelson Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit e4916e117a4fcd001a1be777e406ec1f98b75de4 Author: Robert Nelson Date: Thu Sep 23 18:22:48 2010 -0700 omap: Beagle: only Cx boards use pin 23 for write protect system_rev comes from u-boot and is a constant 0x20, so Bx boards also fall in this 'if' and will get setup with the wrong gpio_wp pin. Switch to using the Beagle revision routine to correcly set pin 23 only for C1/2/3 and C4 Boards. Bx boards will then use the correct default pin setting. Signed-off-by: Robert Nelson Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 954bed046fe57724851879a9db813eecb1d15f55 Author: Robert Nelson Date: Thu Sep 23 18:22:47 2010 -0700 omap: Beagle: revision detection Due to the omap3530 ES3.0 Silicon being used on both the B5/B6 and C1/2/3 Beagle we can't use the cpu_is_omap34xx() routines to differentiate the Beagle Boards. However gpio pins 171,172,173 where setup for this prupose, so lets use them. Changes: for older U-Boot's, use omap_mux_init_gpio() keep Beagle Rev in board-omap3beagle.c gpio_free on gpio request failure Tested on Beagle Revisions: B5, C2, C4, and xMA Signed-off-by: Robert Nelson Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 0df891bb9c36c57d09c8b7cf28904e3672d93f9e Author: Shubhrajyoti Datta Date: Thu Sep 23 18:22:47 2010 -0700 hmc5843: Digital compass board file The board file changes for the digital compass hmc5843. The interface to the device is i2c. Signed-off-by: Shubhrajyoti D Signed-off-by: Tony Lindgren commit 39cdd14570e3c32728d407cb38de17e80cf16104 Merge: 172c113 e933ec7 Author: Tony Lindgren Date: Thu Sep 23 17:29:36 2010 -0700 Merge branch 'pm-runtime' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus commit 172c11351576cf5daa8f1b02a265bf84de8bbed1 Merge: 9af2ebb 0aed0435 Author: Tony Lindgren Date: Thu Sep 23 17:29:28 2010 -0700 Merge branch 'pm-next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus commit 0aed043517ad4135cb458a46e9e99e21cbb59c69 Author: Kevin Hilman Date: Wed Sep 22 16:06:27 2010 -0700 OMAP: GPIO: ensure debounce clocks are disabled during idle/suspend If a GPIO bank has more than one GPIO with debounce enabled, the debounce clock will not be fully disabled before going to idle/suspend. In the idle path, we just do a single clk_disable() of the bank's debounce clock. If there are multiple debounce-enabled GPIOs in the bank, that clocks usage count will be > 1, so the clk_disable() will not actually disable the clock. So the fix is to clk_disable() for every debounce-enabled GPIO in the bank (and an equivalent clk_enable() of course.) Signed-off-by: Kevin Hilman commit cbf27660e692d8c74087c0ccb80225207d280af1 Author: Benoit Cousson Date: Thu Aug 5 15:22:35 2010 +0200 OMAP4: pm: Change l3_main to l3_main_1 during bus device init The OMAP4 L3 interconnect is split in 3 part for power saving reason. Because of that there is no l3_main like on OMAP2 & 3 but 3 differentes l3_main_X instances. In the case of OMAP4, query only the l3_main_1 part. The clock and voltage are shared across the 3 instances. Signed-off-by: Benoit Cousson Cc: Paul Walmsley Signed-off-by: Kevin Hilman commit 55d2cb0814f4285f89be8ed474a8ae7042fb5735 Author: Benoit Cousson Date: Wed May 12 17:54:36 2010 +0200 OMAP4: hwmod: Add initial data for OMAP4430 ES1 & ES2 The current version contains only the interconnects and the mpu hwmods. The remaining hwmods will be introduced by further patches on top of this one. - enable as well omap_hwmod.c build for OMAP4 Soc Please not that this file uses the new naming convention for naming HW IPs. This convention will be backported soon for previous OMAP2 & 3 data files. new name trm name ------------- ------------------- counter_32k synctimer_32k l3_main l3 timerX gptimerX / dmtimerX mmcX mmchsX / sdmmcX dma_system sdma smartreflex_X sr_X / sr? usb_host_fs usbfshost usb_otg_hs hsusbotg usb_tll_hs usbtllhs_config wd_timerX wdtimerX ipu cortexm3 / ducati dsp c6x / tesla iva ivahd / iva2.2 kbd kbdocp / keyboard mailbox system_mailbox mpu cortexa9 / chiron Signed-off-by: Benoit Cousson Cc: Paul Walmsley Cc: Kevin Hilman Cc: Rajendra Nayak Signed-off-by: Kevin Hilman commit 0d5e825252e184a5608c8a9827b79f591535b806 Author: Kevin Hilman Date: Mon Aug 23 08:10:55 2010 -0700 OMAP: omap_device: make all devices a child of a new parent device In order to help differentiate omap_devices from normal platform_devices, make them all a parent of a new common parent device. Then, in order to determine if a platform_device is also an omap_device, checking the parent is all that is needed. Users of this feature are the runtime PM core for OMAP, where we need to know if a device being passed in is an omap_device or not in order to know whether to call the omap_device API with it. In addition, all omap_devices will now show up under /sys/devices/omap instead of /sys/devices/platform Acked-by: Paul Walmsley Signed-off-by: Kevin Hilman commit a1ed40cb258ba7a8574e662de5ae6ba4dc314436 Author: Kevin Hilman Date: Mon Aug 23 10:53:10 2010 -0700 Revert "OMAP: omap_device: add omap_device_is_valid()" This reverts commit 0007122ad85cc36b1c18c0b59344093ca210d206. The dereference method of checking for a valid omap_device when wrapping a platform_device is rather unsafe and dangerous. Instead, a better way of checking for a valid omap-device is to use a common parent device for all omap_devices, then a check can simply be made using the device parent. The only user of this API was the initial version of the runtime PM core for OMAP. This has now been switched to check device parent, so there are no more users of this API. Acked-by: Paul Walmsley Signed-off-by: Kevin Hilman commit 6f7f63cc9adf3192e6fcac4e8bed5cc10fd924aa Author: Paul Walmsley Date: Tue Sep 14 15:56:53 2010 -0600 OMAP clockdomain: initialize clockdomain registers when the clockdomain layer starts When the clockdomain layer initializes, place all clockdomains into software-supervised mode, and clear all wakeup and sleep dependencies immediately, rather than waiting for the PM code to do this later. This fixes a major bug where critical sleep dependencies added by the hwmod code are cleared during late PM init. As a side benefit, the _init_{wk,sleep}dep_usecount() functions are no longer needed, so remove them. Kevin Hilman did all the really hard work on this, identifying the problem and finding the bug. Signed-off-by: Paul Walmsley Signed-off-by: Kevin Hilman commit eb6a2c7550560e6619eadb912ea8384ce27964b8 Author: Santosh Shilimkar Date: Wed Sep 15 01:04:01 2010 +0530 omap: pm: Move set_pwrdm_state routine to common pm.c The set_pwrdm_state() is needed on omap4 as well so move this routine to common pm.c file so that it's available for omap3/4 Signed-off-by: Rajendra Nayak Signed-off-by: Santosh Shilimkar Signed-off-by: Kevin Hilman commit 315e2556f62adb51c40d5422f4134bd3630d8157 Author: Santosh Shilimkar Date: Wed Sep 15 01:04:00 2010 +0530 omap: pm-debug: Enable wakeup_timer_milliseconds debugfs entry Commit 8e2efde9 added milliseconds suspend wakeup time support but same interface is not exported through debugfs This patch enables the debugfs hook for wakeup_timer_milliseconds Signed-off-by: Santosh Shilimkar Signed-off-by: Kevin Hilman commit 86b0c1e3c07f7fc3a8197a934d9a04476061bed9 Author: Santosh Shilimkar Date: Wed Sep 15 01:03:59 2010 +0530 omap: pm-debug: Move common debug code to pm-debug.c This patch moves omap2_pm_wakeup_on_timer() and pm debug entries form pm34xx.c to pm-debug.c and export it, so that it is available to other OMAPs Signed-off-by: Santosh Shilimkar Signed-off-by: Kevin Hilman commit b3294e2327718e9487e662d1392b36b39f07d70b Author: Thara Gopinath Date: Wed Sep 1 13:44:53 2010 +0530 OMAP4: pm.c extensions for OMAP4 support OMAP4 has an iva device and a dsp devcice where as OMAP2/3 has only an iva device. In this file the iva device in the system is registered under the name dsp_dev and the API to retrieve the iva device is omap2_get_dsp_device. This patch renames the dsp_dev to iva_dev, renames omap2_get_dsp_device to omap2_get_iva_device, registers dsp_dev for OMAP4 and adds a new API omap4_get_dsp_device to retrieve the dep_dev. Signed-off-by: Thara Gopinath Signed-off-by: Kevin Hilman commit e7410cf7831c2e5106a90dac6179df5d2c9bd60e Author: Kevin Hilman Date: Wed Sep 8 16:37:42 2010 -0700 OMAP3: PM: move device-specific special cases from PM core into CPUidle In an effort to simplify the core idle path, move any device-specific special case handling from the core PM idle path into the CPUidle pre-idle checking path. This keeps the core, interrupts-disabled idle path streamlined and independent of any device-specific handling, and also allows CPUidle to do the checking only for certain C-states as needed. This patch has the device checks in place for all states with the CHECK_BM flag, namely all states >= C2. This patch was inspired by a similar patch written by Tero Kristo as part of a larger series to add INACTIVE state support. NOTE: This is a baby-step towards decoupling device idle (or system idle) from CPU idle. Eventually, CPUidle should only manage the CPU, and device/system idle should be managed elsewhere. Cc: Tero Kristo Signed-off-by: Kevin Hilman commit df0a59a14c693647da4097ba3578c524c452fd0d Author: Joe Perches Date: Mon Jul 12 13:49:54 2010 -0700 [IA64] Remove unnecessary casts of private_data in perfmon.c Signed-off-by: Joe Perches Signed-off-by: Tony Luck commit a02cec2155fbea457eca8881870fd2de1a4c4c76 Author: Eric Dumazet Date: Wed Sep 22 20:43:57 2010 +0000 net: return operator cleanup Change "return (EXPR);" to "return EXPR;" return is not a function, parentheses are not required. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6a08d194ee40806e0ccd5f36ed768e64cbfc979f Author: Jesse Brandeburg Date: Wed Sep 22 18:23:05 2010 +0000 e1000: use GRO for receive E1000 can benefit from calling the GRO receive functions. Signed-off-by: Jesse Brandeburg Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 338c15e470d818f215d651505dc169d4e92f36a4 Author: Jesse Brandeburg Date: Wed Sep 22 18:22:42 2010 +0000 e1000: fix occasional panic on unload Net drivers in general have an issue where timers fired by mod_timer or work threads with schedule_work are running outside of the rtnl_lock. With no other lock protection these routines are vulnerable to races with driver unload or reset paths. The longer term solution to this might be a redesign with safer locks being taken in the driver to guarantee no reentrance, but for now a safe and effective fix is to take the rtnl_lock in these routines. Signed-off-by: Jesse Brandeburg Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5cf42fcda0fdddfe7f5ea8629cb7b820bf7e91ab Author: Jesse Brandeburg Date: Wed Sep 22 18:22:17 2010 +0000 e1000: use work queues E1000 is using several timers that in a follow on patch will need to acquire the rtnl_lock in order to be safe. This patch moves the timer bodies into work queues which will allow the next patch to add rtnl_lock. Signed-off-by: Jesse Brandeburg Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ddad53ee8a85649e78f6a3eb8a4af4a7a7c577cb Author: Julia Lawall Date: Fri Aug 27 23:01:30 2010 +0200 [IA64] Fix missing iounmap in error path in cyclone.c By moving the iounmap up above the test, it takes place whether the test succeeds or fails. Signed-off-by: Julia Lawall Signed-off-by: Tony Luck commit 383f9f1741cd03687303f82543bbae11935a2ad6 Author: Thomas Gleixner Date: Tue Sep 7 14:33:34 2010 +0000 [IA64] salinfo: sema_init instead of init_MUTEX Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Signed-off-by: Tony Luck commit 3e6b1b25a92df39d2b619ed3cf74322ddef6800e Author: Nikitas Angelinas Date: Wed Sep 8 22:04:30 2010 +0100 [IA64] xen: use ARRAY_SIZE macro in xen_pv_ops.c Replace sizeof(xen_branch_target) / sizeof(xen_branch_target[0]) with ARRAY_SIZE(xen_branch_target) in arch/ia64/xen/xen_pv_ops.c Signed-off-by: Nikitas Angelinas Signed-off-by: Tony Luck commit c216488cd1f35c54afbcedf185d5908beb814aef Author: Joe Perches Date: Mon Sep 13 21:23:48 2010 -0700 [IA64] Use static const char * const in palinfo.c Signed-off-by: Joe Perches Signed-off-by: Tony Luck commit 48a4b30124d079c765e6eaea3a7359195d7f0c37 Author: Tony Luck Date: Thu Sep 23 14:02:09 2010 -0700 [IA64] remove asm/compat.h Missed this file in commit 32974ad4907cdde6c9de612cd1b2ee0568fb9409 [IA64] Remove COMPAT_IA32 support It is no longer needed, so remove it. Signed-off-by: Tony Luck commit 85718fae2a8d845e66762e6464152a255e323777 Author: Tony Luck Date: Thu Sep 23 13:52:07 2010 -0700 [IA64] Add CONFIG_STACKTRACE_SUPPORT Several Linux features are dependent on stack trace support. Add it so they can be enabled. Signed-off-by: Tony Luck commit 3f224f4e057ce67713f3e7a8890f2fbe12d047a5 Author: Paul Mundt Date: Fri Sep 24 04:04:26 2010 +0900 sh: provide generic arch_debugfs_dir. While sh previously had its own debugfs root, there now exists a common arch_debugfs_dir prototype, so we switch everything over to that. Presumably once more architectures start making use of this we'll be able to just kill off the stub kdebugfs wrapper. Signed-off-by: Paul Mundt commit 005d65fbac28e6cf32c76e95163012eb326f37e4 Author: Dimitris Papastamos Date: Wed Sep 22 16:16:06 2010 +0100 ASoC: Fix incorrect parameter to snd_soc_codec_volatile_register We need to pass the register index and not the register value. This patch depends on my previous patch "ASoC: Delegate to hw specific read for volatile registers". Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit db49c146a8c0e8d49c0ff029c2496d47660dfb28 Author: Dimitris Papastamos Date: Wed Sep 22 13:25:47 2010 +0100 ASoC: Delegate to hw specific read for volatile registers Ensure that reads on volatile registers will correctly delegate to the bus specific read function. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 7c563cc9f3f4aca70c27bd08a135499227f67014 Author: Suresh Jayaraman Date: Thu Sep 23 14:26:48 2010 -0400 nfs: show "local_lock" mount option in /proc/mounts Display the status of 'local_lock' mount option in /proc/mounts. Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit 3e3c486012a3dbb113c0ca15ee265d309d77aea9 Author: Daniel Drake Date: Thu Sep 23 17:28:46 2010 +0100 x86, olpc: Rework BIOS signature check The XO-1.5 laptop is not currently detected as an OLPC machine because it fails this XO-1-centric check. Now that we have OLPC OFW support in the kernel, a more sensible check is to see if we found OFW during boot and check the architecture property. Also remove a now-meaningless codepath, as we're always going to have OFW support with OLPC. Signed-off-by: Daniel Drake LKML-Reference: <20100923162846.D8D409D401B@zog.reactivated.net> Cc: Andres Salomon Cc: Grant Likely Signed-off-by: H. Peter Anvin commit 76fb657017588a0912f0d1d140cb807446e4ef05 Author: Daniel Drake Date: Thu Sep 23 17:28:04 2010 +0100 x86, olpc: Only enable PCI configuration type override on XO-1 This configuration type override is for XO-1 only and must not happen on XO-1.5. Signed-off-by: Daniel Drake LKML-Reference: <20100923162805.0F6549D401B@zog.reactivated.net> Cc: Andres Solomon Cc: Grant Likely Signed-off-by: H. Peter Anvin commit 6554287b1de0448f1e02e200d02b43914e997d15 Author: Bart Oldeman Date: Thu Sep 23 13:16:58 2010 -0400 x86, vm86: Fix preemption bug for int1 debug and int3 breakpoint handlers. Impact: fix kernel bug such as: BUG: scheduling while atomic: dosemu.bin/19680/0x00000004 See also Ubuntu bug 455067 at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/455067 Commits 4915a35e35a037254550a2ba9f367a812bc37d40 ("Use preempt_conditional_sti/cli in do_int3, like on x86_64.") and 3d2a71a596bd9c761c8487a2178e95f8a61da083 ("x86, traps: converge do_debug handlers") started disabling preemption in int1 and int3 handlers on i386. The problem with vm86 is that the call to handle_vm86_trap() may jump straight to entry_32.S and never returns so preempt is never enabled again, and there is an imbalance in the preempt count. Commit be716615fe596ee117292dc615e95f707fb67fd1 ("x86, vm86: fix preemption bug"), which was later (accidentally?) reverted by commit 08d68323d1f0c34452e614263b212ca556dae47f ("hw-breakpoints: modifying generic debug exception to use thread-specific debug registers") fixed the problem for debug exceptions but not for breakpoints. There are three solutions to this problem. 1. Reenable preemption before calling handle_vm86_trap(). This was the approach that was later reverted. 2. Do not disable preemption for i386 in breakpoint and debug handlers. This was the situation before October 2008. As far as I understand preemption only needs to be disabled on x86_64 because a seperate stack is used, but it's nice to have things work the same way on i386 and x86_64. 3. Let handle_vm86_trap() return instead of jumping to assembly code. By setting a flag in _TIF_WORK_MASK, either TIF_IRET or TIF_NOTIFY_RESUME, the code in entry_32.S is instructed to return to 32 bit mode from V86 mode. The logic in entry_32.S was already present to handle signals. (I chose TIF_IRET because it's slightly more efficient in do_notify_resume() in signal.c, but in fact TIF_IRET can probably be replaced by TIF_NOTIFY_RESUME everywhere.) I'm submitting approach 3, because I believe it is the most elegant and prevents future confusion. Still, an obvious preempt_conditional_cli(regs); is necessary in traps.c to correct the bug. [ hpa: This is technically a regression, but because: 1. the regression is so old, 2. the patch seems relatively high risk, justifying more testing, and 3. we're late in the 2.6.36-rc cycle, I'm queuing it up for the 2.6.37 merge window. It might, however, justify as a -stable backport at a latter time, hence Cc: stable. ] Signed-off-by: Bart Oldeman LKML-Reference: Cc: Frederic Weisbecker Cc: K.Prasad Cc: Alan Stern Cc: Alexander van Heukelum Cc: Signed-off-by: H. Peter Anvin commit 9af2ebbd09e01bd2711617dcafce5f608cace6ec Merge: 493c32a 74ff3a6 Author: Tony Lindgren Date: Thu Sep 23 11:05:25 2010 -0700 Merge branch 'hwmod_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus commit 493c32a0de2bfbcc33d52f32a39f3c301c6ffd62 Author: Cory Maccarrone Date: Wed Aug 18 04:35:46 2010 +0000 HTCHERALD: MMC, I2C, HTCPLD, SPI, TSC2046 This change adds in MMC and I2C support to the HTC Herald board, as well as adding the HTCPLD driver for the PLD used on this phone. It also adds in the gpio-keys entries for the front directional keys and selector and the cursor keys on the slide-out keyboard, and gpio-leds support for the LEDs attached to the htcpld. Additionally, SPI bus support (using the spi100k driver) and touchscreen support (using the ads7846 driver) were added. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 4e7d7c6018567fa03f387d06602d4145c75ebbe0 Author: Vince Weaver Date: Wed Sep 22 17:31:37 2010 -0400 ALSA: hda - MacBookPro 5,3 line-in support I've found the following patch is necessary to enable line-in on my MacBookPro 5,3 machine. With the patch applied I've successfully recorded audio from the line-in jack. This is based on the existing 5,5 support. Signed-off-by: Vince Weaver Signed-off-by: Takashi Iwai commit d1ea13c6e2cce0106531852daaa93dd97aec9580 Author: Thomas Gleixner Date: Thu Sep 23 18:40:07 2010 +0200 genirq: Cleanup irq_chip->typename leftovers 3 years transition phase is enough. Cleanup the last users and remove the cruft. Signed-off-by: Thomas Gleixner Cc: Leo Chen Cc: Hirokazu Takata Cc: Chris Metcalf Cc: Jeff Dike Cc: Chris Zankel commit ef84303ebc77a9041265faaccd56b7fcef151077 Author: Benny Halevy Date: Thu Sep 23 12:22:09 2010 -0400 NFS: handle inode==NULL in __put_nfs_open_context inode may be NULL when put_nfs_open_context is called from nfs_atomic_lookup before d_add_unique(dentry, inode) Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2dfbf4dfbe47a484bae20456c12b40763b9b6af7 Author: Paul E. McKenney Date: Wed Sep 15 23:30:48 2010 -0700 rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter The PROVE_RCU_REPEATEDLY has no "Say Y"/"Say N" advice, so this commit adds it. Reported-by: Johannes Berg Signed-off-by: Paul E. McKenney commit 269dcc1c2ec25864308ee03a3fa26ea819d9f5d0 Author: Paul E. McKenney Date: Tue Sep 7 14:23:09 2010 -0700 rcu: Add tracing data to support queueing models The current tracing data is not sufficient to deduce the average time that a callback spends waiting for a grace period to end. Add three per-CPU counters recording the number of callbacks invoked (ci), the number of callbacks orphaned (co), and the number of callbacks adopted (ca). Given the existing callback queue length (ql), the average wait time in absence of CPU hotplug operations is ql/ci. The units of wait time will be in terms of the duration over which ci was measured. In the presence of CPU hotplug operations, there is room for argument, but ql/(ci-co+ca) won't steer you too far wrong. Also fixes a typo called out by Lucas De Marchi . Signed-off-by: Paul E. McKenney commit 0ddea0ead2ced99eaaaddff2beb755381e5c89f8 Author: Paul E. McKenney Date: Sun Sep 19 21:06:14 2010 -0700 rcu: fix sparse errors in rcutorture.c Add the sparse __rcu address-space identifier and make a couple of variables static. Signed-off-by: Paul E. McKenney commit 53ecfba259f54b6967a35d19f4a564e3bc07997f Author: Paul E. McKenney Date: Mon Sep 13 17:24:21 2010 -0700 rcu: only one evaluation of arg in rcu_dereference_check() unless sparse The current version of the __rcu_access_pointer(), __rcu_dereference_check(), and __rcu_dereference_protected() macros evaluate their "p" argument three times, not counting typeof()s. This is bad news if that argument contains a side effect. This commit therefore evaluates this argument only once in normal kernel builds. However, the straightforward approach defeats sparse's RCU-pointer checking, so when __CHECKER__ is defined, the additional pair of evaluations of the "p" argument are performed in order to permit sparse to detect misuse of RCU-protected pointers. Signed-off-by: Paul E. McKenney Cc: Arnd Bergmann commit 829f8ed2c963df7c23d1c644db6c4387eb1601fa Author: Christian Dietrich Date: Mon Sep 6 16:37:12 2010 +0200 kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC The CONFIG_DEBUG_LOCK_ALLOC ifdef isn't necessary at this point, because it is checked in an outer ifdef level already and has no effect here. Signed-off-by: Christian Dietrich Signed-off-by: Paul E. McKenney commit 18a06301158b5e4e9fae29e477f468e23f3eda90 Author: Linus Walleij Date: Sun Sep 12 12:56:44 2010 +0100 ARM: 6370/1: mmci: use _cansleep GPIO functions Currently the kernel is screaming about slowpath at me for the wp/cd callbacks. Switch to the _cansleep variants so as to silence this. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 4b8caec09562ce7e6e3aaf2954eef8ea73ba67b8 Author: Rabin Vincent Date: Mon Aug 9 12:56:40 2010 +0100 ARM: 6309/1: mmci: allow neither ->status nor gpio_cd to be specified The card may be always present on the board, and for these cases neither a status callback nor a card detect GPIO is required, and card detection polling can be disabled. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 148b8b39c156424da22693d26adcb69800faf95e Author: Rabin Vincent Date: Mon Aug 9 12:55:48 2010 +0100 ARM: 6308/1: mmci: support card detection interrupts If an IRQ can be requested on the card detected GPIO, use it instead of polling. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit c2048b003cfb840ad81bdc6eb55beb12a19a222e Author: Steven Whitehouse Date: Thu Sep 23 14:00:31 2010 +0100 GFS2: Remove localcaching mount option This option defaulted to on for lock_nolock mounts and off otherwise. The only function was to avoid the revalidation of dentries. In the cluster case, that is entirely pointless and liable to cause coherency problems. The patch changes the revalidation to depend upon whether the fs is a local or cluster fs (i.e. it follows the existing default behaviour). I very much doubt anybody ever used this option as there is no reason to. Even so we will continue to accept it on the mount command line, but ignore it. Signed-off-by: Steven Whitehouse commit 5eebde23223aeb0ad2d9e3be6590ff8bbfab0fc2 Author: Suresh Jayaraman Date: Thu Sep 23 08:55:58 2010 -0400 nfs: introduce mount option '-olocal_lock' to make locks local NFS clients since 2.6.12 support flock locks by emulating fcntl byte-range locks. Due to this, some windows applications which seem to use both flock (share mode lock mapped as flock by Samba) and fcntl locks sequentially on the same file, can't lock as they falsely assume the file is already locked. The problem was reported on a setup with windows clients accessing excel files on a Samba exported share which is originally a NFS mount from a NetApp filer. Older NFS clients (< 2.6.12) did not see this problem as flock locks were considered local. To support legacy flock behavior, this patch adds a mount option "-olocal_lock=" which can take the following values: 'none' - Neither flock locks nor POSIX locks are local 'flock' - flock locks are local 'posix' - fcntl/POSIX locks are local 'all' - Both flock locks and POSIX locks are local Testing: - This patch was tested by using -olocal_lock option with different values and the NLM calls were noted from the network packet captured. 'none' - NLM calls were seen during both flock() and fcntl(), flock lock was granted, fcntl was denied 'flock' - no NLM calls for flock(), NLM call was seen for fcntl(), granted 'posix' - NLM call was seen for flock() - granted, no NLM call for fcntl() 'all' - no NLM calls were seen during both flock() and fcntl() - No bugs were seen during NFSv4 locking/unlocking in general and NFSv4 reboot recovery. Cc: Neil Brown Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit f57a024ed2ee00d62515ffd4040f5ded3e0eb853 Author: Steven Whitehouse Date: Thu Sep 23 13:41:42 2010 +0100 GFS2: Remove ignore_local_fs mount argument This is been a no-op for a very long time now. I'm pretty sure nobody uses it, but just in case we'll still accept it on the command line, but ignore it. Signed-off-by: Steven Whitehouse commit ed9f524ac79457f0c547c85746b19b92526be612 Author: Namhyung Kim Date: Thu Sep 16 01:30:19 2010 +0900 ida: document IDA_BITMAP_LONGS calculation IDA_BITMAP_LONGS value is calculated take into account struct ida_bitmap not to waste memory space. Comment it. Signed-off-by: Namhyung Kim Acked-by: Tejun Heo Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 72b43570f304634532b4d66c991eef529135f68c Author: Namhyung Kim Date: Wed Sep 15 21:46:02 2010 +0900 ext2: fix a typo on comment in ext2/inode.c 'excpet' should be 'except'. 'ext3_get_branch' should be 'ext2_get_branch'. Signed-off-by: Namhyung Kim Signed-off-by: Jiri Kosina commit 35df83970ecdc2cffb141503cf721a740d0f0ec5 Author: Joe Perches Date: Sat Sep 4 18:52:46 2010 -0700 drivers/scsi: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 27e49945ac7090b818e44cb9e8ae4b94fd711e41 Author: Joe Perches Date: Sat Sep 4 18:52:45 2010 -0700 drivers/s390: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 655b5bb4a794267527a3059a22de54778a4548f3 Author: Joe Perches Date: Sat Sep 4 18:52:53 2010 -0700 net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit ea3f0e6bc5312e5f664221c5941a76bdf49c9970 Author: Joe Perches Date: Sat Sep 4 18:52:43 2010 -0700 drivers/infiniband: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Acked-by: Ralph Campbell Signed-off-by: Jiri Kosina commit 40b3be3fcaf8e0d8f7d8cee266dc4af3251d814b Author: Joe Perches Date: Sat Sep 4 18:52:42 2010 -0700 drivers/gpu/drm: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 99a51792dbb7e6e39b2a4ebcfe202f1dcc7354c4 Author: Joe Perches Date: Sat Sep 4 18:52:50 2010 -0700 kernel/pm_qos_params.c: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 0c6d7d5da27df7ec586fc916f06136a6b7ad1f72 Author: Joe Perches Date: Sat Sep 4 18:52:48 2010 -0700 fs/ecryptfs: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 8209e2f46752914e94f65469b8312c42dc5d7d8f Author: Joe Perches Date: Sat Sep 4 18:52:49 2010 -0700 fs/seq_file.c: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 909ea93b12541a0bac27c495c810ac6d79343986 Author: H Hartley Sweeten Date: Fri Aug 6 09:40:42 2010 -0700 arm: uengine.c: remove C99 comments Comments should be /* */ not //. Signed-off-by: H Hartley Sweeten Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit aa88bc0a072b9f02891592d0aa6d0e8d138abf8f Author: H Hartley Sweeten Date: Fri Aug 6 09:36:42 2010 -0700 arm: scoop.c: remove C99 comments Comments should be /* */ not //. Signed-off-by: H Hartley Sweeten Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit b42e17963c20ecb80905083ceaecc79fd9bd30f1 Author: Thomas Weber Date: Thu Sep 23 11:46:50 2010 +0200 Fix typo configue => configure in comments Signed-off-by: Thomas Weber Acked-by: David S. Miller Signed-off-by: Jiri Kosina commit 0b1974de66f9ed44f1423449628f4926bf95b854 Author: Thomas Weber Date: Thu Sep 23 11:46:48 2010 +0200 Fix typo: configuation => configuration Signed-off-by: Thomas Weber Acked-by: David S. Miller Signed-off-by: Jiri Kosina commit a752447af5b61f19e9c50322d9b07cea9a086084 Author: Kim Phillips Date: Thu Sep 23 15:56:38 2010 +0800 crypto: talitos - sparse check endian fixes Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 0b798247453299c895e3fa1629101dd5e94901b2 Author: Kim Phillips Date: Thu Sep 23 15:56:08 2010 +0800 crypto: talitos - fix checkpatch warning WARNING: kfree(NULL) is safe this check is probably not required + if (priv->chan[i].fifo) + kfree(priv->chan[i].fifo); Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 1d11911a8c572041880c8d86229f6ed971f6f7e2 Author: Kim Phillips Date: Thu Sep 23 15:55:27 2010 +0800 crypto: talitos - fix warning: 'alg' may be used uninitialized in this function drivers/crypto/talitos.c: In function 'talitos_probe': drivers/crypto/talitos.c:2363: warning: 'alg' may be used uninitialized in this function drivers/crypto/talitos.c:2363: note: 'alg' was declared here Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit a234ca0faa65dcd5cc473915bd925130ebb7b74b Author: matt mooney Date: Thu Sep 23 06:51:21 2010 +0000 sh: change to new flag variable Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney Signed-off-by: Paul Mundt commit 9f5f9ffe50e90ed73040d2100db8bfc341cee352 Author: Paul Mackerras Date: Thu Sep 9 19:02:40 2010 +0000 powerpc/perf: Fix sampling enable for PPC970 The logic to distinguish marked instruction events from ordinary events on PPC970 and derivatives was flawed. The result is that instruction sampling didn't get enabled in the PMU for some marked instruction events, so they would never trigger. This fixes it by adding the appropriate break statements in the switch statement. Reported-by: David Binderman Cc: stable@kernel.org Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 1ef21199a5d98702755cfa0df39b8b5112c423d6 Author: Stephen Rothwell Date: Fri Sep 3 13:19:04 2010 +1000 powerpc: define a compat_sys_recv cond_syscall Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 095a0f6df246bdc57b57d616c4698e41fbd3bf43 Author: John Kacur Date: Wed Sep 22 13:47:01 2010 +0200 SOUND-OSS: Remove sh_dac_audio Remove the SH DAC oss driver since there is an equivalent alsa driver. oss has been deprecated for years. Furthermore this driver has BKL code which we are trying to remove. Rather than attempt to fix this, simply remove the driver. Signed-off-by: John Kacur Acked-by: Paul Mundt Acked-by: Ralf Baechle Signed-off-by: Takashi Iwai commit d0303d71c2fb9bcb90a8d48e6462c78c86f70ce6 Merge: 90edf27 c79bd89 Author: Ingo Molnar Date: Thu Sep 23 08:02:09 2010 +0200 Merge branch 'linus' into perf/core Conflicts: arch/sparc/kernel/perf_event.c Merge reason: Resolve the conflict. Signed-off-by: Ingo Molnar commit 3e13f65e3aa51fc7009afc554683a0b182c057f5 Author: Takashi Iwai Date: Thu Sep 23 07:40:16 2010 +0200 ASoC: adapt multi-componentism again Go back to the new world order. (Also fixed indentation.) Signed-off-by: Takashi Iwai commit 42c39a6267e9d1093b7aa1915ce187d074988d1c Merge: 391d8a0 0077ca0 Author: Takashi Iwai Date: Thu Sep 23 07:31:27 2010 +0200 Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 7b872a55c40b7e6f5e257c252f96dde911bd7b2f Author: Yi Zou Date: Wed Sep 22 17:57:58 2010 +0000 e1000/e1000e/igb/ixgb/ixgbe: set NETIF_F_HIGHDMA for VLAN feature flags If the netdev->features is set with NETIF_F_HIGHDMA, we should set the corresponding netdev->vlan_features as well to allow VLAN netdev created on top of the real netdev to be able to also benefit from HIGHDMA on 32bit system, reducing the performance hit that is caused by __skb_linearize(), particularly for large send. This is fixed in this patch for all Intel e1000, e1000e, igb, ixgbe, and ixgbe drivers since this should be beneficial to all devices supported by these drivers. Signed-off-by: Yi Zou Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 308fb39a860c816be8741fe783ae7c64e9c1af5d Author: Joseph Gasparakis Date: Wed Sep 22 17:56:44 2010 +0000 igb: Add support for DH89xxCC This patch adds support for the Intel(r) DH89xxCC series. The new device will be using Intel(r) i347-AT4 and Marvell(r) M88E1322 and M88E1112 PHYs. Support for these devices has also been added here. Signed-off-by: Joseph Gasparakis Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d85b9004bc2047d79248b167cc151ff9a4b509c3 Author: Alexander Duyck Date: Wed Sep 22 17:56:20 2010 +0000 igb: clear VF_PROMISC bits instead of setting all other bits This change corrects an issue in which we were setting all flag bits except for promisc instead of clearing the promisc bits due to the incorrect use of an |= instead of an &=. Signed-off-by: Alexander Duyck Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 46eb3b64dddd20f44e76b08676fa642dd374bf1d Author: Steven Rostedt Date: Wed Sep 22 23:10:23 2010 -0400 jump label/x86/sparc64: Remove !CC_OPTIMIZE_FOR_SIZE config conditions The !CC_OPTIMIZE_FOR_SIZE was added to enable the jump label functionality because Jason noticed that the gcc option would not optimize the labels and may even hurt performance. But this is a gcc problem not a kernel one. Removing this condition should add motivation to the gcc developers to actually fix it. Cc: Jason Baron Acked-by: David S. Miller Signed-off-by: Steven Rostedt commit 234bb549eea16ec7d5207ba747fb8dbf489e64c1 Author: Jan Beulich Date: Thu Sep 2 13:46:34 2010 +0100 x86, cleanups: Use clear_page/copy_page rather than memset/memcpy When operating on whole pages, use clear_page() and copy_page() in favor of memset() and memcpy(); after all that's what they are intended for. Signed-off-by: Jan Beulich LKML-Reference: <4C7FB8CA0200007800013F51@vpn.id2.novell.com> Cc: Andrew Morton Signed-off-by: H. Peter Anvin commit 95fccd465eefb3d6bf80dae0496607b534d38313 Author: Steven Rostedt Date: Wed Sep 22 17:37:43 2010 -0400 jump label: Remove duplicate structure for x86 The structure in the x86 jump label code uses the typedef jump_label_t, which is defined by the #ifdef arch type. The structure does not need to be duplicated there. Signed-off-by: Steven Rostedt commit 768190fdc058cc7405330f7782782df084c25d61 Author: andrew hendry Date: Tue Sep 21 15:24:45 2010 +0000 X.25 remove bkl in poll The x25_datagram_poll didn't add anything, removed it. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 40e192c3ff7b1af680b0b03e94cadf1dad5fb82e Author: andrew hendry Date: Tue Sep 21 15:24:25 2010 +0000 X.25 remove bkl in getsockname Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit dff9d3c215251022dd8bb3823c9f75edb4b63fe9 Author: David S. Miller Date: Fri Sep 17 11:09:25 2010 -0400 jump label: Add sparc64 support Add jump label support for sparc64. Signed-off-by: David S. Miller LKML-Reference: <3b5b071fcdb2afb7f67cacecfa78b14c740278a7.1284733808.git.jbaron@redhat.com> Signed-off-by: Jason Baron [ cleaned up some formatting ] Signed-off-by: Steven Rostedt commit d9f5ab7b1c0a520867af389bab5d5fcdbd0e407e Author: Jason Baron Date: Fri Sep 17 11:09:22 2010 -0400 jump label: x86 support add x86 support for jump label. I'm keeping this patch separate so its clear to arch maintainers what was required for x86 support this new feature. Hopefully, it wouldn't be too painful for other archs. Signed-off-by: Jason Baron LKML-Reference: [ cleaned up some formatting ] Signed-off-by: Steven Rostedt commit 52159d98be6f26c48f5e02c7ab3c9848a85979b5 Author: Jason Baron Date: Fri Sep 17 11:09:17 2010 -0400 jump label: Convert dynamic debug to use jump labels Convert the 'dynamic debug' infrastructure to use jump labels. Signed-off-by: Jason Baron LKML-Reference: Signed-off-by: Steven Rostedt commit 8f7b50c514206211cc282a4247f7b12f18dee674 Author: Jason Baron Date: Fri Sep 17 11:09:13 2010 -0400 jump label: Tracepoint support for jump labels Make use of the jump label infrastructure for tracepoints. Signed-off-by: Jason Baron LKML-Reference: Signed-off-by: Steven Rostedt commit 4c3ef6d79328c0e23ade60cbfc8d496123a6855c Author: Jason Baron Date: Fri Sep 17 11:09:08 2010 -0400 jump label: Add jump_label_text_reserved() to reserve jump points Add a jump_label_text_reserved(void *start, void *end), so that other pieces of code that want to modify kernel text, can first verify that jump label has not reserved the instruction. Acked-by: Masami Hiramatsu Signed-off-by: Jason Baron LKML-Reference: <06236663a3a7b1c1f13576bb9eccb6d9c17b7bfe.1284733808.git.jbaron@redhat.com> Signed-off-by: Steven Rostedt commit e0cf0cd49632552f063fb3ae58691946da45fb2e Author: Jason Baron Date: Fri Sep 17 11:09:04 2010 -0400 jump label: Initialize workqueue tracepoints *before* they are registered Initialize the workqueue data structures *before* they are registered so that they are ready for callbacks. Signed-off-by: Jason Baron LKML-Reference: Signed-off-by: Steven Rostedt commit bf5438fca2950b03c21ad868090cc1a8fcd49536 Author: Jason Baron Date: Fri Sep 17 11:09:00 2010 -0400 jump label: Base patch for jump label base patch to implement 'jump labeling'. Based on a new 'asm goto' inline assembly gcc mechanism, we can now branch to labels from an 'asm goto' statment. This allows us to create a 'no-op' fastpath, which can subsequently be patched with a jump to the slowpath code. This is useful for code which might be rarely used, but which we'd like to be able to call, if needed. Tracepoints are the current usecase that these are being implemented for. Acked-by: David S. Miller Signed-off-by: Jason Baron LKML-Reference: [ cleaned up some formating ] Signed-off-by: Steven Rostedt commit 7e51b439f147670c4ddd2bf6ca4567592b5312de Author: Ben Hutchings Date: Wed Sep 22 10:00:47 2010 +0000 sfc: Add support for SFE4003 board and TXC43128 PHY This board never went into production, but some engineering samples are in use. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8fbca791309b5a57bec53e5fd7da912c16416ed3 Author: Ben Hutchings Date: Wed Sep 22 10:00:11 2010 +0000 sfc: Remove support for SFN4111T, SFT9001 and Falcon GMAC SFN4111T never reached production and is not being used for internal or customer testing. Since we have no production Falcon boards using the SFT9001 or the GMAC, remove support for them as well. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 90edf27fb89241917e91155bfdcc7c8e5a587222 Merge: 41945f6 8b15575 Author: Ingo Molnar Date: Wed Sep 22 18:45:01 2010 +0200 Merge branch 'linus' into perf/core Conflicts: kernel/hw_breakpoint.c Merge reason: resolve the conflict. Signed-off-by: Ingo Molnar commit 391d8a04fc0f0d603642daa07f379e17c88001c9 Author: Dimitris Papastamos Date: Tue Sep 21 17:04:07 2010 +0100 ASoC: Return -1 instead of -EINVAL to ensure consistency The code can't really cope with I/O errors, so it would be better to be consistent throughout all cache functions and return -1 instead of -EINVAL. The return value of snd_soc_read(...) is mostly checked in the probe function and nowhere else. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 321de0d05a4bbe0ee74d473e00d7947851bf5284 Author: Mark Brown Date: Tue Sep 21 15:09:37 2010 +0100 ASoC: Report error codes for card DAI instantiation failures Also clean up the error print a bit. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 74ff3a68ed11f1e9eede4fe301f42cc3cdf7396a Author: Paul Walmsley Date: Tue Sep 21 15:02:23 2010 -0600 OMAP: hwmod: improve documentation, clean up function names This patch: - adds more documentation to the hwmod code - fixes some documentation typos elsewhere in the file - changes the _sysc_*() function names to appear in (verb, noun) order, to match the rest of the function names. This patch should not result in any functional change. Signed-off-by: Paul Walmsley Cc: Kevin Hilman Cc: BenoĂ®t Cousson commit 4ef7aca895b2d06c07ff9d5f378af84bbf757e43 Author: Partha Basak Date: Tue Sep 21 19:23:04 2010 +0200 OMAP: hwmod: Handle opt clocks node using clk_add_alias For every optional clock present per hwmod per omap-device, this function adds an entry in the clocks list of the form , if an entry is already present in the list of the form . The function is called from within the framework inside omap_device_build_ss(), after omap_device_register. This allows drivers to get a pointer to its optional clocks based on its role by calling clk_get(, ). Link to discussions related to this patch: http://www.spinics.net/lists/linux-omap/msg34809.html Signed-off-by: Charulatha V Signed-off-by: Partha Basak Signed-off-by: Benoit Cousson Signed-off-by: Rajendra Nayak [paul@pwsan.com: simplified loop iterator; removed the superfluous clk_get(), using the clk_get() in clk_add_alias() instead] Signed-off-by: Paul Walmsley Acked-by: Kevin Hilman commit 63185942c5f138c62de16b4cbc7eee494a58fea8 Author: Bryan Schumaker Date: Wed Sep 22 09:50:35 2010 -0400 lockd: Remove BKL from the client This patch removes all calls to lock_kernel() from the client. This patch should be applied after the "fs/lock.c prepare for BKL removal" patch submitted by Arnd Bergmann on September 18. Signed-off-by: Bryan Schumaker Signed-off-by: Trond Myklebust commit 3c9c92b6b5016a2e02c3438386b1c5efe7f588e4 Author: Mauro Carvalho Chehab Date: Wed Sep 22 09:36:54 2010 -0300 MAINTAINERS: Add maintainer for i7300-edac driver Signed-off-by: Mauro Carvalho Chehab commit 12e5272585901217e919da810c801e5084ee0cb1 Author: Alan Ott Date: Wed Sep 22 13:33:20 2010 +0200 HID: trivial formatting fix Added blank line after declarations. Signed-off-by: Alan Ott Signed-off-by: Jiri Kosina commit 32c88cbc3080f43c429f6456aa9cd845e37f3778 Author: Simon Wood Date: Wed Sep 22 13:19:42 2010 +0200 HID: Add support for Logitech Speed Force Wireless gaming wheel The following patch adds support for the Logitech Speed Force Wireless gaming wheel. Originally designed for the WII console. Details on the protocol: http://wiibrew.org/wiki/Logitech_USB_steering_wheel This patch relies on previous patch: "Don't Send Feature Reports on Interrupt Endpoint" Logitech as produce a very similar wheel for the PS2/PS3, it is expected that this patch could also support the PS2/PS3 wheel if the USB ID's are added and (if required) the HID descriptor is modified. Signed-off-by: Simon Wood Signed-off-by: Jiri Kosina commit fe2c91ee245bd81230f1d67645237a684b90be2b Author: Alan Ott Date: Wed Sep 22 13:19:42 2010 +0200 HID: don't Send Feature Reports on Interrupt Endpoint Feature reports should only be sent on the control endpoint. The USB HID standard is unclear and confusing on this issue. It seems to suggest that Feature reports can be sent on a HID device's Interrupt OUT endpoint. This cannot be the case because the report type is not encoded in transfers sent out the Interrput OUT endpoint. If Feature reports were sent on the Interrupt OUT endpint, they would be indistinguishable from Output reports in the case where Report IDs were not used. Further, Windows and Mac OS X do not send Feature reports out the interrupt OUT Endpoint. They will only go out the Control Endpoint. In addition, many devices simply do not hande Feature reports sent out the Interrupt OUT endpoint. Reported-by: simon@mungewell.org Signed-off-by: Alan Ott Signed-off-by: Jiri Kosina commit 0704129ff4e51402bf7b16064a54ff8f7889e962 Merge: d71b357 7d1be0a Author: Mark Brown Date: Wed Sep 22 12:19:07 2010 +0100 Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.37 commit d71b3576f2be6131f5b9e2c300cb2a03621e62e0 Merge: fa6d529 d47372e Author: Mark Brown Date: Wed Sep 22 12:03:28 2010 +0100 Merge branch 'for-2.6.36' into for-2.6.37 commit 48216fbdad6cc462b056ce1e876edcc664d32a8d Author: Henrik Rydberg Date: Wed Sep 22 11:29:07 2010 +0200 HID: 3m: Adjust major / minor axes to scale By visual inspection, the reported touch_major and touch_minor axes are a factor of two too large. Presumably the device actually reports the width_major and width_minor, which are generally about a factor of two larger than the touches themselves. Signed-off-by: Henrik Rydberg Signed-off-by: Jiri Kosina commit 676cb02dc32adef13d9efb5ea52079e4ede1e3ec Author: Thomas Gleixner Date: Mon Jul 20 23:33:49 2009 +0200 softirqs: Make wakeup_softirqd static No users outside of kernel/softirq.c Signed-off-by: Thomas Gleixner commit fdfb7fa7c9118a4112738ad86452a67107082723 Merge: 26e34e9 1446c5f Author: Takashi Iwai Date: Wed Sep 22 10:03:28 2010 +0200 Merge remote branch 'alsa/devel' into topic/misc commit 488211844e0c3fad6ffa98a6f3c4f2139074e79a Author: Jens Axboe Date: Wed Sep 22 09:32:36 2010 +0200 floppy: switch to one queue per drive instead of sharing a queue Pretty straight forward conversion. Note that we do round-robin between the drives that have available requests, before we simply used the drive that the IO scheduler told us to. Since the IO scheduler doesn't care about multiple devices per queue, the resulting sort would not have made sense. Fixed by Vivek to get rid of a double lock problem in set_next_request() Signed-off-by: Jens Axboe Signed-off-by: Vivek Goyal commit 8b008faf92ac8f7eeb65e8cd36077601af7c46db Author: Pablo Neira Ayuso Date: Wed Sep 22 08:36:59 2010 +0200 netfilter: ctnetlink: allow to specify the expectation flags With this patch, you can specify the expectation flags for user-space created expectations. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bcac0dfab191cb53b3f9b43c8014a34070ed58ff Author: Pablo Neira Ayuso Date: Wed Sep 22 08:35:36 2010 +0200 netfilter: ctnetlink: missing validation of CTA_EXPECT_ZONE attribute This patch adds the missing validation of the CTA_EXPECT_ZONE attribute in the ctnetlink code. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 5b92b61f3891517d18d0573ad2c939c81b59ecfe Author: Pablo Neira Ayuso Date: Wed Sep 22 08:34:12 2010 +0200 netfilter: nf_nat: better error handling of nf_ct_expect_related() in helpers This patch improves the situation in which the expectation table is full for conntrack NAT helpers. Basically, we give up if we don't find a place in the table instead of looping over nf_ct_expect_related() with a different port (we should only do this if it returns -EBUSY, for -EMFILE or -ESHUTDOWN I think that it's better to skip this). Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit a0741ca949692904646c310573754859cba09bf1 Merge: 9e2e8f1 b618f6f Author: David S. Miller Date: Tue Sep 21 18:17:19 2010 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 9e2e8f14d48dbb6c31aeb739ae4fc8997b9dfe84 Author: Sjur Braendeland Date: Tue Sep 21 11:44:46 2010 +0000 caif: Use default send and receive buffer size in caif_socket. CAIF sockets should use socket's default send and receive buffers sizes. Signed-off-by: Sjur Braendeland Signed-off-by: David S. Miller commit e5e03ce1e5c6c015cabf274b24976dff408dc07f Author: Sjur Braendeland Date: Tue Sep 21 11:44:45 2010 +0000 caif: Fix function NULL pointer check. Check that receive function pointer is not null before calling it. Signed-off-by: Sjur Braendeland Signed-off-by: David S. Miller commit b04367df66eb63444d38c43d15f5e39499d85ae6 Author: Sjur Braendeland Date: Tue Sep 21 11:44:44 2010 +0000 caif: Minor fixes in log prints. Use pr_debug for flow control printouts, and refine an error printout. Signed-off-by: Sjur Braendeland Signed-off-by: David S. Miller commit 9c44c9fa78c5a449699491f0355189e2a09c242a Author: Sjur Braendeland Date: Tue Sep 21 10:40:06 2010 +0000 caif: Remove buggy re-definition of pr_debug Remove debugging quirk redefining pr_debug to pr_warning. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 48daa3bb84d547828871534caa51427a3fe90748 Author: Eric Dumazet Date: Tue Sep 21 06:57:39 2010 +0000 ipv6: addrconf.h cleanups - Use rcu_dereference_rtnl() in __in6_dev_get - kerneldoc for __in6_dev_get() and in6_dev_get() - Use inline functions instead of macros Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 756e64a0b106f1a2ca96889c39ea0d48131105c0 Author: Eric Dumazet Date: Tue Sep 21 06:43:54 2010 +0000 net: constify some ppp/pptp structs Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a9478e386165477504916094ae5efb073a44fd9f Author: Denis Kirjanov Date: Mon Sep 20 22:57:49 2010 +0000 sundance: Use dev_kfree_skb_any() helper Use dev_kfree_skb_any() helper to free the skb Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit d91dc27993a366565b3ed37fc62d35cf3e10ff5d Author: Denis Kirjanov Date: Mon Sep 20 22:56:57 2010 +0000 sundance: Handle DMA mapping errors Check for DMA mapping errors. Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 0c8a745f06f7f007ec492dc0606f5b1ea62f3da9 Author: Denis Kirjanov Date: Mon Sep 20 22:56:07 2010 +0000 sundance: Convert to DMA API Convert to DMA API Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 82fd5b5d1ec370a50b3060418cde6a4ac8401117 Author: Andy Shevchenko Date: Mon Sep 20 20:40:26 2010 +0000 net: core: use kernel's converter from hex to bin Signed-off-by: Andy Shevchenko Signed-off-by: David S. Miller commit 66bb16de6b9a05936d1eeb20155bab008b476191 Author: Andy Shevchenko Date: Mon Sep 20 20:40:24 2010 +0000 drivers: atm: use native kernel's hex_to_bin() func Signed-off-by: Andy Shevchenko Cc: Chas Williams Cc: linux-atm-general@lists.sourceforge.net Signed-off-by: David S. Miller commit d9fd1b2857154f1ac32ca041641ba947525ff7fa Author: Meelis Roos Date: Mon Sep 20 21:19:03 2010 +0000 tmspci: fix tr%d in printk tmspci driver uses dev->name before register_netdev() and so prints tr%d in initialization messages. Fix it by using dev_info. Found and tested on real hardware. Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit 73da16c28ed0724755afdb95c7dd6b166381be10 Author: David S. Miller Date: Tue Sep 21 16:12:11 2010 -0700 ethtool: Fix build due to lack of ethtool.h include. net/core/ethtool.c: In function 'ethtool_get_regs': net/core/ethtool.c:818:2: error: implicit declaration of function 'vmalloc' net/core/ethtool.c:818:9: warning: assignment makes pointer from integer without a cast net/core/ethtool.c:833:2: error: implicit declaration of function 'vfree' Signed-off-by: David S. Miller commit 10ed61c432c013705ef6a2bebad139fc5d72e274 Author: David S. Miller Date: Tue Sep 21 16:11:06 2010 -0700 sfc: Fix build due to lack of vmalloc.h include. drivers/net/sfc/filter.c: In function ‘efx_probe_filters’: drivers/net/sfc/filter.c:422: error: implicit declaration of function ‘vmalloc’ drivers/net/sfc/filter.c:422: warning: assignment makes pointer from integer without a cast drivers/net/sfc/filter.c: In function ‘efx_remove_filters’: drivers/net/sfc/filter.c:442: error: implicit declaration of function ‘vfree’ Signed-off-by: David S. Miller commit 98e684bd5c927cb94ff23fb6f1dd34dd346a19cf Merge: e254c27 536bb20 Author: David S. Miller Date: Tue Sep 21 16:00:40 2010 -0700 Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6 commit e254c274ae19888e5693ba6d32576ab03a8ae8a4 Author: Ben Hutchings Date: Mon Sep 20 08:44:10 2010 +0000 sfc: Clean up and correct comments on efx_monitor() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 75abc51c29d1d1f6cde0abd003003ac61b9a9fba Author: Ben Hutchings Date: Mon Sep 20 08:43:53 2010 +0000 sfc: Include RX IP filter table in register dump For backward compatibility, add it at the end. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b4187e4277b13d7bc4acc3c953b3cab0137b14b2 Author: Ben Hutchings Date: Mon Sep 20 08:43:42 2010 +0000 sfc: Implement the ethtool RX n-tuple control functions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 64eebcfd899a5d2ebe211a593ec13ec24630f1a3 Author: Ben Hutchings Date: Mon Sep 20 08:43:07 2010 +0000 sfc: Add filter table management Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a77f5db361ed9953b5b749353ea2c7fed2bf8d93 Author: Ben Hutchings Date: Mon Sep 20 08:42:17 2010 +0000 ethtool: Allocate register dump buffer with vmalloc() Some NICs have huge register files which exceed the maximum heap allocation size. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6099e3dea9aaa6127cea0610533221c9e956f009 Author: Ben Hutchings Date: Mon Sep 20 08:42:08 2010 +0000 ethtool: Add Ethernet MAC-level filtering/steering Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c22ab7816fd81efceefa96b00c4ad62cf657964b Author: Ben Hutchings Date: Mon Sep 20 08:41:47 2010 +0000 ethtool: Define RX n-tuple action to clear a rule Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9980ce53c97392a3dbdc9d1ac3e455d79b4167ed Author: Rajendra Nayak Date: Tue Sep 21 19:58:30 2010 +0530 OMAP: hwmod: Enable module wakeup if in smartidle If a module's OCP slave port is programmed to be in smartidle, its also necessary that they have module level wakeup enabled. Update _sysc_enable in hwmod framework to do this. The thread "[PATCH 7/8] : Hwmod api changes" archived here: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg34212.html has additional technical information on the rationale of this patch. Sergei Shtylyov identified an indentation problem with this patch - thanks, Sergei. Signed-off-by: Rajendra Nayak Signed-off-by: Partha Basak Signed-off-by: BenoĂ®t Cousson [paul@pwsan.com: revised patch description] Signed-off-by: Paul Walmsley Cc: Kevin Hilman Cc: Sergei Shtylyov commit 96835af970e5d6aeedf868e53590a947be5e4a7a Author: Benoit Cousson Date: Tue Sep 21 18:57:58 2010 +0200 OMAP: hwmod: Fix softreset for modules with optional clocks Some modules (like GPIO, DSS...) require optionals clock to be enabled in order to complete the sofreset properly. Add a HWMOD_CONTROL_OPT_CLKS_IN_RESET flag to force all optional clocks to be enabled before reset. Disabled them once the reset is done. TODO: For the moment it is very hard to understand from the HW spec, which optional clock is needed and which one is not. So the current approach will enable all the optional clocks. Paul proposed a much finer approach that will allow to tag only the needed clock in the optional clock table. This might be doable as soon as we have a clear understanding of these dependencies. Reported-by: Partha Basak Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit 2cb068149c365f1c2b10f2ece6786139527dcc16 Author: Benoit Cousson Date: Tue Sep 21 18:57:59 2010 +0200 OMAP: hwmod: Fix softreset status check for some new OMAP4 IPs In OMAP3 a specific SYSSTATUS register was used to get the softreset status. Starting in OMAP4, some IPs does not have SYSSTATUS register and instead use the SYSC softreset bit to provide the status. Other cases might exist: - Some IPs like McBSP does have a softreset control but no reset status. - Some IPs that represent subsystem, like the DSS, can contains a reset status without softreset control. The status is the aggregation of all the sub modules reset status. - Add a new flag (SYSC_HAS_RESET_STATUS) to identify the new programming model and replace the previous SYSS_MISSING, that was used to flag IP with softreset control but without the SYSSTATUS register, with a specific SYSS_HAS_RESET_STATUS flag. - MCSPI and MMC contains both programming models, so the legacy one will be prevented by removing the syss offset field that become useless. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Cc: Kevin Hilman Cc: Rajendra Nayak commit aee48e3c9cee3698d17b4cf4203551de0a804760 Author: Paul Walmsley Date: Tue Sep 21 10:34:11 2010 -0600 OMAP: hwmod: add an hardreset API for use by other core code Expose an hardreset API from hwmod in order to assert / deassert all the individual reset lines that belong to an hwmod. This API is needed by some of the more complicated processor drivers, e.g., DSP/Bridge, Syslink, etc. Signed-off-by: Paul Walmsley Cc: BenoĂ®t Cousson commit 1d958c83c8d77ad4977ae963017e87cec8cca9b5 Author: Henrik Rydberg Date: Tue Sep 21 23:22:39 2010 +0200 HID: 3m: Correct touchscreen emulation The current code sometimes misses to report the last BTN_TOUCH event when multiple fingers are lifted simultaneously. With the introduction of MT slots, the tracking id is available to determine the oldest active contact. Use this information to simplify and correct the touchscreen emulation logic. Signed-off-by: Henrik Rydberg Acked-by: StĂ©phane Chatty Signed-off-by: Jiri Kosina commit 1f01a1fe167f588c8b6b449fde2f5427ca940423 Author: Henrik Rydberg Date: Tue Sep 21 22:12:12 2010 +0200 HID: 3m: Convert to MT slots The Microtouch controller is capable of doing finger tracking on up to 60 fingers. To reduce bandwidth and cpu usage, convert the driver to use the MT slots protocol. On Stephane's suggestion, also insert the additional copyright lines. Signed-off-by: Henrik Rydberg Acked-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 76e5589e5b7cd0fd589264ab193f10550e1d8ab6 Author: Benoit Cousson Date: Tue Sep 21 10:34:11 2010 -0600 OMAP: hwmod: Force a softreset during _setup Force the softreset of every IPs during the _setup phase. IPs that cannot support softreset or that should not be reset must set the HWMOD_INIT_NO_RESET flag in the hwmod struct. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit 5365efbe29250a227502256cc912351fe2157b42 Author: BenoĂ®t Cousson Date: Tue Sep 21 10:34:11 2010 -0600 OMAP: hwmod: Add hardreset management support Most processor IPs does have a hardreset signal controlled by the PRM. This is different of the softreset used for local IP reset from the SYSCONFIG register. The granularity can be much finer than orginal HWMOD, for ex, the IVA hwmod contains 3 reset lines, the IPU 3 as well, the DSP 2... Since this granularity is needed by the driver, we have to ensure than one hwmod exist for each hardreset line. - Store reset lines as hwmod resources that a driver can query by name like an irq or sdma line. - Add two functions for asserting / deasserting reset lines in hwmods processor that require manual reset control. - Add one functions to get the current reset state. - If an hwmod contains only one line, an automatic assertion / de-assertion is done. -> de-assert the hardreset line only during enable from disable transition -> assert the hardreset line only during shutdown Note: The hwmods with hardreset line and HWMOD_INIT_NO_RESET flag must be kept in INITIALIZED state. They can be properly enabled only if the hardreset line is de-asserted before. For information here is the list of IPs with HW reset control on an OMAP4430 device: RM_DSP_RSTCTRL 1,1,'RST2','RW','1','DSP - MMU, cache and slave interface reset control' 0,0,'RST1','RW','1','DSP - DSP reset control' RM_IVA_RSTCTRL 2,2,'RST3','RW','1','IVA logic and SL2 reset control' 1,1,'RST2','RW','1','IVA Sequencer2 reset control' 0,0,'RST1','RW','1','IVA sequencer1 reset control' RM_IPU_RSTCTRL 2,2,'RST3','RW','1','IPU MMU and CACHE interface reset control.' 1,1,'RST2','RW','1','IPU Cortex M3 CPU2 reset control.' 0,0,'RST1','RW','1','IPU Cortex M3 CPU1 reset control.' PRM_RSTCTRL 1,1,'RST_GLOBAL_COLD_SW','RW','0','Global COLD software reset control.' 0,0,'RST_GLOBAL_WARM_SW','RW','0','Global WARM software reset control.' RM_CPU0_CPU0_RSTCTRL RM_CPU1_CPU1_RSTCTRL 0,0,'RST','RW','0','Cortex A9 CPU0&1 warm local reset control' Signed-off-by: Benoit Cousson [paul@pwsan.com: made the hardreset functions static; moved the register twiddling into prm*.c functions in previous patches; changed the function names to conform with hwmod practice] Signed-off-by: Paul Walmsley Cc: Kevin Hilman Cc: Rajendra Nayak commit cf21405fd51b416f071edb546631a6ecd2112263 Author: Paul Walmsley Date: Tue Sep 21 10:34:10 2010 -0600 OMAP2/3: PRM: add module hard reset support This patch adds hard-reset support for processor modules (e.g., DSP, IVA) on OMAP2/3 platforms. It's based on the OMAP4 hard-reset support that BenoĂ®t developed in the previous patch. This patch is a collaboration between BenoĂ®t Cousson and Paul Walmsley . Signed-off-by: Paul Walmsley Cc: BenoĂ®t Cousson commit 0be1621a749907ada0101e4139a1f57168c5410b Author: BenoĂ®t Cousson Date: Tue Sep 21 10:34:10 2010 -0600 OMAP4: PRM: add module hard reset support Most processor modules (e.g., DSP, IVA, IPU) on OMAPs can be reset under the control of the PRM. This patch adds an API for this purpose for OMAP4 devices: int omap4_prm_is_hardreset_asserted(void __iomem *rstctrl_reg, u8 shift); int omap4_prm_assert_hardreset(void __iomem *rstctrl_reg, u8 shift); int omap4_prm_deassert_hardreset(void __iomem *rstctrl_reg, u8 shift); This API is intended to be used only by the hwmod code - a subsequent patch will add that support to hwmod. This patch is a collaboration between BenoĂ®t Cousson and Paul Walmsley . Signed-off-by: Paul Walmsley Signed-off-by: BenoĂ®t Cousson Tested-by: Kevin Hilman commit 16b040129e324598d13ff2e2b3469dc2e909ce12 Author: Benoit Cousson Date: Tue Sep 21 10:34:10 2010 -0600 OMAP4: prcm: Add temporarily helper functions for rmw and read inside the PRM Since OMAP4 is using an absolute address, the current PRM accessors are not useable. OMAP4 adaptation for these API are currently ongoing, so define temp version until the proper ones are defined. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit 12b1fdb45c2594070bb36e39cd89a33547aad8fb Author: Kevin Hilman Date: Tue Sep 21 10:34:09 2010 -0600 OMAP: hwmod: separate list locking and hwmod hardware locking Currently omap_hwmod_mutex is being used to protect both the list access/modification and concurrent access to hwmod functions. This patch separates these two types of locking. First, omap_hwmod_mutex is used only to protect access and modification of omap_hwmod_list. Also cleaned up some comments referring to this mutex that are no longer needed. Then, for protecting concurrent access to hwmod functions, use a per-hwmod mutex. This protects concurrent access to a single hwmod, but would allow concurrent access to different hwmods. Signed-off-by: Kevin Hilman [paul@pwsan.com: added structure documentation; changed mutex variable name] Signed-off-by: Paul Walmsley commit ff4d3e186b7b92c74a4f64360f723c603193f344 Author: Rajeev Kulkarni Date: Tue Sep 21 10:34:09 2010 -0600 OMAP4: prcm: Fix global warm reset bit position OMAP4 platform has different register bits for Warm and Cold Resets. Write one into appropriate bits. Signed-off-by: Rajeev Kulkarni Cc: Leed Aguilar [b-cousson@ti.com: Change the define with the proper one from omap4 headers] Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit 9b579114efc4bd00532de33c783b4cb4638910ff Author: Liam Girdwood Date: Tue Sep 21 10:34:09 2010 -0600 OMAP: hwmod: Fix omap_hwmod_reset wrong state test The reset function wrongly used the state flag as a bit mask and was trying to re-enable after a reset. hwmod is still enabled for the PRCM point of view after a softreset so there is no need to re-enable. Remove the state check from omap_hwmod_reset since the _reset function is checking that as well and in addition can generate a warning Signed-off-by: Liam Girdwood [b-cousson@ti.com: remove the wrong test, remove the re-enable] Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman Cc: Rajendra Nayak commit 3827f9492bdff045ae57fe67e65ce7e259ed4219 Author: Benoit Cousson Date: Tue Sep 21 10:34:08 2010 -0600 OMAP: hwmod: Do not disable clocks if hwmod already in idle The disable function was disabling clocks and dependencies from both enable and idle state. Since idle function is already disabling both, an enable -> idle -> disable sequence will try to disable twice the clocks and thus generate a "Trying disable clock XXX with 0 usecount" warning. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit b4687da7fc5f741af7fee9b0248a2cf2ad9c4478 Author: Chuck Lever Date: Tue Sep 21 16:55:48 2010 -0400 SUNRPC: Refactor logic to NUL-terminate strings in pages Clean up: Introduce a helper to '\0'-terminate XDR strings that are placed in a page in the page cache. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 38359352fcb0d776b562a9e0ed4f0d355d5a332e Author: Chuck Lever Date: Tue Sep 21 16:55:48 2010 -0400 SUNRPC: Correct an rpcbind debugging message Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d141d97437a3c84aa18cfd5c8d91b89c4173f25c Author: Chuck Lever Date: Tue Sep 21 16:55:47 2010 -0400 NFS: Fix NFSv3 debugging messages in fs/nfs/nfs3proc.c Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 609588928fae2c977c887d6d31b1f0aae60ea09e Author: Trond Myklebust Date: Tue Sep 21 16:55:31 2010 -0400 NFS: Convert nfsiod to use alloc_workqueue() create_singlethread_workqueue() is deprecated. Signed-off-by: Trond Myklebust commit 4fbf6e507888da902b02a3c4f5f493fab1071312 Author: Trond Myklebust Date: Tue Sep 21 16:54:34 2010 -0400 SUNRPC: Convert rpciod to use the alloc_workqueue() interface create_workqueue() is a deprecated function. Signed-off-by: Trond Myklebust commit d688e11007419fd060ae74d8d952a5c4ece735aa Author: Trond Myklebust Date: Tue Sep 21 16:52:40 2010 -0400 NFSv4.1: Fix the slotid initialisation in nfs_async_rename() This fixes an Oopsable condition that was introduced by commit d3d4152a5d59af9e13a73efa9e9c24383fbe307f (nfs: make sillyrename an async operation) Signed-off-by: Trond Myklebust commit f7732d6573c4f29fc1ca5d384bbf82ddfa115030 Author: Trond Myklebust Date: Tue Sep 21 16:52:40 2010 -0400 NFS: Fix a use-after-free case in nfs_async_rename() The call to nfs_async_rename_release() after rpc_run_task() is incorrect. The rpc_run_task() is always guaranteed to call the ->rpc_release() method. Signed-off-by: Trond Myklebust commit b618f6f885579a6237e5bf4582fa6167972ddef4 Merge: 462fb2a 6e5c2b4 Author: John W. Linville Date: Tue Sep 21 15:49:14 2010 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: arch/arm/mach-omap2/board-omap3pandora.c drivers/net/wireless/ath/ath5k/base.c commit e933ec7c4ebd7e7daaad67b22e5f4a9a0ab102ea Author: Kevin Hilman Date: Thu Jun 17 15:48:43 2010 -0700 OMAP1: PM: add simple runtime PM layer to manage clocks On OMAP1, we do not have omap_device + omap_hwmod to manage the device-specific idle, enable and shutdown. Instead, just enable/disable device clocks automatically at the runtime PM level. This allows drivers to not have any OMAP1 specific clock management and allows them to simply use the runtime PM API to manage clocks. OMAP1 compile fixes Manjunatha GK Cc: Manjunatha GK Signed-off-by: Kevin Hilman commit 57e6fe7b888e17f814bd35b7700ded51aa9a6a83 Author: Kevin Hilman Date: Thu Nov 5 19:06:01 2009 -0800 OMAP2+: PM: initial runtime PM core support Implement the new runtime PM framework as a thin layer on top of the omap_device API. OMAP specific runtime PM methods are registered with the as custom methods on the platform_bus. In order to determine if a device is an omap_device, its parent device is checked. All omap_devices have a new 'omap_device_parent_ device as their parent device, so checking for this parent is used to check for valid omap_devices. If a device is an omap_device, then the appropriate omap_device functions are called for it. If not, only the generic runtime PM functions are called. Device driver's ->runtime_idle() hook is called when the runtime PM usecount reaches zero for that device. Driver's ->runtime_suspend() hooks are called just before the device is disabled (via omap_device_idle()), and device driver ->runtime_resume() hooks are called just after device has been enabled (via omap_device_enable().) OMAP4 build support from Rajendra Nayak . OMAP2 build support from Charulatha V Cc: Rajendra Nayak Cc: Charulatha V Acked-by: Grant Likely Signed-off-by: Kevin Hilman commit 6cdee91257bee23a46dc869ca62469b67cba2c7e Author: Thara Gopinath Date: Thu Aug 12 13:52:25 2010 +0530 OMAP: PM debugfs removing OMAP3 hardcodings. This patch removes omap3 hardcodings from pm-debug.c so that enabling PM debugfs support does break compilation for other OMAP's. This is a preparatory patch for supporting OMAP4 pm entries through PM debugfs. Signed-off-by: Thara Gopinath Signed-off-by: Kevin Hilman commit d5c47d7e97c141edb620b3932e1e1cb39e70c654 Author: Kevin Hilman Date: Tue Aug 10 16:04:35 2010 -0700 OMAP3: PM: whitespace cleanup around IO wakeup enable Cleanup indentation around IO wakeup enable, the '\' terminator is not required in C when wrapping an expression past end-of-line. Whitespace change only. Signed-off-by: Kevin Hilman commit fa6d52938906305356555e37e38939c7bad8fd7a Author: Dimitris Papastamos Date: Tue Sep 21 14:12:35 2010 +0100 ASoC: Fix soc-cache buffer overflow bug Make sure we stay within the cache boundaries when updating the register cache. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0b25ad0571e9208c2bd1302a41ce219794c6f901 Author: Jarkko Nikula Date: Tue Sep 21 15:36:49 2010 +0300 ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first assignement from dai_link->stream_name since then there won't be sysfs name changes and usually dai_link->name seems to fit anyway better for a sysfs directory name. Signed-off-by: Jarkko Nikula Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9ee9fff92e02e8c5f84794b3a5ce47646c2dfc39 Author: Benoit Cousson Date: Tue Sep 21 10:34:08 2010 -0600 OMAP: hwmod: Rename dma_ch to dma_req The dma request line attribute was named dma channel, which leads to confusion with the real dma channel definition. Signed-off-by: Benoit Cousson Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit 26c15cfd291f8b4ee40b4bbdf5e3772adfd704f5 Author: Julian Anastasov Date: Tue Sep 21 18:12:30 2010 +0200 ipvs: changes related to service usecnt Change the usage of svc usecnt during command execution: - we check if svc is registered but we do not need to hold usecnt reference while under __ip_vs_mutex, only the packet handling needs it during scheduling - change __ip_vs_service_get to __ip_vs_service_find and __ip_vs_svc_fwm_get to __ip_vs_svc_fwm_find because now caller will increase svc->usecnt - put common code that calls update_service in __ip_vs_update_dest - put common code in ip_vs_unlink_service() and use it to unregister the service - add comment that svc should not be accessed after ip_vs_del_service anymore - all IP_VS_WAIT_WHILE calls are now unified: usecnt > 0 - Properly log the app ports As result, some problems are fixed: - possible use-after-free of svc in ip_vs_genl_set_cmd after ip_vs_del_service because our usecnt reference does not guarantee that svc is not freed on refcnt==0, eg. when no dests are moved to trash - possible usecnt leak in do_ip_vs_set_ctl after ip_vs_del_service when the service is not freed now, for example, when some destionations are moved into trash and svc->refcnt remains above 0. It is harmless because svc is not in hash anymore. Signed-off-by: Julian Anastasov Acked-by: Simon Horman Signed-off-by: Patrick McHardy commit 99f07e91bef34db0fc8b1a224096e97f02dc0d56 Author: Changli Gao Date: Tue Sep 21 17:49:20 2010 +0200 netfilter: save the hash of the tuple in the original direction for latter use Since we don't change the tuple in the original direction, we can save it in ct->tuplehash[IP_CT_DIR_REPLY].hnode.pprev for __nf_conntrack_confirm() use. __hash_conntrack() is split into two steps: hash_conntrack_raw() is used to get the raw hash, and __hash_bucket() is used to get the bucket id. In SYN-flood case, early_drop() doesn't need to recompute the hash again. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit abdd8f510686da0a58e475bc0143d1069e5f53da Author: Takashi Iwai Date: Tue Sep 21 17:38:14 2010 +0200 ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269 We've applied a fix-up for ALC269 VAIO only for two models. But all Sony VAIO models with ALC269 codec seem to require the similar fix. Let's apply it with vendor-id mask. Signed-off-by: Takashi Iwai commit 5e09416f3676af1730af773afc477c2cea26a2c1 Merge: 265a024 0f9f1ee9 Author: Takashi Iwai Date: Tue Sep 21 17:40:48 2010 +0200 Merge branch 'fix/hda' into topic/hda commit 8a8030407f55a6aaedb51167c1a2383311fcd707 Author: Julian Anastasov Date: Tue Sep 21 17:38:57 2010 +0200 ipvs: make rerouting optional with snat_reroute Add new sysctl flag "snat_reroute". Recent kernels use ip_route_me_harder() to route LVS-NAT responses properly by VIP when there are multiple paths to client. But setups that do not have alternative default routes can skip this routing lookup by using snat_reroute=0. Signed-off-by: Julian Anastasov Signed-off-by: Patrick McHardy commit f4bc17cdd205ebaa3807c2aa973719bb5ce6a5b2 Author: Julian Anastasov Date: Tue Sep 21 17:35:41 2010 +0200 ipvs: netfilter connection tracking changes Add more code to IPVS to work with Netfilter connection tracking and fix some problems. - Allow IPVS to be compiled without connection tracking as in 2.6.35 and before. This can avoid keeping conntracks for all IPVS connections because this costs memory. ip_vs_ftp still depends on connection tracking and NAT as implemented for 2.6.36. - Add sysctl var "conntrack" to enable connection tracking for all IPVS connections. For loaded IPVS directors it needs tuning of nf_conntrack_max limit. - Add IP_VS_CONN_F_NFCT connection flag to request the connection to use connection tracking. This allows user space to provide this flag, for example, in dest->conn_flags. This can be useful to request connection tracking per real server instead of forcing it for all connections with the "conntrack" sysctl. This flag is set currently only by ip_vs_ftp and of course by "conntrack" sysctl. - Add ip_vs_nfct.c file to hold all connection tracking code, by this way main code should not depend of netfilter conntrack support. - Return back the ip_vs_post_routing handler as in 2.6.35 and use skb->ipvs_property=1 to allow IPVS to work without connection tracking Connection tracking: - most of the code is already in 2.6.36-rc - alter conntrack reply tuple for LVS-NAT connections when first packet from client is forwarded and conntrack state is NEW or RELATED. Additionally, alter reply for RELATED connections from real server, again for packet in original direction. - add IP_VS_XMIT_TUNNEL to confirm conntrack (without altering reply) for LVS-TUN early because we want to call nf_reset. It is needed because we add IPIP header and the original conntrack should be preserved, not destroyed. The transmitted IPIP packets can reuse same conntrack, so we do not set skb->ipvs_property. - try to destroy conntrack when the IPVS connection is destroyed. It is not fatal if conntrack disappears before that, it depends on the used timers. Fix problems from long time: - add skb->ip_summed = CHECKSUM_NONE for the LVS-TUN transmitters Signed-off-by: Julian Anastasov Signed-off-by: Patrick McHardy commit 6f0b31c31860a0be60663f76a305ca2d78e5e99f Author: Thomas Weber Date: Mon Sep 20 16:30:54 2010 +0200 Fix typo interrest[ing|ed] => interest[ing|ed] Fix typos with interrest*. Signed-off-by: Thomas Weber Signed-off-by: Jiri Kosina commit 6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b Author: Felix Fietkau Date: Mon Sep 20 13:45:40 2010 +0200 ath9k: make the driver specific rate control module optional ath9k can use minstrel_ht instead, so it makes sense to save some space here. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 334b06029ed3f5e31d773527d54fb40e3ee571f9 Author: Felix Fietkau Date: Mon Sep 20 13:45:39 2010 +0200 ath9k: move ath_tx_aggr_check() to the rate control module It is not used anywhere else and can be made static Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 90fa539ca3f07323da5a90f5c8f4e5cd952875e7 Author: Felix Fietkau Date: Mon Sep 20 13:45:38 2010 +0200 ath9k: clean up / fix aggregation session flush The tid aggregation cleanup is a bit fragile, as it discards failed subframes in some places, and retransmits them in others. This could block the cleanup of an existing aggregation session, if a retransmission for a tid is issued, yet the tid is never scheduled again because of the cleanup state. Fix this by getting rid of as many subframes as possible, as early as possible, and immediately transmitting pending subframes as regular HT frames instead of waiting for the cleanup to complete. Drop all pending subframes while keeping track of the Block ACK window during aggregate tx completion to prevent sending out stale subframes, which could confuse the receiver side. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 231c3a1f0630c07a584905507a1cb7b705a56ab7 Author: Felix Fietkau Date: Mon Sep 20 19:35:28 2010 +0200 ath9k: fix an aggregation start related race condition A new aggregation session start can be issued by mac80211, even when the cleanup of the previous session has not completed yet. Since the data structure for the session is not recreated, this could corrupt the block ack window and lock up the aggregation session. Fix this by delaying the new session until the old one has been cleaned up. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 81ee13ba7ef8c9eaebe91ed06edb844ab6403d4e Author: Felix Fietkau Date: Mon Sep 20 13:45:36 2010 +0200 ath9k: clean up block ack window handling There's no reason to keep pointers to pending tx buffers around, if they're only used to keep track of which frames are still pending. Use a bitfield instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 9ee82d541095cb64bf16a1f5d7573a8cddc125aa Author: Eliad Peller Date: Sun Sep 19 18:55:09 2010 +0200 wl1271: bugfix: use bitwise-AND instead of logical-AND typo - while looking for specific bits we should do a bitwise-AND instead of logical-AND. Signed-off-by: Eliad Peller Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 58be4607d25f86962dee6cc6b30573f95303517e Author: Eliad Peller Date: Sun Sep 19 18:55:08 2010 +0200 wl1271: avoid redundant memcpy of rx_status copy the rx_status directly to skb->cb (control buffer) instead of copying it to a local struct and then copying it again (for each rx packet) Signed-off-by: Eliad Peller Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 2c7808d9345b91bb19f6bfaebf7b9e0916b0859a Author: Christian Lamparter Date: Sat Sep 18 00:15:13 2010 +0200 carl9170: fix hang in AP mode when HT STA does PSM This is a obvious bug, skb_queue_walk does not work if the iterator gets removed from the queue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 735761108f435a30bbabb5254fc5a8e17b99f2a1 Author: Christian Lamparter Date: Fri Sep 17 23:09:19 2010 +0200 carl9170: reinit phy after HT settings have changed The driver has a set of different initvals for 20 MHz vs dynamic HT2040 operation. Because we can't change some of the registers "in-flight", the driver needs to perform a warm reset. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 78ec789bd397249a9bb412ca91bd360079e7b446 Author: Christian Lamparter Date: Fri Sep 17 22:58:40 2010 +0200 carl9170: fix state downgrade during reset Don't mark the device as completely dead just yet. If all goes to plan and carl9170_reboot succeeds then we can skip the expensive userspace-driven reinitialization anyway. And if it doesn't and carl9170_reboot fails, then carl9170_usb_cancel_urbs will do the necessary steps. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit cf6487d0d656994cc43851b8c2384741e220f7ac Author: Christian Lamparter Date: Fri Sep 17 22:47:28 2010 +0200 carl9170: abort tasklet during usb reset This patch prevents the tasklet code from interfering while the firmware is down for an unscheduled maintenance. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9adc9e0ff397fb2d4f383cc2d399b18adc32e6eb Author: Christian Lamparter Date: Fri Sep 17 22:42:37 2010 +0200 carl9170: don't load bogus nf of chain 1 According to Atheros, chain 1 is not connected. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e278c5a90368408bd191743e7c6f978f068f4b8d Author: Christian Lamparter Date: Fri Sep 17 22:22:50 2010 +0200 carl9170: fix noise dBm conversion Ever since carl9170 gained support to read the noisefloor, the reported noisefloor level was pretty poor. Initially I assumed that something was wrong in the PHY setup and it would be impossible to fix without any guidances. But this was not the case. In fact the nf readings were correct and the thing that was broken was the "simple" sign extension code! Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9dec6f9c48242eec742c9475f32eeef29448701c Author: Christian Lamparter Date: Fri Sep 17 22:07:59 2010 +0200 carl9170: use rx chainmask from eeprom The eeprom provides a mask for all present rx chains. Why not use it instead of the generic initval default? Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e0b1cc52e5da3e2fa79666b8df81a953c95c91e4 Author: Bruno Randolf Date: Fri Sep 17 11:37:18 2010 +0900 ath5k: Add tx queue configuration function Add the mac80211 callback function to configure the tx queue properties like cw_min, cw_max and aifs. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit de8af45520f47d14397b603beefae3d2983ce787 Author: Bruno Randolf Date: Fri Sep 17 11:37:12 2010 +0900 ath5k: Simplify cw_min/max and AIFS configuration Get rid of overly complicated cw_min/max and AIFS configuration: * Validate values in ath5k_hw_set_tx_queueprops(), so we can use them directly without further checks or computation in ath5k_hw_reset_tx_queue(). * Simplifiy by using AR5K_TUNE_AIFS|CWMIN|CWMAX variables directly since we don't support XR or B channels. That way we can also remove AR5K_TXQ_USEDEFAULT and the confusing logic around it. * Update data types: AIFS is u8, CW's are u16. * Remove now unneeded variables in ath5k_hw. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 234132960dcf8ebd9d424d92a4dfb0e57fa63a17 Author: Bruno Randolf Date: Fri Sep 17 11:37:07 2010 +0900 ath5k: Keep last descriptor in queue If we return a TX descriptor to the pool of available descriptors, while a queues TXDP still points to it we could potentially run into all sorts of troube. It has been suggested that there is hardware which can set the descriptors done bit before it reads ds_link and moves on to the next descriptor. While the documentation says this is not true for newer chipsets (the descriptor contents are copied to some internal memory), we don't know about older hardware. To be safe, we always keep the last descriptor in the queue, and avoid dangling TXDP pointers. Unfortunately this does not fully resolve the problem - queues still get stuck! This is similar to what ath9k does. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 923e5b3d3d773b9956b943ac64f782d5a127bdea Author: Bruno Randolf Date: Fri Sep 17 11:37:02 2010 +0900 ath5k: Count how many times a queue got stuck Add a counter to show how many times a queue got stuck in the debugfs queue file. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 4edd761f4075b03be5932682a2f7b9368dc9e536 Author: Bruno Randolf Date: Fri Sep 17 11:36:56 2010 +0900 ath5k: Add watchdog for stuck TX queues Since we do not know any better solution to the problem that TX queues can get stuck, this adds a timer-based watchdog, which will check for stuck queues and reset the hardware if necessary. Ported from ath9k commit 164ace38536849966ffa377b1b1132993a5a375d. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1440401e7051d4cf66084a7c36125834901bb90d Author: Bruno Randolf Date: Fri Sep 17 11:36:51 2010 +0900 ath5k: Move tx frame completion into separate function Clearer separation between queue handling and what we do with completed frames. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 651d9375dca9997ef2b05639191756da73b0cf8d Author: Bruno Randolf Date: Fri Sep 17 11:36:46 2010 +0900 ath5k: Fix TX queues stopping It does not make sense to stop queues for NF calibration. This will not stop transmissions from the card, if there are queued packets. If we run out of TX buffers we need to stop all queues, not only one. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit cfddc11c429a655e418ffc111372cc69dee6a1a5 Author: Bruno Randolf Date: Fri Sep 17 11:36:40 2010 +0900 ath5k: Fix queue debug file Take txq lock in debug file and fix reporting of used buffers. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 925e0b061300c94912be36eac16f0b44249a1add Author: Bruno Randolf Date: Fri Sep 17 11:36:35 2010 +0900 ath5k: Use four hardware queues Prepare ath5k for WME by using four hardware queues. The way we set up our queues matches the mac80211 queue priority 1:1, so we don't have to do any mapping for queue numbers. Every queue uses 50 of the total 200 available transmit buffers, so the DMA memory usage does not increase with this patch, but it might be good to fine-tune the number of buffers per queue later (depending on the CPU speed and load, and the speed of the medium access, it might not be big enough). Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 8a63facc376a7b8bb2b64c0ffbdb0949d1d6c71c Author: Bob Copeland Date: Fri Sep 17 12:45:07 2010 +0900 ath5k: reorder base.c to remove fwd decls This change reorganizes the main ath5k file in order to re-group related functions and remove most of the forward declarations (from 61 down to 3). This is, unfortunately, a lot of churn, but there should be no functional changes. Signed-off-by: Bob Copeland Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit ce2220d1da0bad9583af38a03ad508968d554c0f Author: Bruno Randolf Date: Fri Sep 17 11:36:25 2010 +0900 ath/ath5k/ath9k: Fix crypto capabilities merge issue Fixing up a merge issue / concurrent development: Remove unneeded ath_crypt_caps flags, as per "ath9k_hw: remove useless hw capability flags" (364734fafbba0c3133e482db78149b9a823ae7a5), but set the AESCCM flag for ath9k. common ath code still needs a flag for this because there is ath5k hardware which can't do AES in hardware. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit c807666a08800ab387298817db5a6f6e11606adb Author: Christian Lamparter Date: Thu Sep 16 22:55:20 2010 +0200 carl9170: update AR9170 phy initvals This patch is loosely based on an ath9k patch called: "ath9k_hw: sync initvals for ar9001 and ar9002 with Atheros" It includes the following changes/fixes: - AGC setting improvements - timing changes for improved performance Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 80b517f362605f2b6a6cfe086604534290aab2de Author: Ohad Ben-Cohen Date: Thu Sep 16 01:32:30 2010 +0200 omap: zoom: add mmc3/wl1271 device support Add MMC3 support on ZOOM, which has the wl1271 device hardwired to. The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an external IRQ line, and power-controlled by a GPIO-based fixed regulator. Signed-off-by: Ohad Ben-Cohen Acked-by: Tony Lindgren Signed-off-by: John W. Linville commit b642fde7f137566c993991fd2e7bf6b8274bf625 Author: Ohad Ben-Cohen Date: Thu Sep 16 01:32:09 2010 +0200 omap: zoom: add fixed regulator device for wlan Add a fixed regulator vmmc device to enable power control of the wl1271 wlan device. Signed-off-by: Ohad Ben-Cohen Acked-by: Tony Lindgren Signed-off-by: John W. Linville commit 15cea99306ae14ce5f7c3d3989bcc17202e2b0be Author: Ohad Ben-Cohen Date: Thu Sep 16 01:31:51 2010 +0200 wl1271: make ref_clock configurable by board The wl1271 device is using a reference clock that may change between board to board. Make the ref_clock parameter configurable by board settings instead of having a hard coded value in the sources. Signed-off-by: Ohad Ben-Cohen Signed-off-by: John W. Linville commit 09cecc340b3b4d9960b039c0f576548bbf857f5a Author: Ohad Ben-Cohen Date: Thu Sep 16 01:31:35 2010 +0200 wl1271: take irq info from private board data Remove the hard coded irq information, and instead take the irq information from the board's platform data. Signed-off-by: Ohad Ben-Cohen Signed-off-by: John W. Linville commit 61ee7007a5d61aa066076da578e8e8084e122d7d Author: Ohad Ben-Cohen Date: Thu Sep 16 01:31:12 2010 +0200 wl12xx: add platform data passing support Add a simple mechanism to pass platform data to the SDIO instances of wl12xx. This way there is no confusion over who owns the 'embedded data', typechecking is preserved, and no possibility for the wrong driver to pick up the data. Originally proposed by Russell King. Signed-off-by: Ohad Ben-Cohen Signed-off-by: John W. Linville commit 2cc78ff78c0af502b040d4527212e29e02d3231d Author: Ohad Ben-Cohen Date: Thu Sep 16 01:22:04 2010 +0200 wl1271: propagate set_power's return value Make it possible for the set power method to indicate a success/failure return value. This is needed to support more complex power on/off operations such as SDIO power manipulations. Signed-off-by: Ohad Ben-Cohen Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 817f2c842d6c38acfd58d20d29ba583ec467ae35 Author: Nikanth Karthikesan Date: Mon Sep 20 11:44:00 2010 +0530 Fix various typos of valid in comments Fix various typos of valid. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit c1f9a095600e07fefe64eb94eb711f410100824a Author: Ohad Ben-Cohen Date: Thu Sep 16 13:16:02 2010 +0200 wl12xx: make wl12xx.h common to both spi and sdio Move wl12xx.h outside of the spi-specific location, so it can be shared with both spi and sdio solutions. Update all users of spi/wl12xx.h accordingly Signed-off-by: Ohad Ben-Cohen Acked-by: Luciano Coelho Acked-by: Tony Lindgren Signed-off-by: John W. Linville commit 0bc79f7f58f5d0670c776818e38f482555bc27ae Author: Nikanth Karthikesan Date: Mon Sep 20 11:43:58 2010 +0530 Doc: Fix typo s/packages/packaged Fix typo s/packages/packaged in Documentation/vm/numa_memory_policy.txt. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit a8027073eb127cd207070891374b5c54c2ce3d23 Author: Steven Rostedt Date: Mon Sep 20 15:13:34 2010 -0400 tracing/sched: Add sched_pi_setprio tracepoint Add a tracepoint that shows the priority of a task being boosted via priority inheritance. Cc: Gregory Haskins Acked-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 46c4ba012c9e70b26e4c2072245e3922cca3ef31 Author: Henrik Rydberg Date: Tue Sep 21 16:16:09 2010 +0200 HID: 3m: Output proper orientation range The range of orientation values for height/width devices should be [0, 1], but is currently set to [1, 1]. Having min == max also breaks uinput device setup. Fixed with this patch. Signed-off-by: Henrik Rydberg Acked-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 41035901df14e90ab70db826e940712dde2c1a0d Author: Henrik Rydberg Date: Tue Sep 21 16:11:44 2010 +0200 HID: 3m: Adjust to sequential MT HID protocol The multitouch extensions to the HID protocol allows for contact data to be sent over several reports, which is also the case for the 3M M2256PW touchscreen. This patch modifies the logic to only synchronize the input layer when all contacts have been received. Consequentially, the full 60-finger capacity of the device is enabled. Signed-off-by: Henrik Rydberg Acked-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 24750f3e469bef81a96c0036cd4700df5fb48925 Author: Henrik Rydberg Date: Tue Aug 24 10:54:44 2010 +0200 HID: Add a hid quirk for input sync override As of lately, HID devices which send per-frame data split over several HID reports have started to emerge. This patch adds a quirk which allows the HID driver to take over the input layer synchronization, and hence the control of the frame boundary. Signed-off-by: Henrik Rydberg Signed-off-by: Jiri Kosina commit b3bc211cfe7d5fe94b310480d78e00bea96fbf2a Author: Steven Rostedt Date: Mon Sep 20 22:40:04 2010 -0400 sched: Give CPU bound RT tasks preference If a high priority task is waking up on a CPU that is running a lower priority task that is bound to a CPU, see if we can move the high RT task to another CPU first. Note, if all other CPUs are running higher priority tasks than the CPU bounded current task, then it will be preempted regardless. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra Cc: Gregory Haskins LKML-Reference: <20100921024138.888922071@goodmis.org> Signed-off-by: Ingo Molnar commit 43fa5460fe60dea5c610490a1d263415419c60f6 Author: Steven Rostedt Date: Mon Sep 20 22:40:03 2010 -0400 sched: Try not to migrate higher priority RT tasks When first working on the RT scheduler design, we concentrated on keeping all CPUs running RT tasks instead of having multiple RT tasks on a single CPU waiting for the migration thread to move them. Instead we take a more proactive stance and push or pull RT tasks from one CPU to another on wakeup or scheduling. When an RT task wakes up on a CPU that is running another RT task, instead of preempting it and killing the cache of the running RT task, we look to see if we can migrate the RT task that is waking up, even if the RT task waking up is of higher priority. This may sound a bit odd, but RT tasks should be limited in migration by the user anyway. But in practice, people do not do this, which causes high prio RT tasks to bounce around the CPUs. This becomes even worse when we have priority inheritance, because a high prio task can block on a lower prio task and boost its priority. When the lower prio task wakes up the high prio task, if it happens to be on the same CPU it will migrate off of it. But in reality, the above does not happen much either, because the wake up of the lower prio task, which has already been boosted, if it was on the same CPU as the higher prio task, it would then migrate off of it. But anyway, we do not want to migrate them either. To examine the scheduling, I created a test program and examined it under kernelshark. The test program created CPU * 2 threads, where each thread had a different priority. The program takes different options. The options used in this change log was to have priority inheritance mutexes or not. All threads did the following loop: static void grab_lock(long id, int iter, int l) { ftrace_write("thread %ld iter %d, taking lock %d\n", id, iter, l); pthread_mutex_lock(&locks[l]); ftrace_write("thread %ld iter %d, took lock %d\n", id, iter, l); busy_loop(nr_tasks - id); ftrace_write("thread %ld iter %d, unlock lock %d\n", id, iter, l); pthread_mutex_unlock(&locks[l]); } void *start_task(void *id) { [...] while (!done) { for (l = 0; l < nr_locks; l++) { grab_lock(id, i, l); ftrace_write("thread %ld iter %d sleeping\n", id, i); ms_sleep(id); } i++; } [...] } The busy_loop(ms) keeps the CPU spinning for ms milliseconds. The ms_sleep(ms) sleeps for ms milliseconds. The ftrace_write() writes to the ftrace buffer to help analyze via ftrace. The higher the id, the higher the prio, the shorter it does the busy loop, but the longer it spins. This is usually the case with RT tasks, the lower priority tasks usually run longer than higher priority tasks. At the end of the test, it records the number of loops each thread took, as well as the number of voluntary preemptions, non-voluntary preemptions, and number of migrations each thread took, taking the information from /proc/$$/sched and /proc/$$/status. Running this on a 4 CPU processor, the results without changes to the kernel looked like this: Task vol nonvol migrated iterations ---- --- ------ -------- ---------- 0: 53 3220 1470 98 1: 562 773 724 98 2: 752 933 1375 98 3: 749 39 697 98 4: 758 5 515 98 5: 764 2 679 99 6: 761 2 535 99 7: 757 3 346 99 total: 5156 4977 6341 787 Each thread regardless of priority migrated a few hundred times. The higher priority tasks, were a little better but still took quite an impact. By letting higher priority tasks bump the lower prio task from the CPU, things changed a bit: Task vol nonvol migrated iterations ---- --- ------ -------- ---------- 0: 37 2835 1937 98 1: 666 1821 1865 98 2: 654 1003 1385 98 3: 664 635 973 99 4: 698 197 352 99 5: 703 101 159 99 6: 708 1 75 99 7: 713 1 2 99 total: 4843 6594 6748 789 The total # of migrations did not change (several runs showed the difference all within the noise). But we now see a dramatic improvement to the higher priority tasks. (kernelshark showed that the watchdog timer bumped the highest priority task to give it the 2 count. This was actually consistent with every run). Notice that the # of iterations did not change either. The above was with priority inheritance mutexes. That is, when the higher prority task blocked on a lower priority task, the lower priority task would inherit the higher priority task (which shows why task 6 was bumped so many times). When not using priority inheritance mutexes, the current kernel shows this: Task vol nonvol migrated iterations ---- --- ------ -------- ---------- 0: 56 3101 1892 95 1: 594 713 937 95 2: 625 188 618 95 3: 628 4 491 96 4: 640 7 468 96 5: 631 2 501 96 6: 641 1 466 96 7: 643 2 497 96 total: 4458 4018 5870 765 Not much changed with or without priority inheritance mutexes. But if we let the high priority task bump lower priority tasks on wakeup we see: Task vol nonvol migrated iterations ---- --- ------ -------- ---------- 0: 115 3439 2782 98 1: 633 1354 1583 99 2: 652 919 1218 99 3: 645 713 934 99 4: 690 3 3 99 5: 694 1 4 99 6: 720 3 4 99 7: 747 0 1 100 Which shows a even bigger change. The big difference between task 3 and task 4 is because we have only 4 CPUs on the machine, causing the 4 highest prio tasks to always have preference. Although I did not measure cache misses, and I'm sure there would be little to measure since the test was not data intensive, I could imagine large improvements for higher priority tasks when dealing with lower priority tasks. Thus, I'm satisfied with making the change and agreeing with what Gregory Haskins argued a few years ago when we first had this discussion. One final note. All tasks in the above tests were RT tasks. Any RT task will always preempt a non RT task that is running on the CPU the RT task wants to run on. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra Cc: Gregory Haskins LKML-Reference: <20100921024138.605460343@goodmis.org> Signed-off-by: Ingo Molnar commit 58b26c4c025778c09c7a1438ff185080e11b7d0a Author: Venkatesh Pallipadi Date: Fri Sep 10 18:19:17 2010 -0700 sched: Increment cache_nice_tries only on periodic lb scheduler uses cache_nice_tries as an indicator to do cache_hot and active load balance, when normal load balance fails. Currently, this value is changed on any failed load balance attempt. That ends up being not so nice to workloads that enter/exit idle often, as they do more frequent new_idle balance and that pretty soon results in cache hot tasks being pulled in. Making the cache_nice_tries ignore failed new_idle balance seems to make better sense. With that only the failed load balance in periodic load balance gets accounted and the rate of accumulation of cache_nice_tries will not depend on idle entry/exit (short running sleep-wakeup kind of tasks). This reduces movement of cache_hot tasks. schedstat diff (after-before) excerpt from a workload that has frequent and short wakeup-idle pattern (:2 in cpu col below refers to NEWIDLE idx) This snapshot was across ~400 seconds. Without this change: domainstats: domain0 cpu cnt bln fld imb gain hgain nobusyq nobusyg 0:2 306487 219575 73167 110069413 44583 19070 1172 218403 1:2 292139 194853 81421 120893383 50745 21902 1259 193594 2:2 283166 174607 91359 129699642 54931 23688 1287 173320 3:2 273998 161788 93991 132757146 57122 24351 1366 160422 4:2 289851 215692 62190 83398383 36377 13680 851 214841 5:2 316312 222146 77605 117582154 49948 20281 988 221158 6:2 297172 195596 83623 122133390 52801 21301 929 194667 7:2 283391 178078 86378 126622761 55122 22239 928 177150 8:2 297655 210359 72995 110246694 45798 19777 1125 209234 9:2 297357 202011 79363 119753474 50953 22088 1089 200922 10:2 278797 178703 83180 122514385 52969 22726 1128 177575 11:2 272661 167669 86978 127342327 55857 24342 1195 166474 12:2 293039 204031 73211 110282059 47285 19651 948 203083 13:2 289502 196762 76803 114712942 49339 20547 1016 195746 14:2 264446 169609 78292 115715605 50459 21017 982 168627 15:2 260968 163660 80142 116811793 51483 21281 1064 162596 With this change: domainstats: domain0 cpu cnt bln fld imb gain hgain nobusyq nobusyg 0:2 272347 187380 77455 105420270 24975 1 953 186427 1:2 267276 172360 86234 116242264 28087 6 1028 171332 2:2 259769 156777 93281 123243134 30555 1 1043 155734 3:2 250870 143129 97627 127370868 32026 6 1188 141941 4:2 248422 177116 64096 78261112 22202 2 757 176359 5:2 275595 180683 84950 116075022 29400 6 778 179905 6:2 262418 162609 88944 119256898 31056 4 817 161792 7:2 252204 147946 92646 122388300 32879 4 824 147122 8:2 262335 172239 81631 110477214 26599 4 864 171375 9:2 261563 164775 88016 117203621 28331 3 849 163926 10:2 243389 140949 93379 121353071 29585 2 909 140040 11:2 242795 134651 98310 124768957 30895 2 1016 133635 12:2 255234 166622 79843 104696912 26483 4 746 165876 13:2 244944 151595 83855 109808099 27787 3 801 150794 14:2 241301 140982 89935 116954383 30403 6 845 140137 15:2 232271 128564 92821 119185207 31207 4 1416 127148 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra LKML-Reference: <1284167957-3675-1-git-send-email-venki@google.com> Signed-off-by: Ingo Molnar commit cf84fd96323633be7d437e1de4505fc82ff2c11a Merge: 31915ab b30a3f6 Author: Ingo Molnar Date: Tue Sep 21 13:56:43 2010 +0200 Merge commit 'v2.6.36-rc5' into sched/core Merge reason: Pick up the latest fixes in -rc5. Signed-off-by: Ingo Molnar commit 41945f6ccf1e86f87fddf6b32db9cf431c05fb54 Author: Peter Zijlstra Date: Thu Sep 16 19:17:24 2010 +0200 perf: Avoid RCU vs preemption assumptions The per-pmu per-cpu context patch converted things from get_cpu_var() to this_cpu_ptr(), but that only works if rcu_read_lock() actually disables preemption, and since there is no such guarantee, we need to fix that. Use the newly introduced {get,put}_cpu_ptr(). Signed-off-by: Peter Zijlstra Cc: Tejun Heo LKML-Reference: <20100917093009.308453028@chello.nl> Signed-off-by: Ingo Molnar commit 8b8e2ec1eeca7f6941bc81cefc9663018d6ceb57 Author: Peter Zijlstra Date: Thu Sep 16 19:21:28 2010 +0200 percpu: Add {get,put}_cpu_ptr These are similar to {get,put}_cpu_var() except for dynamically allocated per-cpu memory. Signed-off-by: Peter Zijlstra Acked-by: Tejun Heo LKML-Reference: <20100917093009.252867712@chello.nl> Signed-off-by: Ingo Molnar commit 7ed569206ebe7467b9c912b857ec46cf1c361111 Merge: e9d2b06 b30a3f6 Author: Ingo Molnar Date: Tue Sep 21 13:55:04 2010 +0200 Merge commit 'v2.6.36-rc5' into perf/core Merge reason: Pick up the latest fixes in -rc5. Signed-off-by: Ingo Molnar commit 536bb20b45dee3f9b77b0d250f8ed0733a5cb025 Author: Gerrit Renker Date: Sun Sep 19 20:14:23 2010 +0200 dccp ccid-3: Remove redundant 'options_received' struct The `options_received' struct is redundant, since it re-duplicates the existing `p' and `x_recv' fields. This patch removes the sub-struct and migrates the format conversion operations to ccid3_hc_tx_parse_options(). Signed-off-by: Gerrit Renker commit 792e6d3389061ad449429b9ba228eb758c247ea0 Author: Gerrit Renker Date: Sun Sep 19 20:10:52 2010 +0200 dccp tfrc/ccid-3: computing the loss rate from the Loss Event Rate This adds a function to take care of the following, separate cases occurring in the computation of the Loss Rate p: * 1/(2^32-1) is mapped into 0% as per RFC 4342, 8.5; * 1/0 is mapped into 100%, the maximum; * to avoid that p = 1/x is rounded down to 0 when x is very large, since this means accidentally re-entering slow-start indicated by p == 0, the minimum resolution value of p is now returned instead; * a bug in ccid3_hc_rx_getsockopt is fixed: 1/0 was mapped into ~0U. Signed-off-by: Gerrit Renker commit 80763dfbac4ed1e6dfe6ec08ef748e0e9aec3260 Author: Gerrit Renker Date: Sun Sep 19 20:08:24 2010 +0200 dccp ccid-3: remove dead states This patch is thanks to an investigation by Leandro Sales de Melo and his colleagues. They worked out two state diagrams which highlight the fact that the xxx_TERM states in CCID-3/4 are in fact not necessary. And this can be confirmed by in turn looking at the code: the xxx_TERM states are only ever set in ccid3_hc_{rx,tx}_exit(): when CCID-3 sets the state to xxx_TERM, it is at a time where no more processing should be going on, hence it is not necessary to introduce a dedicated exit state - this is already implied by unloading the CCID. Signed-off-by: Gerrit Renker commit a18213d1d2a469956845b437f5d1d0401ab22e8b Author: Gerrit Renker Date: Sun Sep 19 20:08:00 2010 +0200 dccp: Replace magic CCID-specific numbers by symbolic constants The constants DCCPO_{MIN,MAX}_CCID_SPECIFIC are nowhere used in the code, but instead for the CCID-specific options numbers are used. This patch unifies the use of CCID-specific option numbers, by adding symbolic names reflecting the definitions in RFC 4340, 10.3. Signed-off-by: Gerrit Renker commit 4874c131d79695e3d372042781a408a1a8a762d8 Author: Gerrit Renker Date: Sun Sep 19 20:06:50 2010 +0200 dccp: Add packet type information to CCID-specific option parsing This 1. adds packet type information to ccid_hc_{rx,tx}_parse_options(). This is necessary, since table 3 in RFC 4340, 5.8 leaves it to the CCIDs to state which options may (not) appear on what packet type. 2. adds such a check for CCID-3's {Loss Event, Receive} Rate as specified in RFC 4340 8.3 ("Receive Rate options MUST NOT be sent on DCCP-Data packets") and 8.5 ("Loss Event Rate options MUST NOT be sent on DCCP-Data packets"). 3. removes an unused argument `idx' from ccid_hc_{rx,tx}_parse_options(). This is also no longer necessary, since the CCID-specific option-parsing routines are passed every single parameter of the type-length-value option encoding. Signed-off-by: Gerrit Renker commit a800c7cc5380fbb6b4f2f3bd89f6776eb3da2242 Author: Thomas Gleixner Date: Tue Sep 21 11:33:54 2010 +0200 MAINTAINERS: Add IRQ subsystem I do not expect, that this will help anything, but at least it's going to remove the lame excuse about the missing maintainer entry. Signed-off-by: Thomas Gleixner commit 265a02478db5217eda8063004ded1ef0a461c240 Author: Takashi Iwai Date: Tue Sep 21 11:26:21 2010 +0200 ALSA: hda - Check invalid NIDs in alc_init_jacks() The headphone and external-mic pin NIDs can be null, and the jack input elements should be skipped in such a case. Signed-off-by: Takashi Iwai commit 13f808cf8ddb5f3ca0f0271473c6c02a4b32580b Author: Mark Brown Date: Mon Sep 20 19:17:44 2010 +0100 ASoC: Fix merge issue with WM8962 control addition Let's not add the core controls twice. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 082100dc9210449dac8ad8c7d20180cc1a0c319d Author: Mark Brown Date: Mon Sep 20 19:03:28 2010 +0100 ASoC: Report error code when failing to add controls Helps with diagnostics. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 17cc26cd8c7ef84a614a2218753ced2773fd787b Author: Mark Brown Date: Mon Sep 20 17:54:57 2010 +0100 ASoC: Prototype s3c64xx_i2s_get_clock() So machine drivers can see the declaration. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 9e5341b92d1d2dde11691b394721b45b36416bef Author: Takashi Iwai Date: Tue Sep 21 09:57:06 2010 +0200 ALSA: hda - Introduce hda_call_check_power_status() helper Replace the explicit ifdef check and call of check_power_status ops with a new helper function, hda_call_check_power_status(). Signed-off-by: Takashi Iwai commit 9396d3174b761685d6fefb1103e66b96a2e5db6d Author: Jerry Zhou Date: Tue Sep 21 14:44:51 2010 +0800 ALSA: hdmi - fix surround41 channel mapping Channel 2 and channel 3 were all wrongly mapped to HDMI slot 4. This shows up as a bug that one channel is "lost" when playing in surround41 mode. Signed-off-by: Jerry Zhou Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 53d7d69d8ffdfa60c5b66cc2e9ee0774aaaef5c0 Author: Wu Fengguang Date: Tue Sep 21 14:25:49 2010 +0800 ALSA: hdmi - support infoframe for DisplayPort DisplayPort works mostly in the same way as HDMI, except that it expects a slightly different audio infoframe format. Citations from "HDA036-A: Display Port Support and HDMI Miscellaneous Corrections": The HDMI specification defines a data island packet with a header of 4 bytes (3 bytes content + 1 byte ECC) and packet body of 32 bytes (28 bytes content and 4 bytes ECC). Display Port specification on the other hand defines a data island packet (secondary data packet) with header of 4 bytes protected by 4 bytes of parity, and data of theoretically up to 1024 bytes with each 16 bytes chunk of data protected by 4 bytes of parity. Note that the ECC or parity bytes are not present in the DIP content populated by software and are hardware generated. It tests DP connection based on the ELD conn_type field, which will be set by the graphics driver and can be overriden manually by users through the /proc/asound/card0/eld* interface. The DP infoframe is tested OK on Intel SandyBridge/CougarPoint platform. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c2b9ff24a0df649d4d40947878b5b5ac39c7299e Author: H. Peter Anvin Date: Mon Sep 20 18:01:46 2010 -0700 x86, cpu: Re-run get_cpu_cap() after adjusting the CPUID level At least on Intel, adjusting the max CPUID level can expose new CPUID features, so we need to re-run get_cpu_cap() after changing the CPUID level. Signed-off-by: H. Peter Anvin commit ce5f68246bf2385d6174856708d0b746dc378f20 Author: H. Peter Anvin Date: Mon Sep 20 13:04:45 2010 -0700 x86, hotplug: In the MWAIT case of play_dead, CLFLUSH the cache line When we're using MWAIT for play_dead, explicitly CLFLUSH the cache line before executing MONITOR. This is a potential workaround for the Xeon 7400 erratum AAI65 after having a spurious wakeup and returning around the loop. "Potential" here because it is not certain that that erratum could actually trigger; however, the CLFLUSH should be harmless. Signed-off-by: H. Peter Anvin Acked-by: Venkatesh Pallipadi Cc: Asit Mallick Cc: Arjan van de Ven Cc: Len Brown commit fa6f2cc77081792e4edca9168420a3422299ef15 Author: Jason Baron Date: Fri Sep 17 11:08:56 2010 -0400 jump label: Make text_poke_early() globally visible Make text_poke_early available outside of alternative.c. The jump label patchset wants to make use of it in order to set up the optimal no-op sequences at run-time. Signed-off-by: Jason Baron LKML-Reference: <04cfddf2ba77bcabfc3e524f1849d871d6a1cf9d.1284733808.git.jbaron@redhat.com> Signed-off-by: Steven Rostedt commit f49aa448561fe9215f43405cac6f31eb86317792 Author: Jason Baron Date: Fri Sep 17 11:08:51 2010 -0400 jump label: Make dynamic no-op selection available outside of ftrace Move Steve's code for finding the best 5-byte no-op from ftrace.c to alternative.c. The idea is that other consumers (in this case jump label) want to make use of that code. Signed-off-by: Jason Baron LKML-Reference: <96259ae74172dcac99c0020c249743c523a92e18.1284733808.git.jbaron@redhat.com> Signed-off-by: Steven Rostedt commit d31f59f31d602e8c3a34ce1f20d1e8fcfe50dd59 Author: Tony Lindgren Date: Mon Sep 20 14:53:38 2010 -0700 omap: Update omap3_defconfig for omap2 We need to enable ARM_ERRATA_411920 for omap2 and remove the omap2 specific defconfigs. Signed-off-by: Tony Lindgren commit 455d4d2dc76471baec0c70daf8ff6c09fc743c24 Author: Santosh Shilimkar Date: Wed Sep 15 22:40:19 2010 +0530 omap: Update and rename common defconfig for omap2plus devices This patch addresses below things - Renaming existing omap3_defconfig which has OMAP2, OMAP3 and OMAP4 builds enabled to more appropriate name 'omap2plus_defconfig' - L1 cache shift is suppose to be 5 on OMAP4 where as it is 6 on previous OMAPs. Keeping it to 5 is safer option for OMAP4 and previous OMAPs. For OMAP3 only build the shift would be still 6 - Enable needed Errata's for OMAP4 to work with DMA based device drivers CONFIG_PL310_ERRATA_588369=y CONFIG_ARM_ERRATA_720789=y - Enable the Micrel ethernet controller CONFIG_KS8851=y CONFIG_KS8851_MLL=y With above three changes, OMAP4 ethernet, mmc etc works reliably. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 61e9beafdd6f2b2d27ad5935a2de9c46709b9671 Author: Tony Lindgren Date: Mon Sep 20 14:53:38 2010 -0700 omap: Update omap3_defconfig to work with SMP_ON_UP With the recent changes to core ARM kernel code, we can now boot SMP kernel on UP systems. Update omap3_defconfig to enable SMP. This allows us to remove omap_4430sdp_defconfig. In addition to enabling SMP, we also need to disable some options to make the system boot: - For some reason LOCK_STAT causes tons of WARNING: at mm/percpu-vm.c:320 pcpu_alloc+0x2fc/0x888() so disable it for now. - MUSB init fails for multi-omap, disable it for now. - LOCAL_TIMERS hangs on omap4, disable it for now. Also disable DEBUG_LL as this should be only enabled for debugging. Signed-off-by: Tony Lindgren commit c3083411062106452649e464e55c7b856de0d29b Author: Tony Lindgren Date: Mon Sep 20 14:53:15 2010 -0700 omap: Fix CONFIG_LOCAL_TIMERS initialization for multi-omap Fix CONFIG_LOCAL_TIMERS initialization for multi-omap Signed-off-by: Tony Lindgren Acked-By: Santosh Shilimkar commit 23ac4ae827e6264e21b898f2cd3f601450aa02a6 Author: Andreas Herrmann Date: Fri Sep 17 18:03:43 2010 +0200 x86, k8: Rename k8.[ch] to amd_nb.[ch] and CONFIG_K8_NB to CONFIG_AMD_NB The file names are somehow misleading as the code is not specific to AMD K8 CPUs anymore. The files accomodate code for other AMD CPU northbridges as well. Same is true for the config option which is valid for AMD CPU northbridges in general and not specific to K8. Signed-off-by: Andreas Herrmann LKML-Reference: <20100917160343.GD4958@loge.amd.com> Signed-off-by: H. Peter Anvin commit 9f081ce5da2c8af297a0a7d15a57fb4beeed374b Author: Tony Luck Date: Mon Sep 20 13:15:07 2010 -0700 [IA64] Move local_softirq_pending() definition Ugly #include dependencies. We need to have local_softirq_pending() defined before it gets used in . But provides the definition *after* this #include chain: Signed-off-by: Tony Luck commit 43e3bf203456c4f06bdd6060426976ad2bed9081 Author: Konrad Rzeszutek Wilk Date: Mon Sep 20 13:13:04 2010 -0700 [IA64] iommu: Add a dummy iommu_table.h file in IA64. We don't need a comlex IOMMU dependency list on IA64 so we just define the IOMMU_* macro as a dummy. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Tony Luck commit d8b33534921796825a839cab222a1888c5e7256e Author: Kuninori Morimoto Date: Fri Sep 17 13:49:05 2010 +0900 ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl Current FSI driver had data push/pop functions. But the main operation of these 2 were very similar. This mean it is possible to merge these to 1 function. Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 5bfb9ad0840b15d9c45d25a05e4ff9ae5eb80508 Author: Kuninori Morimoto Date: Fri Sep 17 13:48:45 2010 +0900 ASoC: fsi: modify variable name to easy to understand Current FSI driver is using data-length / width / number / offset for variables. But it was a very confusing name. This patch rename them to easy to understand, and add new functions for it. Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 5250a5031ee5733c10c7cb371206ed3784918adc Author: Mark Brown Date: Sun Sep 19 16:07:06 2010 +0100 ASoC: Fix WM8978/migor driver name conflict Standardise on 'wm8978' as the name for the CODEC. Reported-by: Guennadi Liakhovetski Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 7d1be0a6789f7d04e5104b1d2873268369eafcc2 Author: Jarkko Nikula Date: Mon Sep 20 10:39:14 2010 +0300 ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also the default state after probing and codec is left unconfigured and unpowered by default. Initialization will happen when the bias state changes and aic3x_set_power does power-up and cache sync. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 5a895f8a09218716654fb89e0f876e4e3ca606a8 Author: Jarkko Nikula Date: Mon Sep 20 10:39:13 2010 +0300 ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync There is no need to reset the codec and perform cache sync if none of the supply regulators were not disabled. Patch registers a notifier callback for each supply and callback then sets a flag to indicate when cache sync is required. HW writes are also needless when codec bias is off so cache_only flag is set independently of actual supply regulators state. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 6c1a7d40c2237ff7690ca682336e22777c847ffe Author: Jarkko Nikula Date: Mon Sep 20 10:39:12 2010 +0300 ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this runtime control happens only with suspend/resume as this patch does not change the default idle behavior. This patch manages all the regulators and reset since it seems that register sync is needed even if only analog supplies AVDD and DRVDD are disabled. This was noted when the system was running with idle behavior changed and IOVDD and DVDD were on. It is not known are all the registers needed to sync or only some subset of them. Therefore patch plays safe and does always full shutdown/power-up. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 2f24111a08d60e6db92ed2867a339ddde2195b88 Author: Jarkko Nikula Date: Mon Sep 20 10:39:11 2010 +0300 ASoC: tlv320aic3x: Move regulator management from i2c to soc domain It will be easier to keep regulator enable/disable calls in sync when dynamic regulator management is added if regulator management is moved from aic3x_i2c_probe/_remove to aic3x_probe/_remove. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit daebbca3ab41031666ee27f991b223d2bc0415e9 Author: Eric Dumazet Date: Mon Sep 20 02:28:59 2010 +0000 qlcnic: dont set skb->truesize skb->truesize is set in core network. Dont change it unless dealing with fragments. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8990f468ae9010ab0af4be8f51bf7ab833a67202 Author: Eric Dumazet Date: Mon Sep 20 00:12:11 2010 +0000 net: rx_dropped accounting Under load, netif_rx() can drop incoming packets but administrators dont have a chance to spot which device needs some tuning (RPS activation for example) This patch adds rx_dropped accounting in vlans and tunnels. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ec33d1f952934ea3251cefc6d108b47818eedd0 Author: Takashi Iwai Date: Mon Sep 20 15:20:52 2010 +0200 ALSA: hda - Refactor ALC269 power-ups/downs in PM callbacks Create a helper function to simplify the code. Also, cleaned up the ifdef SND_HDA_NEEDS_RESUME and CONFIG_SND_HDA_POWER_SAVE. The former is always defined when the latter is set. Signed-off-by: Takashi Iwai commit f3550d1b052a8acf4159b407dbdd1def47f223f9 Author: Takashi Iwai Date: Mon Sep 20 15:09:03 2010 +0200 ALSA: hda - Fix capture widget for ALC269vb and co ALC269vb and other variants don't use the widgets 0x24 but prefer the widget 0x22 instead. We need to fix the input parser. Signed-off-by: Takashi Iwai commit d433a67831ab2c470cc53a3ff9b60f656767be15 Author: Takashi Iwai Date: Mon Sep 20 15:11:54 2010 +0200 ALSA: hda - Optimize the check of ALC269 codec variants Don't call the COEF check for checking ACL269 codec variants at each time in init but remember the type at the initialization. Signed-off-by: Takashi Iwai commit 749ef9f8423054e326f3a246327ed2db4b6d395f Author: Corrado Zoccolo Date: Mon Sep 20 15:24:50 2010 +0200 cfq: improve fsync performance for small files Fsync performance for small files achieved by cfq on high-end disks is lower than what deadline can achieve, due to idling introduced between the sync write happening in process context and the journal commit. Moreover, when competing with a sequential reader, a process writing small files and fsync-ing them is starved. This patch fixes the two problems by: - marking journal commits as WRITE_SYNC, so that they get the REQ_NOIDLE flag set, - force all queues that have REQ_NOIDLE requests to be put in the noidle tree. Having the queue associated to the fsync-ing process and the one associated to journal commits in the noidle tree allows: - switching between them without idling, - fairness vs. competing idling queues, since they will be serviced only after the noidle tree expires its slice. Acked-by: Vivek Goyal Reviewed-by: Jeff Moyer Tested-by: Jeff Moyer Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit e1ca7b4ea29707920650d86b22afdb7e94ad5986 Author: Takashi Iwai Date: Mon Sep 20 14:58:57 2010 +0200 ALSA: hda - Fix initialization of multiple output pins for ALC268/269 When multiple pins are assigned to headphones or speakers, they haven't been initialized properly. Signed-off-by: Takashi Iwai commit f6837bbd599c2a4e1f621441f84286434bcc91ae Author: Takashi Iwai Date: Mon Sep 20 14:56:32 2010 +0200 ALSA: hda - Fix up autocfg output pin numbers in realtek parser When quirks are applied, the numbers of output pins in autocfg aren't set up properly but only pin arrays are changed. Let's fix it up so that the rest of the parser can use autocfg.line_outs & co safely. Signed-off-by: Takashi Iwai commit 8d1235852b462cfb66aa036bd4a2686763c69ed4 Author: Steven Whitehouse Date: Fri Sep 17 12:30:23 2010 +0100 GFS2: Make . and .. qstrs constant Rather than calculating the qstrs for . and .. each time we need them, its better to keep a constant version of these and just refer to them when required. Signed-off-by: Steven Whitehouse Reviewed-by: Christoph Hellwig commit 9fa0ea9f26f64fbfc3dfd51d1dc2c230b65ffb19 Author: Steven Whitehouse Date: Mon Sep 13 16:23:00 2010 +0100 GFS2: Use new workqueue scheme The recovery workqueue can be freezable since we want it to finish what it is doing if the system is to be frozen (although why you'd want to freeze a cluster node is beyond me since it will result in it being ejected from the cluster). It does still make sense for single node GFS2 filesystems though. The glock workqueue will benefit from being able to run more work items concurrently. A test running postmark shows improved performance and multi-threaded workloads are likely to benefit even more. It needs to be high priority because the latency directly affects the latency of filesystem glock operations. The delete workqueue is similar to the recovery workqueue in that it must not get blocked by memory allocations, and may run for a long time. Potentially other GFS2 threads might also be converted to workqueues, but I'll leave that for a later patch. Signed-off-by: Steven Whitehouse Acked-by: Tejun Heo commit 1fea7c25a05d388c0cdbe02cbdaf3a2e70885581 Author: Steven Whitehouse Date: Wed Sep 8 10:09:25 2010 +0100 GFS2: Update handling of DLM return codes to match reality GFS2's idea of which return codes it needs to handle was based upon those listed in dlm.h. Those didn't cover all the possible codes and listed some which never happen. This updates GFS2 to handle all the codes which can actually be returned from the DLM under various circumstances. Signed-off-by: Steven Whitehouse commit 7b5e3d5fcf0d6fce66050bd0313a7dc2ae4abc62 Author: Steven Whitehouse Date: Fri Sep 3 09:39:20 2010 +0100 GFS2: Don't enforce min hold time when two demotes occur in rapid succession Due to the design of the VFS, it is quite usual for operations on GFS2 to consist of a lookup (requiring a shared lock) followed by an operation requiring an exclusive lock. If a remote node has cached an exclusive lock, then it will receive two demote events in rapid succession firstly for a shared lock and then to unlocked. The existing min hold time code was triggering in this case, even if the node was otherwise idle since the state change time was being updated by the initial demote. This patch introduces logic to skip the min hold timer in the case that a "double demote" of this kind has occurred. The min hold timer will still be used in all other cases. A new glock flag is introduced which is used to keep track of whether there have been any newly queued holders since the last glock state change. The min hold time is only applied if the flag is set. Signed-off-by: Steven Whitehouse Tested-by: Abhijith Das commit fe08d5a89726675a920b0e9bbbe849c46b27a6e5 Author: Steven Whitehouse Date: Mon Aug 23 11:54:45 2010 +0100 GFS2: Fix whitespace in previous patch Removes the offending space Signed-off-by: Steven Whitehouse commit 3921120e757f9167f3fcd3a1781239824471b14d Author: Benjamin Marzinski Date: Fri Aug 20 00:21:02 2010 -0500 GFS2: fallocate support This patch adds support for fallocate to gfs2. Since the gfs2 does not support uninitialized data blocks, it must write out zeros to all the blocks. However, since it does not need to lock any pages to read from, gfs2 can write out the zero blocks much more efficiently. On a moderately full filesystem, fallocate works around 5 times faster on average. The fallocate call also allows gfs2 to add blocks to the file without changing the filesize, which will make it possible for gfs2 to preallocate space for the rindex file, so that gfs2 can grow a completely full filesystem. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 9a3f236d40a99ea8dca3df40d8ef67631057cad6 Author: Steven Whitehouse Date: Mon Aug 23 11:49:34 2010 +0100 GFS2: Add a bug trap in allocation code This adds a check to ensure that if we reach the block allocator that we don't try and proceed if there is no alloc structure hanging off the inode. This should only happen if there is a bug in GFS2. The error return code is distinctive in order that it will be easily spotted. Signed-off-by: Steven Whitehouse commit 820969f353587281d645735c83c7f07d606e67ba Author: Steven Whitehouse Date: Wed Aug 11 09:53:47 2010 +0100 GFS2: No longer experimental I think the time has arrvied to remove the experimental tag from GFS2. Signed-off-by: Steven Whitehouse commit a2e0f79939e09e74698564b88dee709db208e1e2 Author: Steven Whitehouse Date: Wed Aug 11 09:53:11 2010 +0100 GFS2: Remove i_disksize With the update of the truncate code, ip->i_disksize and inode->i_size are merely copies of each other. This means we can remove ip->i_disksize and use inode->i_size exclusively reducing the size of a GFS2 inode by 8 bytes. Signed-off-by: Steven Whitehouse commit ff8f33c8b30d7b7efdcf2548c7f6e64db6a89b29 Author: Steven Whitehouse Date: Wed Aug 11 09:37:53 2010 +0100 GFS2: New truncate sequence This updates GFS2's truncate code to use the new truncate sequence correctly. This is a stepping stone to being able to remove ip->i_disksize in favour of using i_size everywhere now that the two sizes are always identical. Signed-off-by: Steven Whitehouse Cc: Nick Piggin Cc: Christoph Hellwig commit 39a90865f07f05343c450e91a56578bb8f69c5e8 Author: Paul Mundt Date: Mon Sep 20 18:56:13 2010 +0900 sh: pci: Use a generic raw spinlock for PCI config access locking. This copies the pci_config_lock idea from x86 over, allowing us to kill off a couple of existing private locks. At the same time, these need to be converted to raw spinlocks for -rt kernels, so we make that change at the same time. This should make it easier for future parts to get the locking right instead of inevitable ending up with lock type mismatches. Signed-off-by: Paul Mundt commit c524ebf5a6b78d25219d64a05b3876cde719b5ff Author: Paul Mundt Date: Mon Sep 20 18:45:11 2010 +0900 sh: pci: clock framework support for SH7786 PCIe. This gets each port handling its MSTP bit, as well as moving the PHY clock management in to the clock framework. Signed-off-by: Paul Mundt commit 826ca0bd53f443c830630c1532bf142c4e0f7d13 Merge: 19f7ac5 9900daa Author: Liam Girdwood Date: Mon Sep 20 09:53:29 2010 +0100 Merge remote branch 'asoc/for-2.6.37' into for-2.6.37 commit 19f7ac5038dc11e1ee2c54bb411326d23b40ccff Author: Jarkko Nikula Date: Fri Sep 17 14:39:01 2010 +0300 ASoC: tlv320aic3x: Add virtual output pin Detection Purpose of this virtual Detection pin is to keep codec bias on whenever the GPIO or jack detection features are needed. Jack detection needs a mic bias so machine drivers can construct a following route for instance for keeping the path and codec bias on: "Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec. For the GPIO the machine driver can force the pin on with snd_soc_dapm_force_enable_pin. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 611ad378b302b931670c8671f9c4d64b52a7be00 Merge: 2c4ee9b b9fde18 Author: Liam Girdwood Date: Mon Sep 20 09:49:26 2010 +0100 Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37 commit cecf48e23fd9270053850643a56e8e791322e3d5 Author: Paul Mundt Date: Mon Sep 20 17:10:02 2010 +0900 sh: pci: Use I/O accessors consistently in SH7786 PCIe init code. Some of the existing code is flipping between __raw_xxx() and pci_{read,write}_reg(). As the latter are just wrappers for the former, flip over to using them consistently. Signed-off-by: Paul Mundt commit 298c926c6d7f50d91d6acb76c33b83bab5b5bd5c Author: Adrian Hoban Date: Mon Sep 20 16:05:12 2010 +0800 crypto: cryptd - Adding the AEAD interface type support to cryptd This patch adds AEAD support into the cryptd framework. Having AEAD support in cryptd enables crypto drivers that use the AEAD interface type (such as the patch for AEAD based RFC4106 AES-GCM implementation using Intel New Instructions) to leverage cryptd for asynchronous processing. Signed-off-by: Adrian Hoban Signed-off-by: Tadeusz Struk Signed-off-by: Gabriele Paoloni Signed-off-by: Aidan O'Mahony Signed-off-by: Herbert Xu commit 84eb01be18df7012ac31bf678da5aaf1accc6a77 Author: Takashi Iwai Date: Tue Sep 7 12:27:25 2010 +0200 ALSA: hda - Merge all HDMI modules into the unified module This patch merges all three patch_*hdmi variants to the single HDMI parser. There is only one snd-hda-codec-hdmi module now. In this patch, the behavior of each parser isn't changed much. The old ATI parser still doesn't use the dynamic parser yet. In later patches, they'll be cleaned up. Also, this patch gets rid of the individual snd-hda-eld module and builds into snd-hda-codec-hdmi, since this is referred only from the HDMI parser. Signed-off-by: Takashi Iwai commit bd792aea441a3dcdede462486ab8c63045803844 Author: Paul Mundt Date: Mon Sep 20 16:12:58 2010 +0900 sh: pci: Support ports with disabled links on SH7786 PCIe. Presently we error out if a link is disabled and simply drop the port registration outright. This follows the PPC changes and simply reports on the link state on boot, leaving the port registered, in order to more easily deal with hotplug on future parts. Signed-off-by: Paul Mundt commit beb54ad9c6fb60901d9445056d40bdaccdc3e819 Author: Paul Mundt Date: Mon Sep 20 16:00:42 2010 +0900 sh: pci: Discard initial PCICONF4/5 settings for SH7786 PCIe. These settings are properly propagated by the hardware already, so there's no need to bother with them manually. Signed-off-by: Paul Mundt commit 2c65d75ec4dde5e619a462e70cdd7b67e0e64bb8 Author: Paul Mundt Date: Mon Sep 20 15:39:54 2010 +0900 sh: pci: Support root complex config accesses on SH7786 PCIe. The SH7786 PCIe is presently unable to enumerate itself in root complex mode, and has no visibility through either type 0 or type 1 accesses, despite having a mostly sensible extended config space for each port. Attempts to generate type 0 or type 1 config cycles result in completer aborts, so we're ultimately forced to use SuperHyway transactions instead. As each port has a single port <-> device mapping that resolves for any PCI_SLOT definition, we simply hijack devfn 0 for the SuperHyway transaction and bump up the devfn limit. With enumeration of the root complex now possible, we also need to insert an early fixup to hide the BARs from the kernel. With all of that done, it's now possible to use the pcieport services with all of the PCIe ports, which is the first step to power management support. Signed-off-by: Paul Mundt commit cabdf8bf488bfa3b565360b9fa1322d2db7747eb Author: Paul Mundt Date: Mon Sep 20 15:37:25 2010 +0900 sh: pci: Move Renesas PCI IDs to a better place. Previously these IDs were only used by one driver, so there was not much need for having them generically defined. Now that this will no longer hold true, move them over. Signed-off-by: Paul Mundt commit b51d92da4ebb52b61fdc99c911171562673e88ef Author: Simon Guinot Date: Sun Sep 19 15:33:59 2010 +0200 [ARM] Kirkwood: remove duplicated code in LaCie setup files Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 84712e9aa43862ded44e47acfaa93612a7eeaf7c Author: Simon Guinot Date: Sun Sep 19 15:33:58 2010 +0200 [ARM] Kirkwood: add LaCie d2 Network v2 support Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 709406494c0ed7da843bad624f6b16f9a2df4a6c Author: Eric Cooper Date: Wed Sep 15 10:49:41 2010 -0400 [ARM] Kirkwood: support for Seagate DockStar This patch adds support for the Seagate FreeAgent DockStar, a Marvell SheevaPlug variant. Signed-off-by: Eric Cooper Signed-off-by: Nicolas Pitre commit fd2ce9c59a63d1daec8d76d272eca5149fb8706a Author: Tanmay Upadhyay Date: Thu Aug 26 11:11:58 2010 +0530 [ARM] OpenRD: Enable SD/UART selection for serial port 1 This patch enables users to choose either the SDIO interface or UART1 (RS232/RS485). The selection can be done through kernel parameter. By default the port would be used for SDIO interface. Passing the string "kw_openrd_init_uart1=232" or "kw_openrd_init_uart1=485" enables either the RS-232 or RS-485 port respectively; disabling the SDIO interface. Anything else selects the default SDIO interface. "kw_openrd_init_uart1=485" is ignored on OpenRD-Base as it doesn't have RS485 port. Signed-off-by: Tanmay Upadhyay Acked-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 462fb2af9788a82a534f8184abfde31574e1cfa0 Author: Bandan Das Date: Sun Sep 19 09:34:33 2010 +0000 bridge : Sanitize skb before it enters the IP stack Related dicussion here : http://lkml.org/lkml/2010/9/3/16 Introduce a function br_parse_ip_options that will audit the skb and possibly refill IP options before a packet enters the IP stack. If no options are present, the function will zero out the skb cb area so that it is not misinterpreted as options by some unsuspecting IP layer routine. If packet consistency fails, drop it. Signed-off-by: Bandan Das Signed-off-by: David S. Miller commit aef3ea33e85035f7c827c1db9155f97f4b7ee725 Author: Dan Carpenter Date: Sat Sep 18 13:44:14 2010 +0000 rds: spin_lock_irq() is not nestable This is basically just a cleanup. IRQs were disabled on the previous line so we don't need to do it again here. In the current code IRQs would get turned on one line earlier than intended. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit f4fa7f3807d41b78056c6648b04bfadd737df21e Author: Dan Carpenter Date: Sat Sep 18 13:42:59 2010 +0000 rds: double unlock in rds_ib_cm_handle_connect() We unlock after we goto out. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 9b9d2e00bfa592aceda7b43da76c670df61faa97 Author: Dan Carpenter Date: Sat Sep 18 13:42:25 2010 +0000 rds: signedness bug In the original code if the copy_from_user() fails in rds_rdma_pages() then the error handling fails and we get a stack trace from kmalloc(). Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 0746556beab1a57f1afb5c9d6f393d98528ce682 Author: Dan Carpenter Date: Sun Sep 19 11:25:54 2010 -0700 bna: off by one The mod->mbhdlr[] array has BFI_MC_MAX elements. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 8f8f103d8466e627ecef7894248eb79407d9047c Author: Eric Dumazet Date: Sun Sep 19 11:24:02 2010 -0700 net: reorder struct netdev_hw_addr Move 'synced' and 'global_use' fields before 'refcount', to shrinks struct netdev_hw_addr by 8 bytes (on 64bit arches). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2ef13294d29bcfb306e0d360f1b97f37b647b0c0 Author: Artem Bityutskiy Date: Sun Sep 19 18:34:26 2010 +0300 UBIFS: introduce new flags for RO mounts Commit 2fde99cb55fb9d9b88180512a5e8a5d939d27fec "UBIFS: mark VFS SB RO too" introduced regression. This commit made UBIFS set the 'MS_RDONLY' flag in the VFS superblock when it switches to R/O mode due to an error. This was done to make VFS show the R/O UBIFS flag in /proc/mounts. However, several places in UBIFS relied on the 'MS_RDONLY' flag and assume this flag can only change when we re-mount. For example, 'ubifs_put_super()'. This patch introduces new UBIFS flag - 'c->ro_mount' which changes only when we re-mount, and preserves the way UBIFS was originally mounted (R/W or R/O). This allows us to de-initialize UBIFS cleanly in 'ubifs_put_super()'. This patch also changes all 'ubifs_assert(!c->ro_media)' assertions to 'ubifs_assert(!c->ro_media && !c->ro_mount)', because we never should write anything if the FS was mounter R/O. All the places where we test for 'MS_RDONLY' flag in the VFS SB were changed and now we test the 'c->ro_mount' flag instead, because it preserves the original UBIFS mount type, unlike the 'MS_RDONLY' flag. Signed-off-by: Artem Bityutskiy commit 09383498c5d35262e643bfdbae84826177a3c624 Author: Tejun Heo Date: Thu Sep 16 10:48:29 2010 +0200 workqueue: implement flush[_delayed]_work_sync() Implement flush[_delayed]_work_sync(). These are flush functions which also make sure no CPU is still executing the target work from earlier queueing instances. These are similar to cancel[_delayed]_work_sync() except that the target work item is flushed instead of cancelled. Signed-off-by: Tejun Heo commit baf59022c37d43f202e62d5130e4bac5e825b426 Author: Tejun Heo Date: Thu Sep 16 10:42:16 2010 +0200 workqueue: factor out start_flush_work() Factor out start_flush_work() from flush_work(). start_flush_work() has @wait_executing argument which controls whether the barrier is queued only if the work is pending or also if executing. As flush_work() needs to wait for execution too, it uses %true. This commit doesn't cause any behavior difference. start_flush_work() will be used to implement flush_work_sync(). Signed-off-by: Tejun Heo commit 401a8d048eadfbe1b1c1bf53d3b614fcc894c61a Author: Tejun Heo Date: Thu Sep 16 10:36:00 2010 +0200 workqueue: cleanup flush/cancel functions Make the following cleanup changes. * Relocate flush/cancel function prototypes and definitions. * Relocate wait_on_cpu_work() and wait_on_work() before try_to_grab_pending(). These will be used to implement flush_work_sync(). * Make all flush/cancel functions return bool instead of int. * Update wait_on_cpu_work() and wait_on_work() to return %true if they actually waited. * Add / update comments. This patch doesn't cause any functional changes. Signed-off-by: Tejun Heo commit 81dcaf6516d8bbd75b894862c8ae7bba04380cfe Author: Tejun Heo Date: Thu Sep 16 10:17:35 2010 +0200 workqueue: implement alloc_ordered_workqueue() alloc_ordered_workqueue() creates a workqueue which processes each work itemp one by one in the queued order. This will be used to replace create_freezeable_workqueue() and create_singlethread_workqueue(). Signed-off-by: Tejun Heo commit b9fde18c0582583cf12a4b1c02f621d3addd0a97 Author: Kuninori Morimoto Date: Fri Sep 17 13:48:32 2010 +0900 ASoC: fsi: Add fsi_dma_soft_push/pop function Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit c8fe2574cf860ace03785953878c4c7a0190d064 Author: Kuninori Morimoto Date: Fri Sep 17 13:48:17 2010 +0900 ASoC: fsi: modify noisy comment out Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit c79eab3ea4e6f769e35005bf77fb4d6acd9c18ea Author: Kuninori Morimoto Date: Fri Sep 17 13:48:05 2010 +0900 ASoC: fsi: Add fsi_dma_get_area Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit c6834dd2d20fe607d0a4a98e78a68614e4079492 Author: Guennadi Liakhovetski Date: Fri Sep 17 12:30:18 2010 +0200 ASoC: fix SIU driver breakage, occurred during the multi-component transition This patch fixes multiple bugs and a typo, occurred during the multi- component transition. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mark Brown commit 7d25d64441a8ce9fb8c0e1c889badb14d8af9370 Author: Guennadi Liakhovetski Date: Fri Sep 17 12:30:00 2010 +0200 sh: fix an SIU device name mismatch Recent ASoC changes unified all PCM names, fix the platform code to match. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mark Brown commit c54291de432954b99348449723f2ce2bfe102753 Author: Guennadi Liakhovetski Date: Fri Sep 17 12:29:46 2010 +0200 ASoC: fix compile breakage of the sh/siu driver The sh/siu ASoC driver doesn't compile because of a function defined static in the source and extern in a header. Remove the unneeded declaration in the header. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mark Brown commit 382e30200244a80358b65dcc63ccba4424bf752a Merge: d85a6d7 cbfa518 Author: Mark Brown Date: Sun Sep 19 16:03:16 2010 +0100 Merge branch 'for-2.6.36' into for-2.6.37 commit f8b63c184ad13cc8adc3dadb557d4fbc29f76e4d Author: Catalin Marinas Date: Mon Sep 13 15:59:07 2010 +0100 ARM: 6382/1: Remove superfluous flush_kernel_dcache_page() Since page cache pages are now considered 'dirty' by default, the cache flushing is handled via __flush_dcache_page() when a page gets mapped to user space. Highmem pages on VIVT systems are flushed during kunmap() and flush_kernel_dcache_page() was already a no-op in this case. ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE is still defined since ARM needs specific implementations for flush_kernel_vmap_range() and invalidate_kernel_vmap_range(). Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 85848dd7ab75fce1134856228582a8df522c91d9 Author: Catalin Marinas Date: Mon Sep 13 15:58:37 2010 +0100 ARM: 6381/1: Use lazy cache flushing on ARMv7 SMP systems ARMv7 processors like Cortex-A9 broadcast the cache maintenance operations in hardware. This patch allows the flush_dcache_page/update_mmu_cache pair to work in lazy flushing mode similar to the UP case. Note that cache flushing on SMP systems now takes place via the set_pte_at() call (__sync_icache_dcache) and there is no race with other CPUs executing code from the new PTE before the cache flushing took place. Tested-by: Rabin Vincent Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6012191aa9c6ffff3a23b81162298318b56d7cb3 Author: Catalin Marinas Date: Mon Sep 13 15:58:06 2010 +0100 ARM: 6380/1: Introduce __sync_icache_dcache() for VIPT caches On SMP systems, there is a small chance of a PTE becoming visible to a different CPU before the current cache maintenance operations in update_mmu_cache(). To avoid this, cache maintenance must be handled in set_pte_at() (similar to IA-64 and PowerPC). This patch provides a unified VIPT cache handling mechanism and implements the __sync_icache_dcache() function for ARMv6 onwards architectures. It is called from set_pte_at() and replaces the update_mmu_cache(). The latter is still used on VIVT hardware where a vm_area_struct is required. Tested-by: Rabin Vincent Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c01778001a4f5ad9c62d882776235f3f31922fdd Author: Catalin Marinas Date: Mon Sep 13 15:57:36 2010 +0100 ARM: 6379/1: Assume new page cache pages have dirty D-cache There are places in Linux where writes to newly allocated page cache pages happen without a subsequent call to flush_dcache_page() (several PIO drivers including USB HCD). This patch changes the meaning of PG_arch_1 to be PG_dcache_clean and always flush the D-cache for a newly mapped page in update_mmu_cache(). The patch also sets the PG_arch_1 bit in the DMA cache maintenance function to avoid additional cache flushing in update_mmu_cache(). Tested-by: Rabin Vincent Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 0fc73099dd25df2c5181b7bad57d1faa5cd12d3c Author: Catalin Marinas Date: Mon Sep 13 15:57:05 2010 +0100 ARM: 6378/1: Allow lazy cache flushing via PG_arch_1 for highmem pages Commit d73cd42 forced non-lazy cache flushing of highmem pages in flush_dcache_page(). This isn't needed since __flush_dcache_page() (called lazily from update_mmu_cache) can handle highmem pages (fixed by commit 7e5a69e). Signed-off-by: Catalin Marinas Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 4f724beace1be4ba3dbd1a75cff3940354e3ff4f Author: Sundar Iyer Date: Wed Sep 15 10:50:59 2010 +0100 ARM: 6392/1: ux500: add ab8500-regulators machine specific data From: Sundar R Iyer Reviewed-by: Mark Brown Acked-by: Linus Walleij Acked-by: Bengt JONSSON Signed-off-by: Sundar R Iyer Signed-off-by: Russell King commit 9d704c04ff8ae61b60935d67ce334b18fc70f1b2 Author: Sundar Iyer Date: Wed Sep 15 10:45:51 2010 +0100 ARM: 6391/1: ux500: add CPU hotplug support Acked-by: Linus Walleij Signed-off-by: Sundar Iyer Signed-off-by: Russell King commit f0a7a98d1d400e2a5fd9a63ed56d30d30f2864cb Author: Rabin Vincent Date: Mon Sep 13 13:04:02 2010 +0100 ARM: 6373/1: tc35892-gpio: add setup/remove callbacks For board-specific initialization. Cc: Samuel Ortiz Cc: linux-kernel@vger.kernel.org Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit f066439cfc37d498a06de76fcab8c21d4094ca64 Author: Rabin Vincent Date: Mon Sep 13 12:39:38 2010 +0100 ARM: 6372/1: ux500: add DB5500 DMA event lines Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit eaa7f2d50de08efcebb3909ad81fbd76220c9b95 Author: Rabin Vincent Date: Mon Sep 13 12:37:52 2010 +0100 ARM: 6371/1: ux500: add DB5500 pins Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 29aeb3cfeb88ecdb2febb5da247d0cf6a82f8831 Author: Linus Walleij Date: Mon Sep 6 22:15:08 2010 +0100 ARM: 6337/2: AB8500 I2C platform configuration and irq This patch adds the platform part of the AB8500 PRCMU I2C access driver. The old irq name AB4500 is changed to AB8500. Signed-off-by: Mattias Wallin Signed-off-by: Linus Walleij Signed-off-by: Russell King commit aa3090005d27f3c7fba915ccea36b97b669fa3ab Merge: 151b6a5 448352a Author: Russell King Date: Sun Sep 19 11:00:02 2010 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-tcc into devel-stable commit 81df84f4060f4f19c7e6f39c7c527a6098436a2a Author: Paul Mundt Date: Sun Sep 19 13:57:51 2010 +0900 sh: pci: Give SH7786 PHY some time to settle. The spec suggests waiting up to 500ms for the PHY to settle before testing link state, but practice shows that 100ms is sufficient (this is the delay value we also use on the other SH-4A PCI controllers, too). This makes device detection much more reliable, although in the future it should be a bit faster to simply serialize with a TLP IRQ. Signed-off-by: Paul Mundt commit bdf7499081fc3c521d0f8fc28c6950c7c9bd7e97 Author: Paul Mundt Date: Sun Sep 19 13:54:50 2010 +0900 sh: pci: Toggle configuration accesses on SH7786. After configuration accesses have been completed deassert the configuration access enable cleanly. Signed-off-by: Paul Mundt commit c62e3fae58198fc1f5d7922f84fe91b3fcf61177 Author: Paul Mundt Date: Sun Sep 19 13:51:15 2010 +0900 sh: pci: Use generic pci_enable_resources() for pcibios_enable_device(). Signed-off-by: Paul Mundt commit 15e408cd6ccc3f4f453d87ccd5bc7a84d59feb96 Author: Namhyung Kim Date: Tue Sep 14 21:43:48 2010 +0900 futex: Add lock context annotations queue_lock/unlock/me() and unqueue_me_pi() grab/release spinlocks but are missing proper annotations. Add them. Signed-off-by: Namhyung Kim Cc: Peter Zijlstra Cc: Darren Hart LKML-Reference: <1284468228-8723-3-git-send-email-namhyung@gmail.com> Signed-off-by: Thomas Gleixner commit a3c74c52570c0c4ac90c9a0216de800c39089ba7 Author: Namhyung Kim Date: Tue Sep 14 21:43:47 2010 +0900 futex: Mark restart_block.futex.uaddr[2] __user @uaddr and @uaddr2 fields in restart_block.futex are user pointers. Add __user and remove unnecessary casts. Signed-off-by: Namhyung Kim Cc: Peter Zijlstra Cc: Darren Hart LKML-Reference: <1284468228-8723-2-git-send-email-namhyung@gmail.com> Signed-off-by: Thomas Gleixner commit 1dcc41bb037533839753df983d31778b30b67d93 Author: Namhyung Kim Date: Tue Sep 14 21:43:46 2010 +0900 futex: Change 3rd arg of fetch_robust_entry() to unsigned int* Sparse complains: kernel/futex.c:2495:59: warning: incorrect type in argument 3 (different signedness) Make 3rd argument of fetch_robust_entry() 'unsigned int'. Signed-off-by: Namhyung Kim Cc: Peter Zijlstra Cc: Darren Hart LKML-Reference: <1284468228-8723-1-git-send-email-namhyung@gmail.com> Signed-off-by: Thomas Gleixner commit 995bd3bb5c78f3ff71339803c0b8337ed36d64fb Author: Thomas Gleixner Date: Wed Sep 15 15:11:57 2010 +0200 x86: Hpet: Avoid the comparator readback penalty Due to the overly intelligent design of HPETs, we need to workaround the problem that the compare value which we write is already behind the actual counter value at the point where the value hits the real compare register. This happens for two reasons: 1) We read out the counter, add the delta and write the result to the compare register. When a NMI or SMI hits between the read out and the write then the counter can be ahead of the event already 2) The write to the compare register is delayed by up to two HPET cycles in certain chipsets. We worked around this by reading back the compare register to make sure that the written value has hit the hardware. For certain ICH9+ chipsets this can require two readouts, as the first one can return the previous compare register value. That's bad performance wise for the normal case where the event is far enough in the future. As we already know that the write can be delayed by up to two cycles we can avoid the read back of the compare register completely if we make the decision whether the delta has elapsed already or not based on the following calculation: cmp = event - actual_count; If cmp is less than 8 HPET clock cycles, then we decide that the event has happened already and return -ETIME. That covers the above #1 and #2 problems which would cause a wait for HPET wraparound (~306 seconds). Signed-off-by: Thomas Gleixner Tested-by: Nix Tested-by: Artur Skawina Cc: Damien Wyart Tested-by: John Drescher Cc: Venkatesh Pallipadi Cc: Arjan van de Ven Cc: Andreas Herrmann Tested-by: Borislav Petkov Cc: Suresh Siddha LKML-Reference: commit a68e5c94f7d3dd64fef34dd5d97e365cae4bb42a Author: H. Peter Anvin Date: Fri Sep 17 17:06:46 2010 -0700 x86, hotplug: Move WBINVD back outside the play_dead loop On processors with hyperthreading, when only one thread is offlined the other thread can cause a spurious wakeup on the idled thread. We do not want to re-WBINVD when that happens. Ideally, we should simply skip WBINVD unless we're the last thread on a particular core to shut down, but there might be similar issues elsewhere in the system. Thus, revert to previous behavior of only WBINVD outside the loop. Partly as a result, remove the mb()'s around it: they are not necessary since wbinvd() is a serializing instruction, but they were intended to make sure the compiler didn't do any funny loop optimizations. Reported-by: Asit Mallick Signed-off-by: H. Peter Anvin Cc: Arjan van de Ven Cc: Len Brown Cc: Venkatesh Pallipadi Cc: Peter Zijlstra LKML-Reference: commit e6599c2ecf18002339fe81cde1fa83b37bf26290 Author: Eric Dumazet Date: Fri Sep 17 09:25:07 2010 +0000 bonding: enable gro by default gro can be enabled by default on bonding devices. Actual support depends on the lower devices. One can still use ethtool to switch off GRO if needed. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 07af7a2bfa853db3957a22f9a41f437bf0f10e63 Author: Ben Hutchings Date: Thu Sep 16 11:34:26 2010 +0000 ethtool: Add comments for valid use of flow types Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be2902daee80b655cebd482b5ee91ffc29408121 Author: Ben Hutchings Date: Thu Sep 16 11:28:07 2010 +0000 ethtool, ixgbe: Move RX n-tuple mask fixup to ethtool The ethtool utility does not set masks for flow parameters that are not specified, so if both value and mask are 0 then this must be treated as equivalent to a mask with all bits set. Currently that is done in the only driver that implements RX n-tuple filtering, ixgbe. Move it to the ethtool core. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3b27e105550f7c4a79ecb6d6a9c49c651c59ae9b Author: David Lamparter Date: Fri Sep 17 03:22:19 2010 +0000 netns: keep vlan slaves on master netns move previously, if a vlan master device was moved from one network namespace to another, all 802.1q and macvlan slaves were deleted. we can use dev->reg_state to figure out whether dev_change_net_namespace is happening, since that won't set dev->reg_state NETREG_UNREGISTERING. so, this changes 8021q and macvlan to ignore NETDEV_UNREGISTER when reg_state is not NETREG_UNREGISTERING. Signed-off-by: David Lamparter Reviewed-by: "Eric W. Biederman" Acked-by: Daniel Lezcano Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit b71c7aaa1e2a9858f0c469026098fbd6e046d7bb Author: Giuseppe CAVALLARO Date: Fri Sep 17 03:23:42 2010 +0000 stmmac: use one memset() to reset TDES01 Use one memset() to reset all TDES01 fields instead of one by one to reduce number of instructions. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit c629882ac73cab2cd41d9948caeed633fc570fc0 Author: Giuseppe CAVALLARO Date: Fri Sep 17 03:23:41 2010 +0000 stmmac: prevent dma init stuck in case of failures. Add a limit when perform the DMA reset procedure so, in case of problems (i.e. PHY reset failed) the Kernel won't hang on the stmmac DMA initialisation blocking the Kernels execution. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit ebbb293f8b3021ae2009fcb7cb3b8a52fb5fd06a Author: Giuseppe CAVALLARO Date: Fri Sep 17 03:23:40 2010 +0000 stmmac: consolidate and tidy-up the COE support The first version of the driver had hard-coded the logic for handling the checksum offloading. This was designed according to the chips included in the STM platforms where: o MAC10/100 supports no COE at all. o GMAC fully supports RX/TX COE. This is not good for other chip configurations where, for example, the mac10/100 supports the tx csum in HW or when the GMAC has no IPC. Thanks to Johannes Stezenbach; he provided me a first draft of this patch that only reviewed the IPC for the GMAC devices. This patch also helps on SPEAr platforms where the MAC10/100 can perform the TX csum in HW. Thanks to Deepak SIKRI for his support on this. In the end, GMAC devices for STM platforms have a bugged Jumbo frame support that needs to have the Tx COE disabled for oversized frames (due to limited buffer sizes). This information is also passed through the driver's platform structure. Signed-off-by: Giuseppe Cavallaro Signed-off-by: Johannes Stezenbach Signed-off-by: Deepak SIKRI Signed-off-by: David S. Miller commit dfb8fb96ae2b5126cd0c08c0ccd7c42e1f46568a Author: Giuseppe CAVALLARO Date: Fri Sep 17 03:23:39 2010 +0000 stmmac: add CSR Clock range selection This patch adds the CSR Clock range selection. Original patch from Johannes Stezenbach fixed the CSR in the stmmac_mdio. We agreed to provide this through the platform instead of. Also thanks to Johannes for having tested it on ARM. Signed-off-by: Giuseppe Cavallaro Signed-off-by: Johannes Stezenbach Signed-off-by: David S. Miller commit ea53069231f9317062910d6e772cca4ce93de8c8 Author: H. Peter Anvin Date: Fri Sep 17 15:39:11 2010 -0700 x86, hotplug: Use mwait to offline a processor, fix the legacy case The code in native_play_dead() has a number of problems: 1. We should use MWAIT when available, to put ourselves into a deeper sleep state. 2. We use the existence of CLFLUSH to determine if WBINVD is safe, but that is totally bogus -- WBINVD is 486+, whereas CLFLUSH is a much later addition. 3. We should do WBINVD inside the loop, just in case of something like setting an A bit on page tables. Pointed out by Arjan van de Ven. This code is based in part of a previous patch by Venki Pallipadi, but unlike that patch this one keeps all the detection code local instead of pre-caching a bunch of information. We're shutting down the CPU; there is absolutely no hurry. This patch moves all the code to C and deletes the global wbinvd_halt() which is broken anyway. Originally-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin Reviewed-by: Arjan van de Ven Cc: Len Brown Cc: Venkatesh Pallipadi Cc: Peter Zijlstra LKML-Reference: <20090522232230.162239000@intel.com> commit bc83cccc761953f878088cdfa682de0970b5561f Author: H. Peter Anvin Date: Fri Sep 17 15:36:40 2010 -0700 x86, mwait: Move mwait constants to a common header file We have MWAIT constants spread across three different .c files, for no good reason. Move them all into a common header file. Signed-off-by: H. Peter Anvin Reviewed-by: Arjan van de Ven Cc: Len Brown LKML-Reference: commit d3d4152a5d59af9e13a73efa9e9c24383fbe307f Author: Jeff Layton Date: Fri Sep 17 17:31:57 2010 -0400 nfs: make sillyrename an async operation A synchronous rename can be interrupted by a SIGKILL. If that happens during a sillyrename operation, it's possible for the rename call to be sent to the server, but the task exits before processing the reply. If this happens, the sillyrenamed file won't get cleaned up during nfs_dentry_iput and the server is left with a dangling .nfs* file hanging around. Fix this problem by turning sillyrename into an asynchronous operation and have the task doing the sillyrename just wait on the reply. If the task is killed before the sillyrename completes, it'll still proceed to completion. Signed-off-by: Jeff Layton Reviewed-by: Chuck Lever Signed-off-by: Trond Myklebust commit 779c51795bfb35c2403c924b9de90ca9356bc693 Author: Jeff Layton Date: Fri Sep 17 17:31:30 2010 -0400 nfs: move nfs_sillyrename to unlink.c ...since that's where most of the sillyrenaming code lives. A comment block is added to the beginning as well to clarify how sillyrenaming works. Also, make nfs_async_unlink static as nfs_sillyrename is the only caller. Signed-off-by: Jeff Layton Reviewed-by: Chuck Lever Signed-off-by: Trond Myklebust commit e8582a8b96f329083b4da29aa87bc43cc0d80dd1 Author: Jeff Layton Date: Fri Sep 17 17:31:06 2010 -0400 nfs: standardize the rename response container Right now, v3 and v4 have their own variants. Create a standard struct that will work for v3 and v4. v2 doesn't get anything but a simple error and so isn't affected by this. Signed-off-by: Jeff Layton Reviewed-by: Chuck Lever Signed-off-by: Trond Myklebust commit 920769f031a8aff87b66bdf49d1a0d0988241ef9 Author: Jeff Layton Date: Fri Sep 17 17:30:25 2010 -0400 nfs: standardize the rename args container Each NFS version has its own version of the rename args container. Standardize them on a common one that's identical to the one NFSv4 uses. Signed-off-by: Jeff Layton Reviewed-by: Chuck Lever Signed-off-by: Trond Myklebust commit 900f9ac9f12dc3dd6fc8e33e16df172eafcaead6 Author: Andreas Herrmann Date: Fri Sep 17 18:02:54 2010 +0200 x86, k8-gart: Decouple handling of garts and northbridges So far we only provide num_k8_northbridges. This is required in different areas (e.g. L3 cache index disable, GART). But not all AMD CPUs provide a GART. Thus it is useful to split off the GART handling from the generic caching of AMD northbridge misc devices. Signed-off-by: Andreas Herrmann LKML-Reference: <20100917160254.GC4958@loge.amd.com> Signed-off-by: H. Peter Anvin commit 3518dd14ca888085797ca8d3a9e11c8ef9e7ae68 Author: Andreas Herrmann Date: Fri Sep 17 18:07:45 2010 +0200 x86, cacheinfo: Fix dependency of AMD L3 CID L3 cache index disable code uses PCI accesses to AMD northbridge functions. Currently the code is #ifdef CONFIG_CPU_SUP_AMD. But it should be #if (defined(CONFIG_CPU_SUP_AMD) && defined(CONFIG_PCI)) which in the end is a dependency to K8_NB. Signed-off-by: Andreas Herrmann LKML-Reference: <20100917160744.GF4958@loge.amd.com> Signed-off-by: H. Peter Anvin commit 09f250ac8faefa9deb14854e4715a139ed99617b Author: Wey-Yi Guy Date: Mon Sep 13 08:08:18 2010 -0700 iwlagn: initialize both tx/rx prio boost parameters For config bt command, initialize both tx_prio_boost and rx_prio_boost to "0". Signed-off-by: Wey-Yi Guy commit b345f4da42da69f7136ea1b83ef38b3412e51b72 Author: Wey-Yi Guy Date: Mon Sep 13 07:51:03 2010 -0700 iwlagn: minor coex API changes Adding two new parameters in config bt API. these two parameters use the 3 reserved bytes, so there is no structure size changes. Make sure set both parameters to "zero" in order to preserve previous behavior. Signed-off-by: Wey-Yi Guy commit 1d270075be62fb8212bd5afebd0bab693759a1a0 Author: Wey-Yi Guy Date: Tue Sep 7 12:42:20 2010 -0700 iwlagn: correct naming for failure reply tx status For failure tx status 0x90 and 0x91, give the correct name to reflect the errors. Signed-off-by: Wey-Yi Guy commit 0b7e5e85b0317f06d92704a5be42cc101a552ab5 Author: Jay Sternberg Date: Wed Sep 8 09:42:35 2010 -0700 iwlwifi: corrections to debug output of ucode statistics remove duplicate header and clean up format so it is defined once making changes consolicated ensuring consistancy of output. no function change to date displayed. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit 95b49ed013c9a8856ce768d8d4a62acfc410f73d Author: Wey-Yi Guy Date: Sun Sep 5 10:49:45 2010 -0700 iwlagn: adding aggregated frame failure status to debugfs Addition to standard tx frame failure report, adding aggregated frame failure report to debugfs Signed-off-by: Wey-Yi Guy commit 814665fef7562b31d32e515c4d91b06c8b956560 Author: Wey-Yi Guy Date: Sun Sep 5 10:49:44 2010 -0700 iwlagn: keep track of aggregated tx frames failure counter When uCode completed the aggregated frames transmission attempt, it will send tx command response with aggregated frame status. Keep track of the failure counter which help indicate any transmission error condition. Signed-off-by: Wey-Yi Guy commit e1b3fa0c22625d985cc7f82b7f3aa90a6fc75c2f Author: Wey-Yi Guy Date: Sun Sep 5 10:49:43 2010 -0700 iwlagn: log aggregation tx command status For aggregated frames with block ack, different status flag will be used as part of tx command response. Signed-off-by: Wey-Yi Guy commit 54a9aa65f749673f851ef86481940394185c1b0e Author: Wey-Yi Guy Date: Sun Sep 5 10:49:42 2010 -0700 iwlagn: keep track of failure tx status Tx command response sent to host by uCode after completed the transmission attempt. The status parameter indicates whether the transmission was successful, or else why if failed. Here we keep the counters to help understand the different failure cases. Signed-off-by: Wey-Yi Guy commit 91835ba401189a81e5ad1f932f880d8eed8c9db2 Author: Wey-Yi Guy Date: Sun Sep 5 10:49:41 2010 -0700 iwlagn: keep track fail tx reason counter If uCode fail to transmit frame, it will send reply tx back to driver with failure status; keep the counters of each failure cases for debugging. Signed-off-by: Wey-Yi Guy commit a437fbb96fe4eab241f06bbd7c7c1070ccdb2544 Author: Wey-Yi Guy Date: Sun Sep 5 10:49:38 2010 -0700 iwlagn: add bt_status_read for 5150 Include bt_status_read function pointer for 5150 device Signed-off-by: Wey-Yi Guy commit 448352ae72ef1760c19631a728a3791c1efc52f2 Author: Thomas Gleixner Date: Fri Sep 17 20:27:30 2010 +0200 MAINTAINERS: Add ARM Telechips maintainer Signed-off-by: Thomas Gleixner commit 2aea73ce22b786039906be89b0ae191d4c016c1e Author: Hans J. Koch Date: Fri Sep 17 18:21:36 2010 +0200 ARM: Add board support for Telechips TCC8000-SDK board Add support for the Telechips TCC8000-SDK development board. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit 026cec6164901372c3a16b430cd405f0bb6a7c1f Author: Hans J. Koch Date: Fri Sep 17 18:20:11 2010 +0200 ARM: Add common platform devices for TCC8xxx SoCs This patch introduces a first set of platform devices for integrated peripherals of TCC8xxx processors. Drivers for these devices are available and will be posted in a second step. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit 8a41fa3b3c89e5bd3c69219ddeee268bdcce886c Author: Hans J. Koch Date: Fri Sep 17 18:18:57 2010 +0200 ARM: Basic IO mappings for mach-tcc8k Map the IO ranges of TCC8xxx peripherals. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit 3de7b517dfacf1deb0690dbac28f917643e49975 Author: Hans J. Koch Date: Fri Sep 17 18:17:42 2010 +0200 ARM: Add TCC8xxx system timer Add the system timer using clockevents with the internal TC32 timer. This also adds a clocksource using the same timer. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit e9268ef2252c2dfc7e2d0c435826768bb0e549ea Author: Hans J. Koch Date: Fri Sep 17 18:16:29 2010 +0200 ARM: Introduce plat-tcc irq framework Introduce lowlevel interrupt routines. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit da15797eaec795bc2a1a9adb441214a6f5ea07fc Author: Hans J. Koch Date: Fri Sep 17 18:15:11 2010 +0200 ARM: Add the clock framework for Telechips TCC8xxx processors. This adds definitions and low-level functions to handle clocks in TCC8xxx processors. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit 83ef3338a2ae5d5bd9f5f6803b900b8067660054 Author: Hans J. Koch Date: Fri Sep 17 18:13:56 2010 +0200 ARM: Introduce plat-tcc This patch introduces support for the tcc platform by creating an arch/arm/plat-tcc and arch/arm/mach-tcc8k directories and adding basic include files plus Kconfig and Makefile. Signed-off-by: "Hans J. Koch" Signed-off-by: Thomas Gleixner commit 67c9660831f6b6b76866a0838466c83765ffbbd3 Author: Eric Dumazet Date: Fri Sep 17 11:56:18 2010 -0700 ethtool: change ethtool_set_gro() to use ethtool_op_get_rx_csum To be able to switch on GRO on a device, ethtool_set_gro() checks this device provides a get_rx_csum() method. Some devices dont provide this method, while they do support RX checksumming. This patch allows bonding to support GRO : ethtool -K bond0 gro on Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b7e1b2039de3a028fba46fbaca58a45c23a417ec Author: Lech Perczak Date: Thu Sep 16 23:19:33 2010 +0200 HID: fix A4Tech RP-649 horizontal scrollwheel Enable fix for their horizontal scroll wheel behaviour, associate it with B8 hack. Signed-off-by: Lech Perczak Signed-off-by: Jiri Kosina commit 457e9d2233bdde5bb5577df3e2d4d48f84c67b66 Author: Amit Kumar Salecha Date: Thu Sep 16 19:14:43 2010 +0000 qlcnic: update version 5.0.10 Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 97f29d8236aa3612986e7e7179282ff460eba686 Author: Amit Kumar Salecha Date: Thu Sep 16 19:14:42 2010 +0000 qlcnic: remove fw version check Don't compare flash and file fw version. Allow to load old fw from file than flashed fw. If file fw is present, don't skip fw re-intialization. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit aec1e8452dc364cffd0333e5632ec482f6322593 Author: Amit Kumar Salecha Date: Thu Sep 16 19:14:41 2010 +0000 qlcnic: vlan lro support LRO + GRO + vlan rx accleration support, performance increases around 20% and cpu utilization reduces around 70% on vlan interface. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 5718d3b432757ac83f65c50dd61df9c1e0d88e61 Author: Amit Kumar Salecha Date: Thu Sep 16 19:14:40 2010 +0000 qlcnic: vlan gro support GRO support + vlan rx accleration, boost around 9% performance and reduces 25% of cpu utilization on vlan interface. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit d57906633efd58ccd93f056ed436ffde5cb31aa8 Author: Amit Kumar Salecha Date: Thu Sep 16 19:14:39 2010 +0000 qlcnic: support vlan rx accleration Implemented vlan rx accleration in driver. This helps in increasing significant performance and reduces cpu utilization with GRO and LRO. Eric Dumazet: "Its a bit strange you use dev_kfree_skb_any(skb) here." "We run in NAPI mode, so you can use dev_kfree_skb()." Amit: Done. Using dev_kfree_skb(); Signed-off-by: Amit Kumar Salecha Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 045d3fe766b01921e24e2d4178e011b3b09ad4d6 Author: Martin K. Petersen Date: Fri Sep 10 01:22:07 2010 -0400 [SCSI] sd: Update thin provisioning support Add support for the Thin Provisioning VPD page and use the TPU and TPWS bits to switch between UNMAP and WRITE SAME(16) for discards. If no TP VPD page is present we fall back to old scheme where the max descriptor count combined with the max lba count are used trigger UNMAP. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 2b484297e48c3fbb1846fc6ea10036d9465273e7 Author: Trond Myklebust Date: Fri Sep 17 10:56:51 2010 -0400 NFS: Add an 'open_context' element to struct nfs_rpc_ops Signed-off-by: Trond Myklebust commit c0204fd2b8fe047b18b67e07e1bf2a03691240cd Author: Trond Myklebust Date: Fri Sep 17 10:56:51 2010 -0400 NFS: Clean up nfs4_proc_create() Remove all remaining references to the struct nameidata from the low level NFS layers. Again pass down a partially initialised struct nfs_open_context when we want to do atomic open+create. Signed-off-by: Trond Myklebust commit 535918f14176396646b5547b7d1353c932f24f5e Author: Trond Myklebust Date: Fri Sep 17 10:56:51 2010 -0400 NFSv4: Further cleanups for nfs4_open_revalidate() Signed-off-by: Trond Myklebust commit b8d4caddd871758ffa156be51b4c8be82fea470d Author: Trond Myklebust Date: Fri Sep 17 10:56:51 2010 -0400 NFSv4: Clean up nfs4_open_revalidate Remove references to 'struct nameidata' from the low-level open_revalidate code, and replace them with a struct nfs_open_context which will be correctly initialised upon success. Signed-off-by: Trond Myklebust commit f46e0bd34ec002d0727761da52b8fd47f06d4440 Author: Trond Myklebust Date: Fri Sep 17 10:56:50 2010 -0400 NFSv4: Further minor cleanups for nfs4_atomic_open() Signed-off-by: Trond Myklebust commit cd9a1c0e5ac681871d64804f82291649e2a0accb Author: Trond Myklebust Date: Fri Sep 17 10:56:50 2010 -0400 NFSv4: Clean up nfs4_atomic_open Start moving the 'struct nameidata' dependent code out of the lower level NFS code in preparation for the removal of open intents. Instead of the struct nameidata, we pass down a partially initialised struct nfs_open_context that will be fully initialised by the atomic open upon success. Signed-off-by: Trond Myklebust commit 859d5024f450686ad0a42ed3c06f2fa20295c9e6 Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 SUNRPC: Remove rpcb_getport_sync() Clean up: rpcb_getport_sync() has no more users, so remove it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 306a075362a288683f6346185f97dd0e06df19da Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 NFS: Allow NFSROOT debugging messages to be enabled dynamically As a convenience, introduce a kernel command line option to enable NFSROOT debugging messages. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8d2321037896aa4868a67f45b2d6ed52b579a48a Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 NFS: Clean up nfsroot.c Clean up: now that mount option parsing for nfsroot is handled in fs/nfs/super.c, remove code in fs/nfs/nfsroot.c that is no longer used. This includes code that constructs the legacy nfs_mount_data structure, and code that does a MNT call to the server. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 56463e50d1fc3f070492434cea6303b35ea000de Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 NFS: Use super.c for NFSROOT mount option parsing Replace duplicate code in NFSROOT for mounting an NFS server on '/' with logic that uses the existing mainline text-based logic in the NFS client. Add documenting comments where appropriate. Note that this means NFSROOT mounts now use the same default settings as v2/v3 mounts done via mount(2) from user space. vers=3,tcp,rsize=,wsize= As before, however, no version/protocol negotiation with the server is done. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 60ac03685bf513f9d9b6e8e098018b35309ed326 Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 NFS: Clean up NFSROOT command line parsing Clean up: To reduce confusion, rename nfs_root_name as nfs_root_parms, as this buffer contains more than just the name of the remote server. Introduce documenting comments around nfs_root_setup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ed58b2917be24fc8603128e32d50a1378afe66e1 Author: Chuck Lever Date: Fri Sep 17 10:54:37 2010 -0400 NFS: Remove \t from mount debugging message During boot, a random character is displayed instead of a tab. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2680d722bf2c5f75225dd9acb3ec9e5a9e2652f4 Author: Artem Bityutskiy Date: Fri Sep 17 16:44:28 2010 +0300 UBIFS: introduce new flag for RO due to errors The R/O state may have various reasons: 1. The UBI volume is R/O 2. The FS is mounted R/O 3. The FS switched to R/O mode because of an error However, in UBIFS we have only one variable which represents cases 1 and 3 - 'c->ro_media'. Indeed, we set this to 1 if we switch to R/O mode due to an error, and then we test it in many places to make sure that we stop writing as soon as the error happens. But this is very unclean. One consequence of this, for example, is that in 'ubifs_remount_fs()' we use 'c->ro_media' to check whether we are in R/O mode because on an error, and we print a message in this case. However, if we are in R/O mode because the media is R/O, our message is bogus. This patch introduces new flag - 'c->ro_error' which is set when we switch to R/O mode because of an error. It also changes all "if (c->ro_media)" checks to "if (c->ro_error)" checks, because this is what the checks actually mean. We do not need to check for 'c->ro_media' because if the UBI volume is in R/O mode, we do not allow R/W mounting, and now writes can happen. This is guaranteed by VFS. But it is good to double-check this, so this patch also adds many "ubifs_assert(!c->ro_media)" checks. In the 'ubifs_remount_fs()' function this patch makes a bit more changes - it fixes the error messages as well. Signed-off-by: Artem Bityutskiy commit d85a6d7bdc4eb88b31ca3c276ee5f0f1c8696795 Author: Dzianis Kahanovich Date: Fri Sep 17 16:42:05 2010 +0300 ASoC: Add device table to SH FSI driver Signed-off-by: Dzianis Kahanovich [Modified to move the location of the table] Signed-off-by: Mark Brown commit f68b3b291d39f1e3361b194a95459f9cbdaf31e6 Author: Takashi Iwai Date: Fri Sep 17 14:45:14 2010 +0200 ALSA: hda - Check the external mic pin more strictly for Conexant chips The external mic jack for auto-mic switch must be really an external jack and with a presense-detection capability. This patch makes the check more paranoia. Signed-off-by: Takashi Iwai commit 99ae28bea984df4c38234eb6d2f29a552def6c1b Author: Takashi Iwai Date: Fri Sep 17 14:42:34 2010 +0200 ALSA: hda - Make snd_hda_get_input_pin_attr() helper Make the helper function to give the input-pin attribute for jack connectivity and location. This simplifies checks of input-pin jacks a bit in some places. Signed-off-by: Takashi Iwai commit 3575792e005dc9994f15ae72c1c6f401d134177d Author: Julian Anastasov Date: Fri Sep 17 14:18:16 2010 +0200 ipvs: extend connection flags to 32 bits - the sync protocol supports 16 bits only, so bits 0..15 should be used only for flags that should go to backup server, bits 16 and above should be allocated for flags not sent to backup. - use IP_VS_CONN_F_DEST_MASK as mask of connection flags in destination that can be changed by user space - allow IP_VS_CONN_F_ONE_PACKET to be set in destination Signed-off-by: Julian Anastasov Signed-off-by: Patrick McHardy commit e9d2b064149ff7ef4acbc65a1b9374ac8b218d3e Author: Peter Zijlstra Date: Fri Sep 17 11:28:50 2010 +0200 perf: Undo the per cpu-context timer stuff Revert the timer per cpu-context timers because of unfortunate nohz interaction. Fixing that would have been somewhat ugly, so go back to driving things from the regular tick. Provide a jiffies interval feature for people who want slower rotations. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian Cc: Robert Richter Cc: Yinghai Lu LKML-Reference: <20100917093009.519845633@chello.nl> Signed-off-by: Ingo Molnar commit 917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7 Author: Peter Zijlstra Date: Fri Sep 17 11:28:49 2010 +0200 perf: Fix perf_event_exit_cpu_context() Use the right cpu-context.. spotted by preempt warning on hot-unplug Signed-off-by: Peter Zijlstra Cc: Stephane Eranian Cc: Robert Richter LKML-Reference: <20100917093009.461794357@chello.nl> Signed-off-by: Ingo Molnar commit b04243ef7006cda301819f54ee7ce0a3632489e3 Author: Peter Zijlstra Date: Fri Sep 17 11:28:48 2010 +0200 perf: Complete software pmu grouping Aside from allowing software events into a !software group, allow adding !software events to pure software groups. Once we've moved the software group and attached the first !software event, the group will no longer be a pure software group and hence no longer be eligible for movement, at which point the straight ctx comparison is correct again. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian Cc: Robert Richter Cc: Paul Mackerras LKML-Reference: <20100917093009.410784731@chello.nl> Signed-off-by: Ingo Molnar commit d14b12d7adbf214f33eb59f800b5c3d5ed9268e8 Author: Stephane Eranian Date: Fri Sep 17 11:28:47 2010 +0200 perf_events: Fix broken event grouping Events were not grouped anymore. The reason was that in perf_event_open(), the field event->group_leader was initialized before the function looked up the group_fd to find the event leader. This patch fixes this by reordering the code correctly. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Robert Richter LKML-Reference: <20100917093009.360420946@chello.nl> Signed-off-by: Ingo Molnar commit 5637edb2e1c2d13b276748508ae17f319fb7f066 Author: David Henningsson Date: Fri Sep 17 10:58:03 2010 +0200 ALSA: HDA: Sort CXT5066 quirk table It was just a boring day. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 1feba3b7367b333c3fc7deba638a3a1068f22932 Author: David Henningsson Date: Fri Sep 17 10:52:50 2010 +0200 ALSA: HDA: Fix spelling (change VOSTO to VOSTRO) It was just a boring day. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 41c89ef3aafea5f35601fa75edba90e7417f604e Author: Takashi Iwai Date: Fri Sep 17 10:26:37 2010 +0200 ALSA: hda - Fix mic attribute check for internal mics Now Windows claims that the BIOS sets pins for internal mics to be BOTH connection instead of FIXED. Signed-off-by: Takashi Iwai commit 9907790aa06bfc04bf78b445e732ea10039c61e4 Author: Charles Chin Date: Fri Sep 17 10:22:32 2010 +0200 ALSA: hda - Fix automatic MIC switching and include dock MIC for IDT codecs Signed-off-by: Charles Chin Signed-off-by: Takashi Iwai commit 6d0aed7a38d06284db2a0e46c0a072b0c1c3299b Author: Jens Axboe Date: Fri Sep 17 10:00:46 2010 +0200 do_mounts: only enable PARTUUID for CONFIG_BLOCK When CONFIG_BLOCK is not enabled: init/do_mounts.c:71: error: implicit declaration of function 'dev_to_part' init/do_mounts.c:71: warning: initialization makes pointer from integer without a cast init/do_mounts.c:73: error: dereferencing pointer to incomplete type init/do_mounts.c:76: error: dereferencing pointer to incomplete type init/do_mounts.c:76: error: dereferencing pointer to incomplete type init/do_mounts.c:102: error: implicit declaration of function 'part_pack_uuid' init/do_mounts.c:104: error: 'block_class' undeclared (first use in this function) Reported-by: Randy Dunlap Signed-off-by: Jens Axboe commit 3ee48b6af49cf534ca2f481ecc484b156a41451d Author: Cliff Wickman Date: Thu Sep 16 11:44:02 2010 -0500 mm, x86: Saving vmcore with non-lazy freeing of vmas During the reading of /proc/vmcore the kernel is doing ioremap()/iounmap() repeatedly. And the buildup of un-flushed vm_area_struct's is causing a great deal of overhead. (rb_next() is chewing up most of that time). This solution is to provide function set_iounmap_nonlazy(). It causes a subsequent call to iounmap() to immediately purge the vma area (with try_purge_vmap_area_lazy()). With this patch we have seen the time for writing a 250MB compressed dump drop from 71 seconds to 44 seconds. Signed-off-by: Cliff Wickman Cc: Andrew Morton Cc: kexec@lists.infradead.org Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit 74704ac6ea402d50c9543cb28247e6d9f521f7ae Author: Jean Pihet Date: Tue Sep 7 09:21:32 2010 +0200 tracing, perf: Add more power related events This patch adds new generic events for dynamic power management tracing: - clock events class: used for clock enable/disable and for clock rate change, - power_domain events class: used for power domains transitions. The OMAP architecture will be using the new events for PM debugging, however the new events are made generic enough to be used by all platforms. Signed-off-by: Jean Pihet Acked-by: Thomas Renninger Cc: discuss@lesswatts.org Cc: linux-pm@lists.linux-foundation.org Cc: Thomas Renninger Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Len Brown Cc: Kevin Hilman LKML-Reference: Signed-off-by: Ingo Molnar commit 0c796f91a518480fd6696ba2affed1167e840823 Author: Dan Rosenberg Date: Thu Sep 16 22:34:26 2010 -0700 drivers/net/tulip/de4x5.c: fix union member name in DE4X5_GET_REG ioctl This was previously reported as a security issue due to leakage of uninitialized stack memory. Jeff Mahoney pointed out that this is incorrect since the copied data is from a union (rather than a struct). Therefore, this patch is only under consideration for the sake of correctness, and is not security relevant. Signed-off-by: Dan Rosenberg Acked-by: Grant Grundler Signed-off-by: David S. Miller commit cd13539b8bc9ae884e6d8d9374c594adff4304e4 Author: Eric Dumazet Date: Thu Sep 16 02:58:13 2010 +0000 net: shrinks struct net_device commit ab95bfe01 (net: replace hooks in __netif_receive_skb) added rx_handler at wrong place, between two cache line aligned objects, creating a big hole (a full cache line) Move rx_handler and rx_handler_data before rx_queue, filling existing hole. Move master field in the cache line(s) used in receive path. This saves 64 bytes (or L1_CACHE_BYTES), and avoids two possible cache misses in receive path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 94767632623c7bf5b16a0cf963ec93a8ad9acca4 Author: Eric Dumazet Date: Wed Sep 15 20:25:34 2010 +0000 ip6tnl: get rid of ip6_tnl_lock As RTNL is held while doing tunnels inserts and deletes, we can remove ip6_tnl_lock spinlock. My initial RCU conversion was conservative and converted the rwlock to spinlock, with no RTNL requirement. Use appropriate rcu annotations and modern lockdep checks as well. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit caeda9b926c608702c99f3432aae2c24298c3c1d Author: Stephen Rothwell Date: Thu Sep 16 21:39:16 2010 -0700 net: include inetdevice.h for rcu_dereference_raw api change rcu_dereference_raw() now needs to know the type of its argument. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit a36c61f9025b8924f99f54d518763bee7aa84085 Author: Krishna Gudipati Date: Wed Sep 15 11:50:55 2010 -0700 [SCSI] bfa: cleanup driver We have flattened the BFA hierarchy and also reduced the number of source and header files we used to have earlier. Signed-off-by: Krishna Gudipati Signed-off-by: James Bottomley commit edaed859e63aac174fcc3fed81886b91bb124661 Author: Swen Schillig Date: Wed Sep 8 14:40:01 2010 +0200 [SCSI] zfcp: Replace status modifier functions. Replace the zfcp_modify__status functions and its accompanying wrappers with dedicated status modifier functions. This eases code readability and maintenance. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c9ff5d0315231b133a43e5af842bc01fb474f0d7 Author: Christof Schmitt Date: Wed Sep 8 14:40:00 2010 +0200 [SCSI] zfcp: Remove duplicated code from zfcp_ccw_set_online The steps for setting the zfcp_adapter online are the same in zfcp_ccw_set_online and zfcp_ccw_activate. Remove the code duplication by calling zfcp_ccw_activate from zfcp_ccw_set_online. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a1ca48319a9aa1c5b57ce142f538e76050bb8972 Author: Christof Schmitt Date: Wed Sep 8 14:39:59 2010 +0200 [SCSI] zfcp: Move ACL/CFDC code to zfcp_cfdc.c Move the code evaluating the ACL/CFDC specific errors to the file zfcp_cfdc.c. With this change, all code related to the old access control feature is kept in one file, not split across zfcp_erp.c and zfcp_fsf.c. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c61b536c97f225a74cf430716fdb243dfafe9d48 Author: Christof Schmitt Date: Wed Sep 8 14:39:58 2010 +0200 [SCSI] zfcp: Reorder FCP I/O and task management handler functions Instead of calling the same handler for both, I/O and task management commands, use different handlers that call a function for the common part. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 44a24cb3731495336d77f3a955a7004997270dfd Author: Christof Schmitt Date: Wed Sep 8 14:39:57 2010 +0200 [SCSI] zfcp: Change spin_lock_bh to spin_lock_irq to fix lockdep warning With the change to use the data on the SCSI device, iterating through all LUNs/scsi_devices takes the SCSI host_lock. This triggers warnings from the lock dependency checker: ========================================================= [ INFO: possible irq lock inversion dependency detected ] 2.6.34.1 #97 --------------------------------------------------------- chchp/3224 just changed the state of lock: (&(shost->host_lock)->rlock){-.-...}, at: [<00000000003a73f4>] __scsi_iterate_devices+0x38/0xbc but this lock took another, HARDIRQ-unsafe lock in the past: (&(&qdio->req_q_lock)->rlock){+.-...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: [ 24.972394] 2 locks held by chchp/3224: #0: (&(sch->lock)->rlock){-.-...}, at: [<0000000000401efa>] do_IRQ+0xb2/0x1e4 #1: (&adapter->port_list_lock){.-....}, at: [<0000000000490302>] zfcp_erp_modify_adapter_status+0x9e/0x16c [...] ========================================================= [ INFO: possible irq lock inversion dependency detected ] 2.6.34.1 #98 --------------------------------------------------------- chchp/3235 just changed the state of lock: (&(shost->host_lock)->rlock){-.-...}, at: [<00000000003a73f4>] __scsi_iterate_devices+0x38/0xbc but this lock took another, HARDIRQ-unsafe lock in the past: (&(&qdio->stat_lock)->rlock){+.-...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: 2 locks held by chchp/3235: #0: (&(sch->lock)->rlock){-.-...}, at: [<0000000000401efa>] do_IRQ+0xb2/0x1e4 #1: (&adapter->port_list_lock){.-.-..}, at: [<00000000004902f6>] zfcp_erp_modify_adapter_status+0x9e/0x16c [...] To stop this warning, change the request queue lock to disable irqs, not only softirq. The changes are required only outside of the critical "send fcp command" path. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f8210e34887e1feb977a9b6b8caa086855af40c9 Author: Christof Schmitt Date: Wed Sep 8 14:39:56 2010 +0200 [SCSI] zfcp: Allow midlayer to scan for LUNs when running in NPIV mode Enable the LUN scanning mechanism in the SCSI midlayer: - Do not set the disable_target_scan bit in the FC transport class. - Set max_lun to 0xFFFFFFFF to allow the midlayer scan to include the two-level hierachical LUNs (like 0x40XX40XX00000000, but in SCSI midlayer LUN format). - Set max_id to a high value to allow triggering the SCSI device rescan from sysfs. When running in NPIV mode, zfcp accepts all LUNs in slave_attach. When running in non-NPIV mode, the list of zfcp_unit structs determines which SCSI devices are allowed on the current system. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b62a8d9b45b971a67a0f8413338c230e3117dff5 Author: Christof Schmitt Date: Wed Sep 8 14:39:55 2010 +0200 [SCSI] zfcp: Use SCSI device data zfcp_scsi_dev instead of zfcp_unit This is the large change to switch from using the data in zfcp_unit to zfcp_scsi_dev. Keeping everything working requires doing the switch in one piece. To ensure that no code keeps using the data in zfcp_unit, this patch also removes the data from zfcp_unit that is now being replaced with zfcp_scsi_dev. For zfcp, the scsi_device together with zfcp_scsi_dev exist from the call of slave_alloc to the call of slave_destroy. The data in zfcp_scsi_dev is initialized in zfcp_scsi_slave_alloc and the LUN is opened; the final shutdown for the LUN is run from slave_destroy. Where the scsi_device or zfcp_scsi_dev is needed, the pointer to the scsi_device is passed as function argument and inside the function converted to the pointer to zfcp_scsi_dev; this avoids back and forth conversion betweeen scsi_device and zfcp_scsi_dev. While changing the function arguments from zfcp_unit to scsi_device, the functions names are renamed form "unit" to "lun". This is to have a seperation between zfcp_scsi_dev/LUN and the zfcp_unit; only code referring to the remaining configuration information in zfcp_unit struct uses "unit". Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit fdbd1c5e27dabfa950d4b0f52a20069aeaf67b9d Author: Christof Schmitt Date: Wed Sep 8 14:39:54 2010 +0200 [SCSI] zfcp: Allow running unit/LUN shutdown without acquiring reference With the change for the LUN data to be part of the scsi_device, the slave_destroy callback will be the final call to the zfcp_erp_unit_shutdown function. The erp tries to acquire a reference to run the action asynchronously and fail, if it cannot get the reference. But calling scsi_device_get from slave_destroy will fail, because the scsi_device is already in the state SDEV_DEL. Introduce a new call into the zfcp erp to solve this: The function zfcp_erp_unit_shutdown_wait will close the LUN and wait for the erp to finish without acquiring an additional reference. The wait allows to omit the reference; the caller waiting for the erp to finish already has a reference that holds the struct in place. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit e4b9857fe628b453983cac89473a11a76a1f5786 Author: Christof Schmitt Date: Wed Sep 8 14:39:53 2010 +0200 [SCSI] zfcp: Remove ZFCP_SYSFS_FAILED macro and implement fcp_lun_show without macro These sysfs attributes will require different functions. Implement them without using macros, so that the open coded functions can be changed later. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 1daa4eb50fa5cd4c8f9c55452606e786fd42053b Author: Christof Schmitt Date: Wed Sep 8 14:39:52 2010 +0200 [SCSI] zfcp: Move code for managing zfcp_unit devices to new file Move the code for managing zfcp_unit devices to the new file zfcp_unit.c. This is in preparation for the change that zfcp_unit will only track the LUNs configured via unit_add, other data will be moved from zfcp_unit to the new struct zfcp_scsi_dev. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 57c237731b92fadc7d44824276313ec330b1989b Author: Christof Schmitt Date: Wed Sep 8 14:39:51 2010 +0200 [SCSI] zfcp: Add zfcp private struct as SCSI device driver data Add a new data structure zfcp_scsi_dev that holds zfcp private data for each SCSI device. Use scsi_transport_reserve_device to let the SCSI midlayer automatically allocate this with each SCSI device. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d99e5f488ae28d9dfccc84435f4fd29bd1fe1b9b Author: Brian King Date: Thu Sep 9 16:20:42 2010 -0500 [SCSI] ibmvfc: Log link up/down events By default, ibmvfc does not log any async events in order to avoid flooding the log with them. Improve on this by logging by default events that are not likely to flood the log, such as link up/down. Having these events in the log will improve the ability to debug issues with ibmvfc. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e6a4202aa920a25db76f0e02dabe133179293ec0 Author: Shyam Sundar Date: Tue Sep 7 20:55:32 2010 -0700 [SCSI] qla2xxx: ROM lock recovery if fw hangs while holding the lock. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 6de76cfc7db8844bc26ab9a60b20f50ad7851833 Author: Thomas Gleixner Date: Tue Sep 7 14:32:47 2010 +0000 [SCSI] aacraid: semaphore cleanup Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead. Signed-off-by: Thomas Gleixner Cc: aacraid@adaptec.com Signed-off-by: James Bottomley commit 9b906779568f009b53254a15b283b53ae4570b93 Author: Nicholas Bellinger Date: Mon Sep 6 17:24:28 2010 -0700 [SCSI] scsi_debug: Convert to use root_device_register() and root_device_unregister() This patch updates the scsi_debug virtual LLD to use root_device_register() and root_device_unregister() from include/linux/device.h instead of device_register() and device_unregister() respectively within scsi_debug_init() and scsi_debug_exit() This simply involved converting the static struct device pseudo_primary into a pointer that is setup by the call to root_device_register(). This patch also contains the correct IS_ERR() conditional check of root_device_register() from within scsi_debug_init(). Thanks to Richard Sharpe and Dmitry Torokhov for their help with this item. Signed-off-by: Nicholas A. Bellinger Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 26e34e9e15aa48e9375ea4e97bc4234ad995b7c8 Author: Dan Carpenter Date: Thu Sep 16 20:13:47 2010 +0200 ALSA: usb/mixer: remove bogus cast "uinfo->value.enumerated.item" is an unsigned int. If it's negative when we do the comparison: if ((int)uinfo->value.enumerated.item >= cval->max) then we would read past the end of the array on the next line. I also changed the strcpy() to strlcpy() out of paranoia. Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit 008443def34db1dcc8016763587a288254ea5735 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:36 2010 -0400 ath9k: fix regression which disabled ps on ath9k The patch titled "ath9k: Add new file init.c" shuffled some code around but in dong so for some reason also removed the revision check for disablign power save. Add this revision check again so we can get power save re-enabled again by default on cards newer than AR5416 and AR5418. $ git describe --contains 556242049cc3992d0ee625e9f15c4b00ea4baac8 v2.6.34-rc1~233^2~49^2~343 This patch has fixes for stable kernels [2.6.34+]. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3fac6dfdcd2b893c22b20a03dd1bf1af8b627c4b Author: Senthil Balasubramanian Date: Thu Sep 16 15:12:35 2010 -0400 ath9k: fix regression which prevents chip sleep after CAB data The patch: commit 293dc5dfdbcc16cde06e40a688394cc8ab083e48 Author: Gabor Juhos Date: Fri Jun 19 12:17:48 2009 +0200 ath9k: remove ath_rx_ps_back_to_sleep helper This helper only clears the SC_OP_WAIT_FOR_{BEACON,CAB} flags. Remove it and clear these flags directly in the approptiate places instead. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville introduced a regression which forgot to lift the beacon flag after we received all broadcast and multicast data. This meant we never went to sleep consuming about ~650mW on idle. This pretty much broke power save completely. This patch has fixes for stable kernels [2.6.32+]. Cc: stable@kernel.org Cc: Paul Stewart Cc: Sameer Nanda Cc: Gabor Juhos Cc: Amod Bodas Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f01a067d9e4598c71e3c9ee3a84859d2e8af4f8e Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:34 2010 -0400 mac80211: send last 3/5 probe requests as unicast Some buggy APs do not respond to unicast probe requests or send unicast probe requests very delayed so in the worst case we should try to send broadcast probe requests, otherwise we can get disconnected from these APs. Even if drivers do not have filters to disregard probe responses from foreign APs mac80211 will only process probe responses from our associated AP for re-arming connection monitoring. We need to do this since the beacon monitor does not push back the connection monitor by design so even if we are getting beacons from these type of APs our connection monitor currently relies heavily on the way the probe requests are received on the AP. An example of an AP affected by this is the Nexus One, but this has also been observed with random APs. We can probably optimize this later by using null funcs instead of probe requests. For more details refer to: http://code.google.com/p/chromium-os/issues/detail?id=5715 This patch has fixes for stable kernels [2.6.35+]. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3bc3c0d748402e8c1f31b8569f5924d25d7b8e30 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:33 2010 -0400 mac80211: disable beacon monitor while going offchannel The beacon monitor should be disabled when going off channel to prevent spurious warnings and triggering connection deterioration work such as sending probe requests. Re-enable the beacon monitor once we come back to the home channel. This patch has fixes for stable kernels [2.6.34+]. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d3a910a8e4e846b9a767d35483f4dc7c6de7af82 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:32 2010 -0400 mac80211: make the beacon monitor available externally This will be used by other components next. The beacon monitor was added as of 2.6.34 so these fixes are applicable only to kernels >= 2.6.34. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4730d5977f3e12b828d354f7752cffd94bdf39e5 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:31 2010 -0400 mac80211: reset connection idle when going offchannel When we go offchannel mac80211 currently leaves alive the connection idle monitor. This should be instead postponed until we come back to our home channel, otherwise by the time we get back to the home channel we could be triggering unecesary probe requests. For APs that do not respond to unicast probe requests (Nexus One is a simple example) this means we essentially get disconnected after the probes fails. This patch has stable fixes for kernels [2.6.35+] Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0c699c3a75d4e8d0d2c317f83048d8fd3ffe692a Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:30 2010 -0400 mac80211: reset probe send counter upon connection timer reset Upon beacon loss we send probe requests after 30 seconds of idle time and we wait for each probe response 1/2 second. We send a total of 3 probe requests before giving up on the AP. In the case that we reset the connection idle monitor we should reset the probe requests count to 0. Right now this won't help in any way but the next patch will. This patch has fixes for stable kernel [2.6.35+]. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit be099e82e9cf6d5d65d044e9ef6fc8bee3c7a113 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:29 2010 -0400 mac80211: add helper for reseting the connection monitor This will be used in another place later. The connection monitor was added as of 2.6.35 so these fixes will be applicable to >= 2.6.35. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 48a6a468198aadb54bc5d3fdd065364d43ff5197 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:28 2010 -0400 ath9k: fix enabling ANI / tx monitor after bg scan ath9k's entire logic with SC_OP_SCANNING is incorrect due to the way mac80211 currently implements the scan complete callback and we handle it in ath9k. This patch removes the flag completely in preference for the SC_OP_OFFCHANNEL which is really what we wanted. The scanning flag was used to ensure we reset ANI to the old values when we go back to the home channel, but if we are offchannel we use some defaults. The flag was also used to re-enable the TX monitor. Without this patch we simply never re-enabled ANI and the TX monitor after going offchannel. This means that after one background scan we are prone to noise issues and if we had a TX hang we would not recover. To get this to work properly we must enable ANI after we have configured the beacon timers, otherwise hardware acts really oddly. This patch has stable fixes which apply down to [2.6.36+], there *may* be a to fix this on older kernels but requires a bit of work since this patch relies on the new mac80211 flag IEEE80211_CONF_OFFCHANNEL which was introduced as of 2.6.36. Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 52b8ac92496e03d6b5619204d7f3bae6ce6eae45 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:27 2010 -0400 ath9k: fix regression on beacon loss after bgscan When we return to the home channel we were never reseting our beacon timers, this was casued by the fact that the scanning flag was still on even after we returned to our home channel. There are also other reasons why we would get a reset and if we are not off channel we always need to resynch our beacon timers, because a reset will clear them. This bug is a regression introduced on 2.6.36. The order of the changes are as follows: 5ee08656 - Sat Jul 31 - ath9k: prevent calibration during off-channel activity a0daa0e7 - Tue Jul 27 - Revert "mac80211: fix sw scan bracketing" 543708be - Fri Jun 18 - mac80211: fix sw scan bracketing mcgrof@tux ~/linux-2.6-allstable (git::master)$ git describe \ --contains 5ee0865615f65f84e6ee9174771a6716c29e08e1 v2.6.36-rc1~43^2~34^2~22 mcgrof@tux ~/linux-2.6-allstable (git::master)$ git describe \ --contains a0daa0e7592ada797d6835f11529097aabc27ad2 v2.6.36-rc1~571^2~64^2~13 mcgrof@tux ~/linux-2.6-allstable (git::master)$ git describe \ --contains 543708be320d7df692d24b349ca01a947b340764 v2.6.36-rc1~571^2~107^2~187 So 5ee08656 would have worked if a0daa0e7 was not committed but it was so this means 5ee08656 was broken since it assumed that when we were in the channel change routine the scan flag would be lifted. As it turns out the scan flag will be set when we are already on the home channel. For more details refer to: http://code.google.com/p/chromium-os/issues/detail?id=5715 These issues will need to be considered for our solution on reshifting the scan complete callback location on mac80211 on current development kernel work. This patch has stable fixes which apply down to [2.6.36+] Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8ab2cd09fecc8819bbaee2d0fd8f3a092d866ce3 Author: Luis R. Rodriguez Date: Thu Sep 16 15:12:26 2010 -0400 ath9k: fix power save race conditions ath9k has a race on putting the chip into network sleep and having registers read from hardware. The race occurs because although ath9k_ps_restore() locks its own callers it makes use of some variables which get altered in the driver at different code paths. The variables are the ps_enabled and ps_flags. This is easily reprodicible in large network environments when roaming with the wpa_supplicant simple bgscan. You'd get some 0xdeadbeef read out on certain registers such as: ath: timeout (100000 us) on reg 0x806c: 0xdeadbeef & 0x01f00000 != 0x00000000 ath: RX failed to go idle in 10 ms RXSM=0xdeadbeef ath: timeout (100000 us) on reg 0x7000: 0xdeadbeef & 0x00000003 != 0x00000000 ath: Chip reset failed The fix is to protect the ath9k_config(hw, IEEE80211_CONF_CHANGE_PS) calls with a spin_lock_irqsave() which will disable contendors for these variables from interrupt context, timers, re-entry from mac80211 on the same callback, and most importantly from ath9k_ps_restore() which is the only call which will put the device into network sleep. There are quite a few threads and bug reports on these a few of them are: https://bugs.launchpad.net/ubuntu/karmic/+source/linux/+bug/407040 http://code.google.com/p/chromium-os/issues/detail?id=5709 http://code.google.com/p/chromium-os/issues/detail?id=5943 Stable fixes apply to [2.6.32+] Cc: stable@kernel.org Cc: Paul Stewart Cc: Amod Bodas Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0f529e98498ff1a8bb264958b5fe7c0aa308d5dc Author: Rajkumar Manoharan Date: Thu Sep 16 19:56:55 2010 +0530 ath9k_htc: Fix register read through bulk pipe To optimize register read/write operations, the HTC firmwares were patched to change EP3 and EP4 pipe types from Interrupt to Bulk. So register writes are submitted as bulk urbs, but register reads are not. Also changing the register read endpoint pipe as bulk type when URBs are filled improves the register reads considerably which results in reduced scan time and CPU utilization. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2ca27bcff7127da1aa7dd39cd2a6f7cb187e327f Author: Johannes Berg Date: Thu Sep 16 14:58:23 2010 +0200 mac80211: add p2p device type support When a driver advertises p2p device support, mac80211 will handle it, but internally it will rewrite the interface type to STA/AP rather than P2P-STA/GO since otherwise a lot of paths need to be touched that are otherwise identical. A p2p boolean tells drivers whether or not a given interface will be used for p2p or not. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 074ac8df9f93f2a35a356d92fd7f16cd846f0a03 Author: Johannes Berg Date: Thu Sep 16 14:58:22 2010 +0200 cfg80211/nl80211: introduce p2p device types This adds P2P-STA and P2P-GO as device types so we can distinguish between those and normal STA or AP (respectively) type interfaces. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f799a301abf77b87133d624164d28dc2b521e99d Author: Rajkumar Manoharan Date: Thu Sep 16 11:40:06 2010 +0530 ath9k_hw: remove warning in ath9k_hw_def_get_num_ant_config This patch fixes following warning drivers/net/wireless/ath/ath9k/eeprom_def.c: In function 'ath9k_hw_def_get_num_ant_config' drivers/net/wireless/ath/ath9k/eeprom_def.c:1425:47: warning: comparison between 'enum ath9k_hal_freq_band' and 'enum ieee80211_band' Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 65a602dd536ce45814a118322a393b956ea797fb Author: John W. Linville Date: Wed Sep 15 15:40:12 2010 -0400 libertas: correct sparse warnings CHECK drivers/net/wireless/libertas/cfg.c drivers/net/wireless/libertas/cfg.c:493:19: warning: cast to restricted __le16 CHECK drivers/net/wireless/libertas/mesh.c drivers/net/wireless/libertas/mesh.c:577:16: warning: incorrect type in assignment (different base types) drivers/net/wireless/libertas/mesh.c:577:16: expected restricted __le32 [addressable] [assigned] [usertype] id drivers/net/wireless/libertas/mesh.c:577:16: got bool Signed-off-by: John W. Linville commit 9bad82b8ae0e96483507e09463d8520bcfa78cc3 Author: John W. Linville Date: Wed Sep 15 15:26:13 2010 -0400 ath9k: make ath_ant_div_conf_fast_divbias static CHECK drivers/net/wireless/ath/ath9k/recv.c drivers/net/wireless/ath/ath9k/recv.c:1341:6: warning: symbol 'ath_ant_div_conf_fast_divbias' was not declared. Should it be static? Signed-off-by: John W. Linville commit 20c956dfbeec823082054954b2443e736455418b Author: John W. Linville Date: Wed Sep 15 15:16:22 2010 -0400 iwlwifi: fix sparse warning about wrong enum for band parameter drivers/net/wireless/iwlwifi/iwl-scan.c:386:27: warning: mixing different enum types drivers/net/wireless/iwlwifi/iwl-scan.c:386:27: int enum nl80211_band versus drivers/net/wireless/iwlwifi/iwl-scan.c:386:27: int enum ieee80211_band drivers/net/wireless/iwlwifi/iwl-scan.c:435:57: warning: mixing different enum types drivers/net/wireless/iwlwifi/iwl-scan.c:435:57: int enum ieee80211_band versus drivers/net/wireless/iwlwifi/iwl-scan.c:435:57: int enum nl80211_band drivers/net/wireless/iwlwifi/iwl-scan.c:474:53: warning: mixing different enum types drivers/net/wireless/iwlwifi/iwl-scan.c:474:53: int enum ieee80211_band versus drivers/net/wireless/iwlwifi/iwl-scan.c:474:53: int enum nl80211_band drivers/net/wireless/iwlwifi/iwl-scan.c:588:72: warning: mixing different enum types drivers/net/wireless/iwlwifi/iwl-scan.c:588:72: int enum ieee80211_band versus drivers/net/wireless/iwlwifi/iwl-scan.c:588:72: int enum nl80211_band Signed-off-by: John W. Linville commit 2d2080c3c1d52e186166afc3efe5067291e618bf Author: Johannes Berg Date: Wed Sep 15 15:13:13 2010 +0200 mac80211: set running state earlier When an interface is brought up, the recent changes to allow changing type-while-up only set the running bit after everything was done. This broke a number of things, including idle calculation for monitor interfaces, and it also broke WDS station insertion (although nobody noticed yet). Thus, change the code to set the running bit earlier, but keep it after the driver's add_interface was called because otherwise drivers may iterate over interfaces they haven't fully set up yet. Reported-by: Rajkumar Manoharan Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 46a5ebaf02d69e26ee0f47a0b8d2d9bc619240d4 Author: Johannes Berg Date: Wed Sep 15 13:28:15 2010 +0200 cfg80211/mac80211: use lockdep_assert_held Instead of using a WARN_ON(!mutex_is_locked()) use lockdep_assert_held() which compiles away completely when lockdep isn't enabled, and also is a more accurate assertion since it checks that the current thread is holding the mutex. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5521b13880f4f4f612e1d20dd4f565122d16e04 Author: Johannes Berg Date: Tue Sep 14 22:06:53 2010 +0200 mac80211: use correct station flags lock This code is modifying the station flags, and as such should hold the flags lock so it can do so atomically vs. other flags modifications and readers. This issue was introduced when this code was added in eccb8e8f, as it used the wrong lock (thus not fixing the race that was previously documented in a comment.) Cc: stable@kernel.org [2.6.31+] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3905751243fd84340e027672d2f603e9009d490e Author: Ben Greear Date: Tue Sep 14 12:46:04 2010 -0700 ath9k: Print rxfilter in debugfs. Print raw and decoded rxfilter in debufs 'wiphy' file. Also, move variable-length printouts to bottom of file to make bounds checking easier. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit cfda669519241fccd5aa66c5a12bdae3dd04d5cd Author: Ben Greear Date: Tue Sep 14 12:00:22 2010 -0700 ath9k: calcrxfilter should take multiple VIFs into account. When there is more than one VIF, listen for all beacons and ensure ATH9K_RX_FILTER_MCAST_BCAST_ALL is set. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 040e539e8e8d5585e1c3d7d15fa7215d3a691258 Author: Bruno Randolf Date: Wed Sep 8 16:05:04 2010 +0900 ath9k: Use common ath key management functions Use key management functions which have been moved to ath/key.c and remove ath9k copies of these functions and other now unused definitions. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 781f3136ff4cdd2b33149f2295fefa21f77b1c56 Author: Bruno Randolf Date: Wed Sep 8 16:04:59 2010 +0900 ath5k: Use common crypt capabilities flags Replace ah_aes_support and ah_combined_mic with common ath_crypt_caps ATH_CRYPT_CAP_CIPHER_AESCCM and ATH_CRYPT_CAP_MIC_COMBINED. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 117675d06ad2dd16fcf466669ba9700a8d589ea3 Author: Bruno Randolf Date: Wed Sep 8 16:04:54 2010 +0900 ath/ath9k: Replace common->splitmic with a flag Replace common->splitmic with ATH_CRYPT_CAP_MIC_COMBINED flag. splitmic has to be used when the ATH_CRYPT_CAP_MIC_COMBINED capability flag is not set. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit d8878f83cf1cc0061e8b3bcf7dbd589410a51039 Author: Bruno Randolf Date: Wed Sep 8 16:04:49 2010 +0900 ath5k: Remove old ath5k key handling functions Remove the old ath5k key handling functions, since we now use the key management in ath common. Signed-off-by: Bruno Randolf Acked-by: Bob Copeland Signed-off-by: John W. Linville commit e0f8c2a9b879e1e65d588a40a3c88db69a7d6956 Author: Bruno Randolf Date: Wed Sep 8 16:04:43 2010 +0900 ath5k: Use common ath key management functions Use common ath key management functions in ath5k. This fixes problems with HW encryption in AP mode, which was broken in the ath5k implementation. Before (with the ath5k implementation) only one client could connect to the AP using HW encryption and WPA. When a second client connected, the first client was not able to send/receive any more packets. Because of the problems with HW encryption, software encryption was always used in AP mode, which resulted in a high CPU load (and/or low thruput) on embedded devices. Instead of trying to fix the implementation in ath5k it makes more sense to share the code with ath9k. This also enables HW encryption for AP mode again. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1bba5b7329e15555dab90071b24ca84d0afcc635 Author: Bruno Randolf Date: Wed Sep 8 16:04:38 2010 +0900 ath: Copy key cache management functions from ath9k to ath Copied the key cache management functions from ath9k (common.c and hw.c) to ath/key.c so we can use them from ath5k, later. Minor changes have been made: - renamed ath9k_* to ath_* - replaced ah->caps.keycache_size with common->keymax - removed ATH9K_IS_MIC_ENABLED since it is always true. - the AR_PCU_MIC_NEW_LOC_ENA flag is replaced with (splitmic == 0). Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 34a1305137f484ee1806df5a00b9d8ee8d4ef758 Author: Bruno Randolf Date: Wed Sep 8 16:04:33 2010 +0900 ath: Copy cryptographic capability flags into ath This will be used later in this patch series. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9c376639297d3dd82d40e54c9cdca8da9dfc22f1 Author: Joe Perches Date: Fri Aug 20 15:13:59 2010 -0700 include/net/cfg80211.h: wiphy_ messages use dev_printk The output becomes: [ 41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit dd3932eddf428571762596e17b65f5dc92ca361b Author: Christoph Hellwig Date: Thu Sep 16 20:51:46 2010 +0200 block: remove BLKDEV_IFL_WAIT All the blkdev_issue_* helpers can only sanely be used for synchronous caller. To issue cache flushes or barriers asynchronously the caller needs to set up a bio by itself with a completion callback to move the asynchronous state machine ahead. So drop the BLKDEV_IFL_WAIT flag that is always specified when calling blkdev_issue_* and also remove the now unused flags argument to blkdev_issue_flush and blkdev_issue_zeroout. For blkdev_issue_discard we need to keep it for the secure discard flag, which gains a more descriptive name and loses the bitops vs flag confusion. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 01ea50638bc04ca5259f5711fcdedefcdde1cf43 Author: Signed-off-by: Jan Kara Date: Thu Sep 16 20:36:36 2010 +0200 block: Fix race during disk initialization When a new disk is being discovered, add_disk() first ties the bdev to gendisk (via register_disk()->blkdev_get()) and only after that calls bdi_register_bdev(). Because register_disk() also creates disk's kobject, it can happen that userspace manages to open and modify the device's data (or inode) before its BDI is properly initialized leading to a warning in __mark_inode_dirty(). Fix the problem by registering BDI early enough. This patch addresses https://bugzilla.kernel.org/show_bug.cgi?id=16312 Cc: stable@kernel.org Reported-by: Larry Finger Signed-off-by: Jan Kara Signed-off-by: Jens Axboe commit b23909695c33f53df5f1d16696b1aa5b874c1904 Author: Changli Gao Date: Thu Sep 16 19:55:03 2010 +0200 netfilter: nf_conntrack: fix the hash random initializing race nf_conntrack_alloc() isn't called with nf_conntrack_lock locked, so hash random initializing code maybe executed more than once on different CPUs. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit ed0b6d7581b54455062f09ccac123814e70cd02f Author: Changli Gao Date: Thu Sep 16 19:47:51 2010 +0200 netfilter: nf_nat: no IP_NAT_RANGE_MAP_IPS flags when alloc_null_binding() When alloc_null_binding(), no IP_NAT_RNAGE_MAP_IPS in flags means no IP address translation is needed. It isn't necessary to specify the address explicitly. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit 99ad3c53b36a056a472927de9c79eda231ecc6fe Author: Changli Gao Date: Thu Sep 16 19:45:19 2010 +0200 netfilter: nf_nat_core: don't check if the tuple is used if there is no other choice Eliminate nf_nat_used_tuple() to save some CPU cycles when there is no other choice. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit 70a851667dbd7aa3f7be9609d6580ca9861230b3 Author: Changli Gao Date: Thu Sep 16 19:37:30 2010 +0200 netfilter: use NFPROTO_IPV4 instead of AF_INET The field family of xt_target should be NFPROTO_IPV4, though NFPROTO_IPV4 and AF_INET are the same. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit 30ea098fc000bb05081a1999269658f1a88af36a Author: Takashi Iwai Date: Thu Sep 16 18:47:56 2010 +0200 ALSA: hda - Fix input-pin setup for Realtek codecs Through the transition of autocfg to individual inputs array, I forgot to rewrite the argument passed to alc_set_input_pin(). This resulted in wrongly setup input pins. Fixed now. Signed-off-by: Takashi Iwai commit 5855fb8076e784a657bc2441cd29f166c7c1ea8c Author: Takashi Iwai Date: Thu Sep 16 18:24:02 2010 +0200 ALSA: hda - Fix initialization of secondary headphone and speaker The secondary or later headphones or speakers aren't initialized preoprly for some codecs. Signed-off-by: Takashi Iwai commit 31915ab4cbf507aadab40847cf9989da5e88b090 Author: Heiko Carstens Date: Thu Sep 16 14:42:25 2010 +0200 sched: Remove branch hints within context_switch() With 710390d9 "sched: Optimize branch hint in context_switch()" the branch hint logic within context_switch() got inversed. In fact the hints "if (likely(!mm))" and "if (likely(!prev->mm))" mean that it is likely that the previous and next task are kernel threads. That assumption is certainly counter intuitive, but Tim has shown that at least with his workload this is true. Nevertheless the truth is: it depends on the current workload. So just remove the annotations which also improves readability. Reported-by: Tim Blechmann Signed-off-by: Heiko Carstens Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100916124225.GA2209@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit 4c62ed9b554aa32180a5d697acc7ab8f774b549f Author: Kuninori Morimoto Date: Thu Sep 16 13:07:06 2010 +0900 ASoC: da7210: code clean up Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0ce75aa4fe845a8dbbf949cb31e15c06a503b860 Author: Kuninori Morimoto Date: Thu Sep 16 13:06:40 2010 +0900 ASoC: ak4642: code clean up Signed-off-by: Kuninori Morimoto Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 19c7ac27a1e6a37f5fb5810ad8ac780c62a204c4 Author: Mark Brown Date: Wed Sep 15 18:22:40 2010 +0100 ASoC: Add platform listing to debugfs List registered platforms in debugfs to improve debugability of machine drivers. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit f320878032be5c755509583c8a24b57d2ee50b20 Author: Mark Brown Date: Wed Sep 15 18:19:07 2010 +0100 ASoC: Add DAI list to debugfs Allow the user to inspect the list of registered DAIs at runtime to improve diagnostics for machine driver setup. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit c3c5a19a50866869996cc219aed2021acf091d6e Author: Mark Brown Date: Wed Sep 15 18:15:14 2010 +0100 ASoC: Add debugfs listing of registered CODECs Help with diagnostics for machine driver setup by listing all the registered CODECs in debugfs. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 1ec5584e3edf9c4bf2c88c846534d19cf986ba11 Author: Arnd Bergmann Date: Sun Aug 15 21:50:52 2010 +0200 libfs: use generic_file_llseek for simple_attr Simple attribute files need to be seekable to allow resetting the file for another read. Signed-off-by: Arnd Bergmann commit a0572d93c13d28cc25b2c286ec9378eeb4ddd46c Author: Arnd Bergmann Date: Sun Aug 15 18:32:42 2010 +0200 mac80211: disallow seeks in minstrel debug code No need for seek here, so let's just use nonseekable_open. Signed-off-by: Arnd Bergmann commit d9d2e9d5c9eead1f73f92f5fc03424dab90b6c95 Author: Arnd Bergmann Date: Sun Aug 15 18:51:56 2010 +0200 lirc: make chardev nonseekable There does not seem to be a need for lirc to allow seeking on the file descriptor, so let's just disallow this before users start relying on it. Signed-off-by: Arnd Bergmann commit aadbd4360911d7166dc04c5a4e5520b2c7914c73 Author: Arnd Bergmann Date: Tue Jul 6 23:11:07 2010 +0200 viotape: use noop_llseek Some applications try to seek on tape devices and fail if they return an error. Since we want to change the default llseek action to no_llseek, viotape needs to be changed to use noop_llseek explicitly. Signed-off-by: Arnd Bergmann commit cb3b9cf818070df1bf592b71275bcf99d8edefcb Author: Arnd Bergmann Date: Tue Jul 6 23:03:55 2010 +0200 raw: use explicit llseek file operations The raw_fops may need to seek, so there should be an explicit reference to default_llseek. raw_ctl_fops does not contain a read or write method, so we use noop_llseek to ignore seeking requests without an error. Signed-off-by: Arnd Bergmann commit 275bd41a6da179b4493171fa65eeeb2a9e47b316 Author: Arnd Bergmann Date: Tue Jul 6 22:54:51 2010 +0200 ibmasmfs: use generic_file_llseek The default for llseek will change to no_llseek, so ibmasmfs needs to add explicit .llseek assignments. Since we're dealing with regular files from a VFS perspective, use generic_file_llseek. Signed-off-by: Arnd Bergmann commit fe3b79dfdc34e562b8378fa958a503a2d5b077ff Author: Arnd Bergmann Date: Tue Jul 6 22:40:19 2010 +0200 spufs: use llseek in all file operations The default for llseek is changing, so we need explicit operations everywhere. Signed-off-by: Arnd Bergmann Cc: Jeremy Kerr Cc: linuxppc-dev@ozlabs.org commit c0b0aca0e0e8c479c43c1e126cddc5fc82b2803a Author: Arnd Bergmann Date: Tue Jul 6 19:16:33 2010 +0200 arm/omap: use generic_file_llseek in iommu_debug In future kernels, debugfs files need to specify the llseek operation explicitly to allow seeking. This sets the llseek operation in the omap iommu debugfs files to generic_file_llseek, which is appropriate for files using simple_read_from_buffer. Signed-off-by: Arnd Bergmann Cc: Tony Lindgren Cc: linux-omap@vger.kernel.org commit 05271ec424d526968d75b4dd9860f8078bcff0a6 Author: Arnd Bergmann Date: Tue Jul 6 19:10:26 2010 +0200 lkdtm: use generic_file_llseek in debugfs When the default llseek behavior gets changed to not allowing seek, all file operations that rely on the current behaviour need to use an explicit .llseek operation. The files that lkdtm uses in debugfs are regular files and they get read using simple_read_from_buffer, so generic_file_llseek is the right operation. Signed-off-by: Arnd Bergmann commit 2b18ab36cf7e956fb5b5ee12847e94fc66d496f4 Author: Arnd Bergmann Date: Tue Jul 6 19:05:31 2010 +0200 net/wireless: use generic_file_llseek in debugfs The default llseek operation is changing from default_llseek to no_llseek, so all code relying on the current behaviour needs to make that explicit. The wireless driver infrastructure and some of the drivers make use of generated debugfs files, so they cannot be converted by our script that automatically determines the right operation. All these files use debugfs and they typically rely on simple_read_from_buffer, so the best llseek operation here is generic_file_llseek. Signed-off-by: Arnd Bergmann Cc: "John W. Linville" Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org commit dc880abef75e7c62c9048171f5112500f36a9244 Author: Arnd Bergmann Date: Tue Jul 6 18:54:47 2010 +0200 drm: use noop_llseek The drm device drivers currently allow seeking on the character device but never care about the actual file position. When we change the default llseek operation to be no_llseek, calling llseek on a drm device would return an error condition, which is an API change. Explicitly setting noop_llseek lets us keep the current API. Signed-off-by: Arnd Bergmann Cc: David Airlie Cc: dri-devel@lists.freedesktop.org commit 4437ecdc7190302ed02fb1467c116aff29c325b2 Author: Peter Ujfalusi Date: Thu Sep 16 10:26:54 2010 +0300 ALSA: core: Allow card id change to the same string When user want to change the card id to the same string on the card via /sys/class/sound/cardX/id, do not report error. Instead return with success without doing anything. Signed-off-by: Peter Ujfalusi Signed-off-by: Takashi Iwai commit 0238a0d8c3846f5c1f9db0dabe504481751e58e8 Author: Paul Mundt Date: Thu Sep 16 17:16:31 2010 +0900 usb: Fix up r8a66597-hcd section mismatches. The _remove() routine is flagged __init_or_module, despite only being used in a __devexit context. As the rest of the driver is already balanced out with __devinit, switch to __devexit and __devexit_p() wrapping. Signed-off-by: Paul Mundt commit 25ab998e2eff46d2e6ede80c9fc02a349fa005a3 Author: Paul Mundt Date: Thu Sep 16 17:14:40 2010 +0900 mfd: Fix up section mismatches in SH SDHI. The current probe/remove definitions are split between __init and __devexit, make them consistent by switching to __devinit. Signed-off-by: Paul Mundt commit d71415e88447f31ec63026e69b64a7e99465b7f4 Author: Arnd Bergmann Date: Tue Sep 14 19:35:00 2010 +0000 sh: kill big kernel lock The only BKL user in arch/sh protects a single bit, so we can trivially replace it with test_and_set_bit. Signed-off-by: Arnd Bergmann Cc: Paul Mundt Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit 7c996361ef0d02ef8c1435902c909d14195adcdc Author: Yinghai Lu Date: Thu Sep 16 00:20:36 2010 -0700 arm, memblock: Fix the sparsemem build Stephen Rothwell reported this build failure: arch/arm/mm/init.c: In function 'arm_memory_present': arch/arm/mm/init.c:260: warning: ISO C90 forbids mixed declarations and code Caused by commit 719c1514f2 ("memblock/arm: Use new accessors") which forgot a closing brace on a new for_each_memblock() in arm_memory_present(). Reported-by: Stephen Rothwell Signed-off-by: Yinghai Lu Cc: Peter Zijlstra Cc: Benjamin Herrenschmidt Cc: Russell King LKML-Reference: <4C91C544.5050907@kernel.org> Signed-off-by: Ingo Molnar commit 2786c4e5e54802c34297e55050fef3e862a27b3f Author: Vivek Goyal Date: Wed Sep 15 17:06:38 2010 -0400 blkio: Documentation Update o Documentation update Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 8e89d13f4ede2467629a971618537430fafaaea3 Author: Vivek Goyal Date: Wed Sep 15 17:06:37 2010 -0400 blkio: Implementation of IOPS limit logic o core logic of implementing IOPS throttling. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 7702e8f45b0a3bb262b9366c60beb5445758d94c Author: Vivek Goyal Date: Wed Sep 15 17:06:36 2010 -0400 blk-cgroup: cgroup changes for IOPS limit support o cgroup changes for IOPS throttling rules. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit e43473b7f223ec866f7db273697e76c337c390f9 Author: Vivek Goyal Date: Wed Sep 15 17:06:35 2010 -0400 blkio: Core implementation of throttle policy o Actual implementation of throttling policy in block layer. Currently it implements READ and WRITE bytes per second throttling logic. IOPS throttling comes in later patches. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 4c9eefa16c6f124ffcc736cb719b24ea27f85017 Author: Vivek Goyal Date: Wed Sep 15 17:06:34 2010 -0400 blk-cgroup: Introduce cgroup changes for throttling policy o cgroup chagnes for throttle policy. o Introduces READ and WRITE bytes per second throttling rules. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 062a644d6121d5e2f51c0b2ca0cbc5155ebf845b Author: Vivek Goyal Date: Wed Sep 15 17:06:33 2010 -0400 blk-cgroup: Prepare the base for supporting more than one IO control policies o This patch prepares the base for introducing new IO control policies. Currently all the code is written knowing there is only one policy and that is proportional bandwidth. Creating infrastructure for newer policies to come in. o Also there were many functions which were generated using macro. It was very confusing. Got rid of those. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit af41d7bd9b685ab4e8f930627874ba4f4728e128 Author: Vivek Goyal Date: Wed Sep 15 17:06:32 2010 -0400 blk-cgroup: Kill the header printed at the start of blkio.weight_device file o Kill extra "dev weight" header which is printed when somebody reads blkio.weight_device file. This really seems to be out of convention. No other blkio files are printing any header at the start of file. I think it is ok to just print values and how to interpret values should be part of documentation. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 38b6f45a97bbb8536cc7d095b577f580bd4d643e Author: Jens Axboe Date: Thu Sep 16 08:33:54 2010 +0200 core: match_dev_by_uuid() should not be marked __init It is also called outside the scope of init functions. Stephen reports: WARNING: init/mounts.o(.text+0x21a): Section mismatch in reference from the function name_to_dev_t() to the function .init.text:match_dev_by_uuid() The function name_to_dev_t() references the function __init match_dev_by_uuid(). This is often because name_to_dev_t lacks a __init annotation or the annotation of match_dev_by_uuid is wrong. Reported-by: Stephen Rothwell Signed-off-by: Jens Axboe commit 8786fb70ccb36c7cff64680bb80c46d3a09d44db Author: Jens Axboe Date: Thu Sep 16 08:27:34 2010 +0200 aic7xxx_old: removed unused 'req' variable After the patch "block: remove spurious uses of REQ_HARDBARRIER", we no longer use 'req' in aic7xxx_buildscb(). Kill it. Reported-by: Stephen Rothwell Signed-off-by: Jens Axboe commit 2610a25406087ef797f4187e7f82dd04335056c7 Author: Namhyung Kim Date: Thu Sep 16 12:55:57 2010 +0900 sg: fix a warning in blk_rq_aligned() call 2nd argument of blk_rq_aligned() has changed to 'unsigned long' by the previous commit 'block: fix an address space warning in blk-map.c'. That commit neglected to update a user of that function. Signed-off-by: Namhyung Kim Signed-off-by: Jens Axboe commit f5854fad395b93071292bff27c0121b6e32215e0 Author: Dmitry Torokhov Date: Wed Sep 15 19:36:56 2010 -0700 Input: hid-input - allow mapping unknown usages Currently HID layer only allows to remap keycodes for known usages, and responds with -EINVAL when user tries to map new usage code. This precludes us form relying on udev/keymap for establishing correct mappings and forces us to write dummy HID drivers responsible only for setting up keymaps. Let's allow remapping not only usages that have been set up as keys (usage->type == EV_KEY) but also yet-unmapped usages (usage->type == 0). Acked-by: Jarod Wilson Acked-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 1f7930c55e1c1a2b6d5793a1002b31590356558c Author: Dmitry Torokhov Date: Wed Sep 15 19:36:34 2010 -0700 Input: ati_remote2 - switch to using new keycode interface Switch the code to use new style of getkeycode and setkeycode methods to allow retrieving and setting keycodes not only by their scancodes but also by index. Acked-by: Ville Syrjälä Tested-by: Jarod Wilson Tested-by: Ville Syrjälä Signed-off-by: Dmitry Torokhov commit 1a4e34e67c6de2385d9d493e69c0f6fce886b14d Author: Takashi Iwai Date: Thu Sep 16 07:42:34 2010 +0200 ALSA: usb-audio - Fix an unused-variable compile warning Used only when CONFIG_SND_DEBUG=y sound/usb/mixer.c: In function 'get_min_max': sound/usb/mixer.c:762: warning: unused variable 'chip' Reported-by: Andrew Morton Signed-off-by: Takashi Iwai commit 3b119f662d9054d734e3c74d662e7de6d7b35687 Author: Takashi Iwai Date: Wed Sep 15 15:53:50 2010 +0200 ALSA: hda - Add quirk for Acer laptop with CX20585 codec Its pin configuration is compatible with ideapad. Signed-off-by: Takashi Iwai commit b686453543fd56332e8730a2abd7bf5bca756149 Author: Takashi Iwai Date: Wed Sep 15 10:17:26 2010 +0200 ALSA: hda - Reduce pci id list for Intel with class id Most of Intel controllers work as generic HD-audio without quirks, and it'll be hopefully so in future. Let's mark pci id with the PCI_CLASS_MULTIMEDIA_HD_AUDIO for Intel so that the driver will work with any new control chips in future. Signed-off-by: Takashi Iwai commit f2e5731dfd3ba08b023d0626d36ccf78f54ab5e7 Author: Takashi Iwai Date: Wed Sep 15 10:07:08 2010 +0200 ALSA: hda - Preliminary support for new Conexant audio codecs This patch adds the preliminary support for new Conexant audio codecs with 14f1:5097, 14f1:5098, 14f1:50a1, 14f1:50a2, 14f1:50ab, 14f1:50ac, 14f1:50b8 and 14f1:50b9. Unlike other Conexant parsers, this is designed to be mostly automatic, parsing from BIOS pin configurations. Signed-off-by: Takashi Iwai commit c91925db4925ba0d145478f02c093369196936e9 Merge: 977ddd6 3894335 Author: Takashi Iwai Date: Thu Sep 16 07:33:21 2010 +0200 Merge branch 'fix/hda' into topic/hda commit 977ddd6b2e63716cfefe669bbdb30ec0bcea1fe4 Author: Kailang Yang Date: Wed Sep 15 10:02:29 2010 +0200 ALSA: hda - Set up COEFs for ALC269 to avoid click noises at power-saving For avoiding the click noises at power-saving, set some COEF values for ALC269* codecs. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 16c3ea785fe4a383c6675dfe7316f3c815755bdd Author: Brandon Philips Date: Wed Sep 15 09:24:24 2010 +0000 net: enable GRO by default for vlan devices Currently vlan devices don't have GRO by default as none of the Ethernet drivers add NETIF_F_GRO to their vlan_features. As GRO is a software feature add GRO to dev->vlan_features in register_netdevice() and let vlan_dev_init() take care that it gets enabled only when dev->features has NETIF_F_GRO too. Signed-off-by: Brandon Philips Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit b1cbd5f980863eb97f687baba95850c334c83a47 Author: Breno Leitao Date: Wed Sep 15 17:54:22 2010 +0000 ehea: Remove a silly return This patch removes the unconditional return in the end of the function check_sqs() Signed-off-by: Breno Leitao Signed-off-by: David S. Miller commit 1953925ea61cd1a77828deddc61d000303dbbb97 Author: stephen hemminger Date: Wed Sep 15 17:22:17 2010 +0000 sky2: enable GRO by default The driver has supported GRO for a while, but it was not enabled by default. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 95ae6b228f814fc0528d0506ee9f18ac333d6851 Author: Eric Dumazet Date: Wed Sep 15 04:04:31 2010 +0000 ipv4: ip_ptr cleanups dev->ip_ptr is protected by rtnl and rcu. Yet some places dont use appropriate primitives and/or locking rules. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9e0064a5456fd75fd7c70f6f3692c7f732f91a65 Author: David S. Miller Date: Wed Sep 15 21:34:41 2010 -0700 phonet: Fix build warning. net/phonet/socket.c: In function ‘pn_res_seq_show’: net/phonet/socket.c:726: warning: format ‘%02X’ expects type ‘unsigned int’, but argument 3 has type ‘long int’ Signed-off-by: David S. Miller commit 274a517ec13b3b47047b97a2e7c912138c9806e0 Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:30:15 2010 +0000 Phonet: resource routing documentation Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 507215f8d04f9e61f38c975e61d93bcafd30815f Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:30:14 2010 +0000 Phonet: list subscribed resources via proc_fs Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit b6a563b2af4ec5b0363cf89869ba234c0e2cd3da Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:30:13 2010 +0000 Phonet: look up the resource routing table when forwarding Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 7417fa83c1a8b75a03bd9b9b358999f38e771eab Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:30:12 2010 +0000 Phonet: hook resource routing to userspace via ioctl()'s I wish we could use something cleaner, such as bind(). But that would not work since resource subscription is orthogonal/in addition to the normal object ID allocated via bind(). This is similar to multicasting which also uses ioctl()'s. Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 4e3d16ce5e82648d7f4dfd28b6cf8fe2e9a9efc3 Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:30:11 2010 +0000 Phonet: resource routing backend When both destination device and object are nul, Phonet routes the packet according to the resource field. In fact, this is the most common pattern when sending Phonet "request" packets. In this case, the packet is delivered to whichever endpoint (socket) has registered the resource. This adds a new table so that Linux processes can register their Phonet sockets to Phonet resources, if they have adequate privileges. (Namespace support is not implemented at the moment.) Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 6482f554e2b9cbe733d63124765104f29cf0c9ad Author: RĂ©mi Denis-Courmont Date: Wed Sep 15 12:19:53 2010 +0000 Phonet: remove dangling pipe if an endpoint is closed early Closing a pipe endpoint is not normally allowed by the Phonet pipe, other than as a side after-effect of removing the pipe between two endpoints. But there is no way to prevent Linux userspace processes from being killed or suffering from bugs, so this can still happen. We might as well forcefully close Phonet pipe endpoints then. The cellular modem supports only a few existing pipes at a time. So we really should not leak them. This change instructs the modem to destroy the pipe if either of the pipe's endpoint (Linux socket) is closed too early. Signed-off-by: RĂ©mi Denis-Courmont Signed-off-by: David S. Miller commit 7fedd7e5dfeb0f6bd69ee120b5c44a5e49892e47 Merge: 1a19eb7 37efb03 Author: David S. Miller Date: Wed Sep 15 20:21:48 2010 -0700 Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6 commit 1a19eb753a591f8b39946b7fda91b25f07454835 Author: Arnd Bergmann Date: Tue Sep 14 09:35:05 2010 +0000 misdn: kill big kernel lock The use of the big kernel lock in misdn is completely bogus, so let's just remove it. Signed-off-by: Arnd Bergmann Cc: Karsten Keil Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 72250d44bc76d3d7fa9253aeeb063a467e2458fa Author: Arnd Bergmann Date: Tue Sep 14 09:35:04 2010 +0000 i4l: kill big kernel lock The isdn4linux driver uses the big kernel lock only to serialize access to a few fields in its own modem_info structure. The easiest replacement is a driver-wide mutex. More fine-grained locking would be more appropriate here, but likely harder to implement. Signed-off-by: Arnd Bergmann Cc: Karsten Keil Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 0a5f1d476aef43916abb2b8634ebff23ef2c05f6 Author: Arnd Bergmann Date: Tue Sep 14 10:22:36 2010 +0000 irda/irnet: use noop_llseek There may be applications trying to seek on the irnet character device, so we should use noop_llseek to avoid returning an error when the default llseek changes to no_llseek. Signed-off-by: Arnd Bergmann Cc: Samuel Ortiz Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 3a43be3c328ff42327da0b141de360dc4587aab7 Author: Eric Dumazet Date: Wed Sep 15 11:35:10 2010 +0000 sit: get rid of ipip6_lock As RTNL is held while doing tunnels inserts and deletes, we can remove ipip6_lock spinlock. My initial RCU conversion was conservative and converted the rwlock to spinlock, with no RTNL requirement. Use appropriate rcu annotations and modern lockdep checks as well. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1507850b400492fdedc3064d3b8db5e9a1c871e3 Author: Eric Dumazet Date: Wed Sep 15 11:07:53 2010 +0000 gre: get rid of ipgre_lock As RTNL is held while doing tunnels inserts and deletes, we can remove ipgre_lock spinlock. My initial RCU conversion was conservative and converted the rwlock to spinlock, with no RTNL requirement. Use appropriate rcu annotations and modern lockdep checks as well. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b7285b7912776a4492744949c747c88d539006fa Author: Eric Dumazet Date: Wed Sep 15 11:07:24 2010 +0000 ipip: get rid of ipip_lock As RTNL is held while doing tunnels inserts and deletes, we can remove ipip_lock spinlock. My initial RCU conversion was conservative and converted the rwlock to spinlock, with no RTNL requirement. Use appropriate rcu annotations and modern lockdep checks as well. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7dff59efbb0e8b0f81c95fd40379c0d0c757c808 Author: Eric Dumazet Date: Wed Sep 15 11:07:15 2010 +0000 net: add rtnl_dereference() We sometime want to dereference an rcu protected pointer while holding RTNL. Use a macro to hide all lockdep details. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fa47f7e52874683a9659df2f1f143105f676dc0f Author: Suresh Siddha Date: Fri Aug 27 11:09:50 2010 -0700 x86, x2apic: Simplify apic init in SMP and UP builds Move enable_IR_x2apic() inside the default_setup_apic_routing(), and for SMP platforms, move the default_setup_apic_routing() after smp_sanity_check(). This cleans up the code that tries to avoid multiple calls to default_setup_apic_routing() when smp_sanity_check() fails (which goes through the APIC_init_uniprocessor() path). Signed-off-by: Suresh Siddha LKML-Reference: <20100827181049.173087246@sbsiddha-MOBL3.sc.intel.com> Signed-off-by: H. Peter Anvin commit 62a92f4c69cd1d9361ad8c16be1dd16e6821bc15 Author: Suresh Siddha Date: Fri Aug 27 11:09:49 2010 -0700 x86, intr-remap: Remove IRTE setup duplicate code Remove IRTE setup duplicate code with prepare_irte(). Signed-off-by: Suresh Siddha LKML-Reference: <20100827181049.095067319@sbsiddha-MOBL3.sc.intel.com> Signed-off-by: H. Peter Anvin commit 75e3cfbed6f71a8f151dc6e413b6ce3c390030cb Author: Suresh Siddha Date: Fri Aug 27 11:09:48 2010 -0700 x86, intr-remap: Set redirection hint in the IRTE Currently the redirection hint in the interrupt-remapping table entry is set to 0, which means the remapped interrupt is directed to the processors listed in the destination. So in logical flat mode in the presence of intr-remapping, this results in a single interrupt multi-casted to multiple cpu's as specified by the destination bit mask. But what we really want is to send that interrupt to one of the cpus based on the lowest priority delivery mode. Set the redirection hint in the IRTE to '1' to indicate that we want the remapped interrupt to be directed to only one of the processors listed in the destination. This fixes the issue of same interrupt getting delivered to multiple cpu's in the logical flat mode in the presence of interrupt-remapping. While there is no functional issue observed with this behavior, this will impact performance of such configurations (<=8 cpu's using logical flat mode in the presence of interrupt-remapping) Signed-off-by: Suresh Siddha LKML-Reference: <20100827181049.013051492@sbsiddha-MOBL3.sc.intel.com> Cc: Weidong Han Cc: # [v2.6.32+] Signed-off-by: H. Peter Anvin commit 93f3b86fb1bd0ad7b4a5eb1ad1fdae2b290633b7 Author: Joel Becker Date: Wed Sep 15 17:00:58 2010 -0700 ocfs2: Initialize the bktcnt variable properly, and call it bucket_count Signed-off-by: Joel Becker commit c0e1a3e80dc030cd54f06416efbf9e439bf6ecb7 Author: Joel Becker Date: Wed Sep 15 16:56:54 2010 -0700 ocfs2: Silence unused warning. When CONFIG_OCFS2_DEBUG_MASKLOG is undefined, we don't use the dentry variable in ocfs2_sync_file(). Let's just move all access to the dentry inside the logging call. Signed-off-by: Joel Becker commit e0de7c93b950b9e784894efc4b529c6958cb747a Author: Ben Hutchings Date: Tue Sep 14 09:13:08 2010 +0000 ethtool: Remove unimplemented flow specification types struct ethtool_rawip4_spec and struct ethtool_ether_spec are neither commented nor used by any driver, so remove them. Adjust padding in the user-visible unions that included these structures. Fix references to struct ethtool_rawip4_spec in ethtool_get_rx_ntuple(), which should use struct ethtool_usrip4_spec. struct ethtool_usrip4_spec cannot hold IPv6 host addresses and there is no separate structure that can, so remove ETH_RX_NFC_IP6 and the reference to it in niu. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e035587305011432ee07f69f9738b3c7ef7f3684 Author: Ben Hutchings Date: Tue Sep 14 09:10:03 2010 +0000 ethtool: Complete kernel-doc comments for RX flow filter and hash control There are now several interfaces within the ethtool API for getting and setting RX flow filtering and hashing behaviour, most of which are poorly documented. This adds kernel-doc comments for all these interfaces, based on the existing incomplete comments and on the initial implementations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f833c4c181e4e948758b7b252322f50273100d30 Author: Matt Carlson Date: Wed Sep 15 09:00:01 2010 +0000 tg3: phy tmp variable roundup The tg3's phy routines define temporary variables in many locations within the same routine. This patch unifies all temporary variables into one location. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit a4a8bb15aed20ff74aa3ca14a4f2c0d62efd8391 Author: Matt Carlson Date: Wed Sep 15 09:00:00 2010 +0000 tg3: Dynamically allocate VPD data memory This patch eases stack pressure by dynamically allocating the memory used to temporarily store VPD data. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 02e96080af2b70313f2ffc8c1b03ae2f9d8c65ac Author: Matt Carlson Date: Wed Sep 15 08:59:59 2010 +0000 tg3: Use skb_is_gso_v6() This patch converts the driver to prefer the skb_is_gso_v6() helper over the explicit inlined version. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8fea32b9555726d35b91492d17fc21c7874d36f9 Author: Matt Carlson Date: Wed Sep 15 08:59:58 2010 +0000 tg3: Move producer ring struct to tg3_napi Now that each NAPI instance has its own producer ring, it no longer makes sense to keep the producer ring structure external. This patch migrates the producer ring struct to tg3_napi and pivots the code to the new implementation. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 6fd45cb814709767a1704b541aa91647b7f275cf Author: Matt Carlson Date: Wed Sep 15 08:59:57 2010 +0000 tg3: Clarify semantics of TG3_IRQ_MAX_VECS TG3_IRQ_MAX_VECS should be seen as the maximum number of vectors that any device could be expected to use. tp->irq_max represents the maximum number of vectors the current device can use. This patch clarifies the semantics of the code to match the above description. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 2e9f7a7408d264f01d4477c564ef5c6b610cd10f Author: Matt Carlson Date: Wed Sep 15 08:59:56 2010 +0000 tg3: Unlock 5717 B0+ support This patch adjusts the driver to use the tg3_start_xmit_dma_bug() transmit routine for all revisions of 5717 asic rev devices and then allows the driver to attach to B0 and later devices. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit dc6d074457f1551f9357f773a4eda09a3d5ef150 Author: Matt Carlson Date: Wed Sep 15 08:59:55 2010 +0000 tg3: Don't send APE events for NCSI firmware NCSI firmware does not accept APE events. It relies on a "driver state" location in shared memory to tell it what the driver's current state is. This patch pivots the code to use the new driver state scheme. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit f0392d24485e4c144d2741a5424f069b8b5f30e7 Author: Matt Carlson Date: Wed Sep 15 08:59:54 2010 +0000 tg3: Disable TSS It was recently discovered that enabling TSS can lockup the device. This patch disables the feature until a suitable workaround can be found. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 41a8a7ee4a78216962f3afcea5968c04d0ab3b08 Author: Matt Carlson Date: Wed Sep 15 08:59:53 2010 +0000 tg3: Fix read DMA FIFO overruns on recent devices Earlier versions of tg3 devices had a problem where the read DMA FIFO could be overrun in certain edge conditions. The fix was to limit the number of rx BDs the hardware would fetch at a time. For later devices (5761, 5784 and later ASIC revs), there is a hardware fix that must be enabled to fix the same problem. This patch adds that hardware fix. There is a gap in the ASIC revision lineage where neither fix is applied. This is intentional as these ASIC revisions are not afflicted by the bug. Reviewed-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 3661ca66a42e306aaf53246fb75aec1ea01be0f0 Author: Yinghai Lu Date: Wed Sep 15 13:05:29 2010 -0700 memblock: Fix section mismatch warnings Stephen found a bunch of section mismatch warnings with the new memblock changes. Use __init_memblock to replace __init in memblock.c and remove __init in memblock.h. We should not use __init in header files. Reported-by: Stephen Rothwell Tested-by: Stephen Rothwell Signed-off-by: Yinghai Lu Cc: Peter Zijlstra Cc: Benjamin Herrenschmidt LKML-Reference: <4C912709.2090201@kernel.org> Signed-off-by: Ingo Molnar commit 54066a57c584ee8ce767053116fc4943ed1168b5 Author: Arnd Bergmann Date: Mon Mar 22 20:55:11 2010 +0100 hpet: kill BKL, add compat_ioctl hpet uses the big kernel lock in its ioctl and open functions. Replace this with a private mutex to be sure. Since we're already touching the ioctl function, add the compat_ioctl version as well -- all commands except HPET_INFO are compatible and that one is easy to add. Signed-off-by: Arnd Bergmann Cc: Clemens Ladisch Cc: Bob Picco commit 609146fdb319cebce93be550938ab852f7bade90 Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 ipmi: autoconvert trivial BKL users to private mutex All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann Acked-by: Corey Minyard Cc: openipmi-developer@lists.sourceforge.net commit d851b6e04ee978b0c1b187bee682592aa72f22ea Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 mac: autoconvert trivial BKL users to private mutex All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org commit 5aa82940b23d0c6e4083d48e387a16b8ad530a47 Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 mtd: autoconvert trivial BKL users to private mutex All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann Cc: David Woodhouse Cc: linux-mtd@lists.infradead.org commit c45d15d24eb2b49bf734e1e5e7e103befb76b19b Author: Arnd Bergmann Date: Wed Jun 2 14:28:52 2010 +0200 scsi: autoconvert trivial BKL users to private mutex All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann Cc: linux-scsi@vger.kernel.org Cc: "James E.J. Bottomley" commit 0abee5260babe0a12d468b485a28336551697925 Author: Changli Gao Date: Wed Sep 15 19:24:50 2010 +0200 netfilter: nf_nat: add nf_nat_csum() Add a static function nf_nat_csum() to replace the duplicate code in nf_nat_mangle_udp_packet() and __nf_nat_mangle_tcp_packet(). Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit 6d6f8b832705ca82ee8176dd87a39a1a45268af8 Author: Dimitris Papastamos Date: Wed Sep 15 15:23:20 2010 +0100 ASoC: WM8985: Initial driver The WM8985 is a low power, high quality, feature-rich stereo CODEC designed for portable multimedia applications that require low power consumption and high quality audio. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 892df7f81c31ce7f85778aa78094e8d1f19b8413 Author: Udo van den Heuvel Date: Tue Sep 14 07:15:08 2010 +0200 x86: HPET force enable for CX700 / VIA Epia LT Allow using HPET with the hpet=force command line option on VIA EPIA CX700 systems. Signed-off-by: Udo van den Heuvel Cc: Robert Hancock LKML-Reference: <4C8F04DC.5060303@xs4all.nl> Signed-off-by: Thomas Gleixner commit b5af921ec02333e943efb59aca4f56b78fc0e100 Author: Will Drewry Date: Tue Aug 31 15:47:07 2010 -0500 init: add support for root devices specified by partition UUID This is the third patch in a series which adds support for storing partition metadata, optionally, off of the hd_struct. One major use for that data is being able to resolve partition by other identities than just the index on a block device. Device enumeration varies by platform and there's a benefit to being able to use something like EFI GPT's GUIDs to determine the correct block device and partition to mount as the root. This change adds that support to root= by adding support for the following syntax: root=PARTUUID=hex-uuid Signed-off-by: Will Drewry Signed-off-by: Jens Axboe commit eec7ecfede74bb996060efefd5c157acd5794e8a Author: Will Drewry Date: Tue Aug 31 15:47:06 2010 -0500 genhd, efi: add efi partition metadata to hd_structs This change extends the partition_meta_info structure to support EFI GPT-specific metadata and ensures that data is copied in on partition scanning. Signed-off-by: Will Drewry Signed-off-by: Jens Axboe commit 6d1d8050b4bc89d0165d29b58e894aeba2564a97 Author: Will Drewry Date: Tue Aug 31 15:47:05 2010 -0500 block, partition: add partition_meta_info to hd_struct I'm reposting this patch series as v4 since there have been no additional comments, and I cleaned up one extra bit of unneeded code (in 3/3). The patches are against Linus's tree: 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (2.6.36-rc3). Would this patchset be suitable for inclusion in an mm branch? This changes adds a partition_meta_info struct which itself contains a union of structures that provide partition table specific metadata. This change leaves the union empty. The subsequent patch includes an implementation for CONFIG_EFI_PARTITION-based metadata. Signed-off-by: Will Drewry Signed-off-by: Jens Axboe commit 9900daa81b9e668c28ecf568c714ee49090aa187 Author: Jarkko Nikula Date: Tue Sep 14 16:59:47 2010 +0300 ASoC: tlv320aic3x: Complete the soc-cache conversion Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch uses in aic3x_read the codec->hw_read that points to a function implemented by soc-cache. Only use for aic3x_read is if wanting to read volatile bits from those registers that has both read-only and read/write bits. All other cases should use snd_soc_read. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a84a441ba3cab4a62a8ed40fbfbc112ded50f492 Author: Jarkko Nikula Date: Tue Sep 14 14:54:48 2010 +0300 ASoC: tlv320aic3x: Switch to soc-cache helpers Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch takes the soc-cache in use and removes aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit e18eca4303c67ac58c75e72c7318e9709188f40d Author: Jarkko Nikula Date: Tue Sep 14 14:54:47 2010 +0300 ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_write Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls in order to switch to soc-cache helpers. This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read and snd_soc_write. This is basically null-op since .read and .write in soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 144177991ca624841ddbd1e7edff958fc0f6d1fe Author: Namhyung Kim Date: Wed Sep 15 13:08:27 2010 +0200 block: fix an address space warning in blk-map.c Change type of 2nd parameter of blk_rq_aligned() into unsigned long and remove unnecessary casting. Now we can call it with 'uaddr' instead of 'ubuf' in __blk_rq_map_user() so that it can remove following warnings from sparse: block/blk-map.c:57:31: warning: incorrect type in argument 2 (different address spaces) block/blk-map.c:57:31: expected void *addr block/blk-map.c:57:31: got void [noderef] *ubuf However blk_rq_map_kern() needs one more local variable to handle it. Signed-off-by: Namhyung Kim Signed-off-by: Jens Axboe commit 697378972d075e1b26ed2935bf44fb828c6191f5 Author: Arnaud Patard (Rtp) Date: Thu Sep 9 14:10:33 2010 +0200 ASoC: Change my mail address Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing my mail address to use my personal one. Signed-off-by: Arnaud Patard Signed-off-by: Arnaud Patard Acked-by: Greg Kroah-Hartman Signed-off-by: Mark Brown commit c6d5cca0a0e565101e3ef8d37270f5316d7c5638 Author: Jarkko Nikula Date: Tue Sep 14 15:24:38 2010 +0300 ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF This assignment is done by the snd_soc_register_codec so there is no need to redo it in probe function of a codec driver. Signed-off-by: Jarkko Nikula Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 37efb03fbd0935f5f85a0538c46b53be5cf40504 Author: Gerrit Renker Date: Tue Sep 14 20:21:29 2010 +0200 dccp ccid-3: Simplify and consolidate tx_parse_options This simplifies and consolidates the TX option-parsing code: 1. The Loss Intervals option is not currently used, so dead code related to this option is removed. I am aware of no plans to support the option, but if someone wants to implement it (e.g. for inter-op tests), it is better to start afresh than having to also update currently unused code. 2. The Loss Event and Receive Rate options have a lot of code in common (both are 32 bit, both have same length etc.), so this is consolidated. 3. The test against GSR is not necessary, because - on first loading CCID3, ccid_new() zeroes out all fields in the socket; - ccid3_hc_tx_packet_recv() treats 0 and ~0U equivalently, due to pinv = opt_recv->ccid3or_loss_event_rate; if (pinv == ~0U || pinv == 0) hctx->p = 0; - as a result, the sequence number field is removed from opt_recv. Signed-off-by: Gerrit Renker commit d2c726309d88df3c5568486e4b5b9e4c3150903f Author: Gerrit Renker Date: Tue Sep 14 20:18:00 2010 +0200 dccp ccid-3: remove buggy RTT-sampling history lookup This removes the RTT-sampling function tfrc_tx_hist_rtt(), since 1. it suffered from complex passing of return values (the return value both indicated successful lookup while the value doubled as RTT sample); 2. when for some odd reason the sample value equalled 0, this triggered a bug warning about "bogus Ack", due to the ambiguity of the return value; 3. on a passive host which has not sent anything the TX history is empty and thus will lead to unwanted "bogus Ack" warnings such as ccid3_hc_tx_packet_recv: server(e7b7d518): DATAACK with bogus ACK-28197148 ccid3_hc_tx_packet_recv: server(e7b7d518): DATAACK with bogus ACK-26641606. The fix is to replace the implicit encoding by performing the steps manually. Furthermore, the "bogus Ack" warning has been removed, since it can actually be triggered due to several reasons (network reordering, old packet, (3) above), hence it is not very useful. Signed-off-by: Gerrit Renker commit 20cbd3e120a0c20bebe420e1fed0e816730bb988 Author: Gerrit Renker Date: Tue Sep 14 20:16:59 2010 +0200 dccp ccid-3: A lower bound for the inter-packet scheduling algorithm This fixes a subtle bug in the calculation of the inter-packet gap and shows that t_delta, as it is currently used, is not needed. The algorithm from RFC 5348, 8.3 below continually computes a send time t_nom, which is initialised with the current time t_now; t_gran = 1E6 / HZ specifies the scheduling granularity, s the packet size, and X the sending rate: t_distance = t_nom - t_now; // in microseconds t_delta = min(t_ipi, t_gran) / 2; // `delta' parameter in microseconds if (t_distance >= t_delta) { reschedule after (t_distance / 1000) milliseconds; } else { t_ipi = s / X; // inter-packet interval in usec t_nom += t_ipi; // compute the next send time send packet now; } Problem: -------- Rescheduling requires a conversion into milliseconds (sk_reset_timer()). The highest jiffy resolution with HZ=1000 is 1 millisecond, so using a higher granularity does not make much sense here. As a consequence, values of t_distance < 1000 are truncated to 0. This issue has so far been resolved by using instead if (t_distance >= t_delta + 1000) reschedule after (t_distance / 1000) milliseconds; This is unnecessarily large, a lower bound is t_delta' = max(t_delta, 1000). And it implies a further simplification: a) when HZ >= 500, then t_delta <= t_gran/2 = 10^6/(2*HZ) <= 1000, so that t_delta' = MAX(1000, t_delta) = 1000 (constant value); b) when HZ < 500, then t_delta = 1/2*MIN(rtt, t_ipi, t_gran) <= t_gran/2, so that 1000 <= t_delta' <= t_gran/2. The maximum error of using a constant t_delta in (b) is less than half a jiffy. Fix: ---- The patch replaces t_delta with a constant, whose value depends on CONFIG_HZ, changing the above algorithm to: if (t_distance >= t_delta') reschedule after (t_distance / 1000) milliseconds; where t_delta' = 10^6/(2*HZ) if HZ < 500, and t_delta' = 1000 otherwise. Signed-off-by: Gerrit Renker commit 635c17c2b2b4e5cd34f5dcba19d751b4e58533c2 Author: Namhyung Kim Date: Wed Sep 15 10:04:30 2010 +0900 kprobes: Add sparse context annotations This removes following warnings when build with C=1 warning: context imbalance in 'kretprobe_hash_lock' - wrong count at exit warning: context imbalance in 'kretprobe_table_lock' - wrong count at exit warning: context imbalance in 'kretprobe_hash_unlock' - unexpected unlock warning: context imbalance in 'kretprobe_table_unlock' - unexpected unlock Signed-off-by: Namhyung Kim Acked-by: Masami Hiramatsu LKML-Reference: <1284512670-2369-6-git-send-email-namhyung@gmail.com> Signed-off-by: Ingo Molnar commit 6abded71d730322df96c5b7f4ab952ffd5a0080d Author: Namhyung Kim Date: Wed Sep 15 10:04:29 2010 +0900 kprobes: Remove __dummy_buf Remove __dummy_buf which is needed for kallsyms_lookup only. use kallsysm_lookup_size_offset instead. Signed-off-by: Namhyung Kim Acked-by: Masami Hiramatsu LKML-Reference: <1284512670-2369-5-git-send-email-namhyung@gmail.com> Signed-off-by: Ingo Molnar commit 6376b2297502e72255b7eb2893c6044ad5a7b5f4 Author: Namhyung Kim Date: Wed Sep 15 10:04:28 2010 +0900 kprobes: Make functions static Make following (internal) functions static to make sparse happier :-) * get_optimized_kprobe: only called from static functions * kretprobe_table_unlock: _lock function is static * kprobes_optinsn_template_holder: never called but holding asm code Signed-off-by: Namhyung Kim Acked-by: Masami Hiramatsu LKML-Reference: <1284512670-2369-4-git-send-email-namhyung@gmail.com> Signed-off-by: Ingo Molnar commit 05662bdb64c746079de7ac4dc4fb4caa5e8e119f Author: Namhyung Kim Date: Wed Sep 15 10:04:27 2010 +0900 kprobes: Verify jprobe entry point Verify jprobe's entry point is a function entry point using kallsyms' offset value. Signed-off-by: Namhyung Kim Acked-by: Masami Hiramatsu LKML-Reference: <1284512670-2369-3-git-send-email-namhyung@gmail.com> Signed-off-by: Ingo Molnar commit edbaadbe42b0b790618ec49d29626223529d8195 Author: Namhyung Kim Date: Wed Sep 15 10:04:26 2010 +0900 kprobes: Remove redundant address check Remove call to kernel_text_address() in register_jprobes() because it is called right after in register_kprobe(). Signed-off-by: Namhyung Kim Acked-by: Masami Hiramatsu LKML-Reference: <1284512670-2369-2-git-send-email-namhyung@gmail.com> Signed-off-by: Ingo Molnar commit 38a81da2205f94e8a2a834b51a6b99c91fc7c2e8 Author: Matt Helsley Date: Mon Sep 13 13:01:20 2010 -0700 perf events: Clean up pid passing The kernel perf event creation path shouldn't use find_task_by_vpid() because a vpid exists in a specific namespace. find_task_by_vpid() uses current's pid namespace which isn't always the correct namespace to use for the vpid in all the places perf_event_create_kernel_counter() (and thus find_get_context()) is called. The goal is to clean up pid namespace handling and prevent bugs like: https://bugzilla.kernel.org/show_bug.cgi?id=17281 Instead of using pids switch find_get_context() to use task struct pointers directly. The syscall is responsible for resolving the pid to a task struct. This moves the pid namespace resolution into the syscall much like every other syscall that takes pid parameters. Signed-off-by: Matt Helsley Signed-off-by: Peter Zijlstra Cc: Robin Green Cc: Prasad Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Will Deacon Cc: Mahesh Salgaonkar LKML-Reference: Signed-off-by: Ingo Molnar commit 2ebd4ffb6d0cb877787b1e42be8485820158857e Author: Matt Helsley Date: Mon Sep 13 13:01:19 2010 -0700 perf events: Split out task search into helper Split out the code which searches for non-exiting tasks into its own helper. Creating this helper not only makes the code slightly more readable it prepares to move the search out of find_get_context() in a subsequent commit. Signed-off-by: Matt Helsley Signed-off-by: Peter Zijlstra Cc: Robin Green Cc: Prasad Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Will Deacon Cc: Mahesh Salgaonkar LKML-Reference: <561205417b450b8a4bf7488374541d64b4690431.1284407762.git.matthltc@us.ibm.com> Signed-off-by: Ingo Molnar commit d958077d007d98125766d11e82da2fd6497b91d6 Author: Matt Helsley Date: Mon Sep 13 13:01:18 2010 -0700 hw breakpoints: Fix pid namespace bug Hardware breakpoints can't be registered within pid namespaces because tsk->pid is passed rather than the pid in the current namespace. (See https://bugzilla.kernel.org/show_bug.cgi?id=17281 ) This is a quick fix demonstrating the problem but is not the best method of solving the problem since passing pids internally is not the best way to avoid pid namespace bugs. Subsequent patches will show a better solution. Much thanks to Frederic Weisbecker for doing the bulk of the work finding this bug. Signed-off-by: Matt Helsley Signed-off-by: Peter Zijlstra Cc: Robin Green Cc: Prasad Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Will Deacon Cc: Mahesh Salgaonkar LKML-Reference: Signed-off-by: Ingo Molnar commit 64a48d90149bb7007275fac13eaa4cb8d8ce12ea Author: Matt Fleming Date: Mon Sep 13 20:17:29 2010 +0100 perf, sh: Fix patch merge foul-up 3f6da390 ("perf: Rework and fix the arch CPU-hotplug hooks") introduced this breakage. sh_pmu_setup() is missing an opening curly brace. Signed-off-by: Peter Zijlstra LKML-Reference: <20100913191729.GA6440@console-pimps.org> Signed-off-by: Ingo Molnar commit 65175c07653534294257f75baa03a36edad86870 Author: Michael Cree Date: Sun Sep 12 17:37:24 2010 +1200 alpha: Fix HW performance counters to be stopped properly Also fix a few compile errors due to undefined and duplicated variables. Signed-off-by: Michael Cree Signed-off-by: Peter Zijlstra LKML-Reference: <1284269844-23251-1-git-send-email-mcree@orcon.net.nz> Signed-off-by: Ingo Molnar commit d9ca07a05ce1c42ac9717e54eaea4546a3a80978 Author: Stephane Eranian Date: Tue Sep 14 15:34:01 2010 +0200 watchdog: Avoid kernel crash when disabling watchdog In case you boot with the watchdog disabled, i.e., nowatchdog, then, if you try to disable it via /proc/sys/kernel/watchdog, you get a kernel crash. The reason is that you are trying to cancel a hrtimer which has never been initialized. This patch fixes this by skipping execution of watchdog_disable_all_cpus() when the watchdog is marked disabled from boot. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <4c8f7a23.cae9d80a.2c11.0bb4@mx.google.com> Signed-off-by: Ingo Molnar commit 3aabae7d9dfaed60effe93662f02c19bafc18537 Merge: 79e406d 57c072c Author: Ingo Molnar Date: Wed Sep 15 10:27:31 2010 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 1446c5fba73044a1c72153e1203b23b1820431c5 Author: Jaroslav Kysela Date: Wed Sep 15 08:01:57 2010 +0200 ALSA: snd-aloop - fix the "PCM Playback Channels" kcontrol Obvious copy-and-paste error. Signed-off-by: Jaroslav Kysela commit 21a4591794c82c1a73f9d45d6400f878648261e3 Author: andrew hendry Date: Tue Sep 14 13:32:03 2010 +0000 X.25 remove bkl in connect Connect already has socket locking. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 141646ce56735cedb2336b3cd21364287f0aa4c7 Author: Andrew Hendry Date: Tue Sep 14 20:38:54 2010 -0700 X.25 remove bkl in accept Accept already has socket locking. [ Extend socket locking over TCP_LISTEN state test. -DaveM ] Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 90c27297a9bfb8ea11c0e3f73ad90c4c66e8501e Author: andrew hendry Date: Tue Sep 14 13:31:38 2010 +0000 X.25 remove bkl in bind Accept updates socket values in 3 lines so wrapped with lock_sock. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 25aa4efe4feb4150fe613169795df505c5018f2b Author: andrew hendry Date: Tue Sep 14 13:31:16 2010 +0000 X.25 remove bkl in listen Listen updates socket values and needs lock_sock. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 55b1804c678e679e1018671bd40b583eab124689 Author: Joe Perches Date: Mon Sep 13 18:24:01 2010 +0000 net/irda: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 030bda0d416babd0cf34e584086f815b1c9d417c Author: Joe Perches Date: Mon Sep 13 18:23:55 2010 +0000 drivers/net/wireless: Use static const char * const where possible Signed-off-by: Joe Perches Acked-by: Ivo van Doorn Signed-off-by: David S. Miller commit 99101d3d8900dd3fc3cac44859ab8a380e1e553f Author: Joe Perches Date: Mon Sep 13 18:23:54 2010 +0000 drivers/net/pcmcia: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6fa59c9da82adcc7d63a2776969548e2b45448e0 Author: Joe Perches Date: Mon Sep 13 18:23:53 2010 +0000 drivers/net: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6f68ad7fbb421df0aa3c267768245b2e86a91f74 Author: Joe Perches Date: Mon Sep 13 18:23:52 2010 +0000 drivers/isdn: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 79e406d7b00ab2b261ae32a59f266fd3b7af6f29 Author: Steven Rostedt Date: Tue Sep 14 22:19:46 2010 -0400 tracing: Remove leftover FTRACE_ENABLE/DISABLE_MCOUNT enums The enums for FTRACE_ENABLE_MCOUNT and FTRACE_DISABLE_MCOUNT were used as commands to ftrace_run_update_code(). But these commands were used by the old nasty ftrace daemon that has long been slain. This is a clean up patch to remove the references to these enums and simplify the code a little. Reported-by: Wu Zhangjin Signed-off-by: Steven Rostedt commit b304d0441a4118fadd4c3f16e4dc600c271030b5 Author: Steven Rostedt Date: Tue Sep 14 18:58:33 2010 -0400 tracing: Do not trace in irq when funcgraph-irq option is zero When the function graph tracer funcgraph-irq option is zero, disable tracing in IRQs. This makes the option have two effects. 1) When reading the trace file, do not display the functions that happen in interrupt context (when detected) 2) [*new*] When recording a trace, skip those that are detected to be in interrupt by the 'in_irq()' function Note, in_irq() is updated at irq_enter() and irq_exit(). There are still functions that are recorded by the function graph tracer that is in interrupt context but outside the irq_enter/exit() routines. Signed-off-by: Steven Rostedt commit 2bd16212b8eb86f9574e78d6605a5ba9e9aa8c4e Author: Jiri Olsa Date: Tue Sep 7 16:53:44 2010 +0200 tracing: Add funcgraph-irq option for function graph tracer. It's handy to be able to disable the irq related output and not to have to jump over each irq related code, when you have no interrest in it. The option is by default enabled, so there's no change to current behaviour. It affects only the final output, so all the irq related data stay in the ring buffer. Signed-off-by: Jiri Olsa LKML-Reference: <20100907145344.GC1912@jolsa.brq.redhat.com> Signed-off-by: Steven Rostedt commit 068e8a30320e33b1f8d15df9eaef84f04258f96d Author: Jean Delvare Date: Sun Sep 12 22:45:39 2010 +0000 e1000e: Simplify MSI interrupt testing The code is quite convoluted, simplify it. This also avoids calling e1000_request_irq() without testing the value it returned, which was bad. Signed-off-by: Jean Delvare Cc: Bruce Allan Cc: Jeff Kirsher Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9ad0e496519d99eb2c34f01e41500a775122c744 Author: Kailang Yang Date: Tue Sep 14 23:22:00 2010 +0200 ALSA: hda - Add input jack layer support to Realtek codec Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 645ef9ef1fc0ff70456495b1e21d3420b7b08541 Author: Arnd Bergmann Date: Tue Sep 14 21:53:41 2010 +0200 sound: autoconvert trivial BKL users to private mutex The usage of the BKL in the OSS sound drivers is trivial, and each of them only locks against itself, so it can be turned into per-driver mutexes. This is the script that was used for the conversion: file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*/d' ${file} else sed -i 's/include.*.*$/include /g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: Arnd Bergmann Signed-off-by: Takashi Iwai commit 04a344069052d94b4ea1f95d930cbfa39b4ca292 Author: Phil Carmody Date: Tue Sep 14 13:35:39 2010 -0700 [IA64] unwind - optimise linked-list searches for modules It's clear from the comment in the code about keeping the kernel's unwind table at the front of the list that some attention has been paid to access patterns. Tests on other architectures have shown that a move-to-front optimisation improves searches dramatically. Signed-off-by: Phil Carmody Signed-off-by: Tony Luck commit 747584be04bb98a856bab5cd1bfe56d341881b83 Author: Phil Carmody Date: Tue Sep 14 13:34:43 2010 -0700 [IA64] unwind: remove preprocesser noise, and correct comment The expression in the comment was mis-bracketted. There was also no need to introduce a coding-style breaking macro for a single use, so just made it a static const. Signed-off-by: Phil Carmody Signed-off-by: Tony Luck commit 78381c41776572cb642a485219c5d7651f198fbd Author: John W. Linville Date: Tue Sep 14 16:26:44 2010 -0400 wl1271: remove warnings in wl1271_sdio_set_power These were introduced in "wl1271: sdio: claim host only when doing IO" drivers/net/wireless/wl12xx/wl1271_sdio.c: In function ‘wl1271_sdio_set_power’: drivers/net/wireless/wl12xx/wl1271_sdio.c:193: warning: ‘return’ with a value, in function returning void drivers/net/wireless/wl12xx/wl1271_sdio.c:195: warning: ‘return’ with a value, in function returning void drivers/net/wireless/wl12xx/wl1271_sdio.c:186: warning: unused variable ‘func’ Signed-off-by: John W. Linville commit a2c1e3dad516618cb0fbfb1a62c36d0b0744573a Author: Johannes Berg Date: Tue Sep 14 21:34:14 2010 +0200 mac80211: match only assigned bss in sta_info_get_bss sta_info_get_bss() is used to match STA pointers for VLAN/AP interfaces, but if the same station is also added to multiple other interfaces it will erroneously match because both pointers are NULL, fix this by ignoring NULL pointers here. Reported-by: Ben Greear Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 364734fafbba0c3133e482db78149b9a823ae7a5 Author: Felix Fietkau Date: Tue Sep 14 20:22:44 2010 +0200 ath9k_hw: remove useless hw capability flags Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3ae74c33c4f799f6bf6d67240a94a0814a8f1944 Author: Felix Fietkau Date: Tue Sep 14 18:38:26 2010 +0200 ath9k_hw: handle rx key miss If AR_KeyMiss is set in the rx descriptor and AR_RxFrameOK is unset, the hardware could not locate a valid key during a decryption attempt. In this case, the frame must not be reported as decrypted, otherwise mac80211 sees only random garbage. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 2944f45d9db851e186774df7c9cbf075f4a585c6 Author: Felix Fietkau Date: Tue Sep 14 18:37:20 2010 +0200 mac80211: add a note about iterating interfaces during add_interface() Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 31a01645c0c7b46d7f74777cd2a66ddb2a22bbd9 Author: Felix Fietkau Date: Tue Sep 14 18:37:19 2010 +0200 ath9k: fix BSSID mask calculation At the time the .add_interface driver op is called, the interface has not been marked as running yet, so ieee80211_iterate_active_interfaces will not pass it to the iterator function. Because of this, the calculated BSSID mask is wrong, which breaks multi-BSS operation. Additionally, the current way of comparing all addresses against each other is pointless, as the hardware only uses the hardware MAC address and the BSSID mask for matching the destination address, so all the address array reallocation is completely unnecessary. This patch simplifies the logic by setting the initial mask bytes to 0xff and removing all bits in the iterator call that don't match the hardware MAC address. It also calls the iterator for the vif that was passed to add_interface() Signed-off-by: Felix Fietkau Tested-by: Ben Greear Signed-off-by: John W. Linville commit 4a0e8ecca4eeed38d4b3b7a317a3aaab4dd3cacd Author: Rajkumar Manoharan Date: Tue Sep 14 14:35:55 2010 +0530 ath9k_htc: Fix CPU usage issue during scan period The CPU consumption during the scan period is high, since the register write go over Interrupt endpoint. On downloading the firmware to the target, the USB descriptors are 'patched' to change the type of the endpoints from Interrupt to Bulk. With this fix, the CPU usage during a scan run comes down to acceptable levels. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit cc0de6536e8b70d61948128a9cbf86920066c53d Author: Rajkumar Manoharan Date: Tue Sep 14 13:07:28 2010 +0530 ath9k_htc: Fix memory leak on WMI event handler ath9k_wmi_ctrl_rx is racy with ath9k_wmi_tasklet on event notification due to which the wmi_skb may be overwritten which leads to memory leak. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3a160a5b5fc7d45fa2f869b23f8fcd27a4c05f8f Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:45 2010 +0200 iwlwifi: apply settings when finishing scan Even is someone else complete scanning in mac80211, apply rxon and tx power settings if gets scan complete notification from hardware. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit 7cf24421292d92556d53630e6973b34324c94103 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:44 2010 +0200 iwlwifi: use IWL_DEBUG_SCAN for debug scanning Replace IWL_DEBUG_{INFO,HC,RC} to IWL_DEBUG_SCAN in iwl-scan.c file. Add some more IWL_DEBUG_SCAN messages. This will allow to fully debug scanning using only IWL_DL_SCAN flag. Also start one message sentence with capital letter, since that convention in iwl-scan.c file. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 74d81b259d6c8493f066e34c939cb6fb7d3129e5 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:43 2010 +0200 iwlwifi: cleanup scan initiate check Remove redundant checks and use iwl_is_ready_rf(). Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit edeb78a7fa838b7fb9c2043680bd8da7cb5cb0e5 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:42 2010 +0200 mac80211: wait for scan work complete before restarting hw This is needed to avoid warning in ieee80211_restart_hw about hardware scan in progress. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit e7e16b90b477a07d17af37dceb2e8af1ddbd9712 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:41 2010 +0200 iwlwifi: do not force complete scan too early Currently we force scan complete at the end of iwl_scan_cancel_timeout function. This cause race condition when we can get a new scan request from mac80211 and complete it by iwl_bg_complete from older scan. Change code to force scan complete only when really needed: device goes down, interface is removed or scan timeout occurs. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit 6bd1758d978f917dc0804f44e3528ef1a80d9d43 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:40 2010 +0200 iwlwifi: assure we complete scan in scan_abort and scan_check works Assure we complete scan in mac80211 when we abort scanning (scan_abort work) or scan timeout occurs (scan_check work). Currently iwl_scan_cancel_timeout() procedure force scan finish in mac80211 at the end of timeout loop, so we can use it in proper work functions. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit f5354c17dc29681c241f2774f3ef9478fb586673 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:39 2010 +0200 iwlwifi: force scan complete after timeout If we do not get notification from hardware about scan complete, after timeout do mac80211 scan completion anyway. This assure we end scan in case of firmware hung. Patch fix one of the causes of wdev_cleanup_work warning reported at https://bugzilla.redhat.com/show_bug.cgi?id=593566 Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit 02d8c14b590f583fd6e8c16fe779f845845effd9 Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:38 2010 +0200 iwlwifi: rewrite scan completion Assure (partially) we call ieee80211_scan_completed() only once when scan was requested from mac80211. Code path that first clear STATUS_SCANNING bit is responsible to call ieee80211_scan_completed(). Before the call, we check if mac80211 really request the scan. Still persist some cases when we behave wrong, that will be addressed in the next patches. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit e693a802f06f538b711333a32a83e2732dc4773d Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:37 2010 +0200 iwlwifi: rework iwl_scan_cancel_timeout Since on timeout version of iwl_scan_cancel procedure we can sleep, do not have to schedule abort_scan work to begin and perform scanning, can do this directly. Also now, as we do not queue abort_scan from restart work anymore, we can queue abort_scan to priv->workqueue. Don't drop mutex when waiting for scan complete. Use STATUS_HW_SCAN bit to check if scanning is currently pending, because STATUS_SCANNING will be cleared only with priv->mutex taken. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit cd44600fdd89832c0bc898189270a81be0db01cd Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:36 2010 +0200 iwlwifi: report scan completion when abort fail When we are not able to send abort command to firmware, notify mac80211 that we complete scan, as we will newer do it lately. Check for all possible errors that low level sending command procedure does not check, to assure we catch all failures cases. Patch fix one of the causes of wdev_cleanup_work warning reported at https://bugzilla.redhat.com/show_bug.cgi?id=593566 Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit d745d472afcbc6354ebfee008123894a7f37e97e Author: Stanislaw Gruszka Date: Mon Sep 13 14:46:35 2010 +0200 iwlwifi: cancel scan when down the device Always cancel scan when stooping device and scan is currently pending, we should newer have scan running after down device. To assure we start scan cancel from restart work we have to schedule abort_scan to different workqueue than priv->workqueue. Patch fix not cancel scanning when restarting firmware, what is one of the causes of wdev_cleanup_work warning (together with permanent network connection lost) reported at https://bugzilla.redhat.com/show_bug.cgi?id=593566 Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit d5926d9d6a183d109060f68c0b96ea2b33c15377 Author: Johannes Berg Date: Mon Sep 13 14:46:34 2010 +0200 iwlwifi: move scan completed flags handling Move the scan completed flags handling so that we can notify mac80211 about aborted scans with the correct status. Also queue the scan_completed work before the BT status update so that it won't see the bits still set (unless a new scan was started in which case that's fine.) Signed-off-by: Johannes Berg Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit 3eecce527c7434dfd16517ce08b49632c8a26717 Author: Johannes Berg Date: Mon Sep 13 14:46:33 2010 +0200 iwlwifi: unify scan start checks Rather than duplicating all the checks and even in case of errors accepting the scan request from mac80211, we can push the checks to the caller and in all error cases reject the scan request right away (rather than accepting and then saying it was aborted). Signed-off-by: Johannes Berg Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit b5be3efc34294cc34e305903df6a388950e8d1f3 Author: Johannes Berg Date: Mon Sep 13 14:46:32 2010 +0200 iwlwifi: remove unused conf variables There are a number of conf variables that are unused, remove them. Signed-off-by: Johannes Berg Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi W Guy Signed-off-by: John W. Linville commit 740c1aa3b01251c3c324743f395621749b099065 Author: Steve deRosier Date: Sat Sep 11 20:01:31 2010 -0700 mac80211: Fix dangling pointer in ieee80211_xmit hdr pointer is left dangling after call to ieee80211_skb_resize. This can cause guards around mesh path selection to fail. Signed-off-by: Steve deRosier Signed-off-by: John W. Linville commit a1e567c83f541432e687142570215b75bebb1338 Author: Bill Jordan Date: Fri Sep 10 11:22:32 2010 -0400 nl80211: Uninitialized variable There is a path in nl80211_set_wiphy where result is tested but uninitialized. I am hitting this path when I attempt: sh# iw dev wlan0 set channel 10 command failed: Unknown error 1069727332 (-1069727332) Signed-off-by: William Jordan Signed-off-by: John W. Linville commit 942623166df3256821e8451273bc07737745e3cb Author: Nikitas Angelinas Date: Wed Sep 8 22:29:53 2010 +0100 net/wireless: use ARRAY_SIZE macro in radiotap.c Replace sizeof(rtap_namespace_sizes) / sizeof(rtap_namespace_sizes[0]) with ARRAY_SIZE(rtap_namespace_sizes) in net/wireless/radiotap.c Signed-off-by: Nikitas Angelinas Signed-off-by: John W. Linville commit bbce80e1101526f7a616e75a0d77b57f4062c62d Author: Nikitas Angelinas Date: Wed Sep 8 22:25:42 2010 +0100 drivers/net/wireless/ath/ath9k: use ARRAY_SIZE macro in ani.c Replace (sizeof(ofdm_level_table)/sizeof(ofdm_level_table[0]) with ARRAY_SIZE(ofdm_level_table), and (sizeof(cck_level_table)/ sizeof(cck_level_table[0]) with ARRAY_SIZE(cck_level_table) in drivers/net/wireless/ath/ath9k/ani.c Signed-off-by: Nikitas Angelinas Signed-off-by: John W. Linville commit 516c6e1f52a09fb2e7024101db3f0375f65670df Author: Fabio Rossi Date: Wed Sep 8 22:37:41 2010 +0200 ath5k: avoid unneeded calibration error messages Don't generate calibration errors messages when not needed. Signed-off-by: Fabio Rossi Acked-by: Bruno Randolf Signed-off-by: John W. Linville commit 65b7fc97473656eb35b6b58a22c7cef4a99d9e35 Author: Helmut Schaa Date: Wed Sep 8 20:57:40 2010 +0200 rt2x00: fix oops in rt2x00lib_txdone with rt61pci Fix a typo introduced in "rt2x00: Add helper function for reporting tx status" that results in an oops in rt2x00lib_txdone. Reported-by: Pavel Roskin Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6646505de03b2ae85de09fd3b8d383ab816a19f9 Author: Helmut Schaa Date: Wed Sep 8 20:57:10 2010 +0200 rt2x00: Enable missing interrupts in rt61pci We're handling both, the CSR_BEACON_DONE and the CSR_TWAKEUP interrupts in rt61pci. However, these interrupts are masked out by default. Fix this. Found via pure code inspection. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93149cf87bdd511db86d709a6db7ed09f1b8ba99 Author: Helmut Schaa Date: Wed Sep 8 20:56:52 2010 +0200 rt2x00: Mask out unused interrupts in rt2800pci We don't use all available interrupts in rt2800pci. Mask out all unused interrupts to avoid waking up without having anything to do. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0204464329c17ba6d293e1899f71223599a0e582 Author: Helmut Schaa Date: Wed Sep 8 20:56:32 2010 +0200 rt2x00: Check for specific changed flags when updating the erp config Previously rt2x00 was always updating all erp related config variables even though mac80211 might only have changed one. Hence, pass the changed flags to the config_erp driver callback so that the driver can limit the changes to the correct values. This fixes an issue in AP mode where the beacon interval is not initialized (and thus zero) but still sent to the hardware causing an interrupt storm on rt2800pci hanging the system. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47ee3eb1359a5444efd9f529e3d28c02e8e405e7 Author: Helmut Schaa Date: Wed Sep 8 20:56:04 2010 +0200 rt2x00: Initialize AMPDU_BA_WINSIZE register Since we're not using the AMPDU_BA_WINSIZE register to force the BlockAck window size (we specify it in every TXWI) we should initialize it to 0. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 85f4d6488cba35d3bb58833edbcb28faaffdd37c Author: Lars Ericsson Date: Wed Sep 8 20:55:36 2010 +0200 rt2x00: Antenna diversity does not work in 2.6.35 The test if antenna diversity is at all enabled uses a local variable 'flags' to prepare the test condition, but uses 'ant->flags' when the test is evaluated. The effect is that the diversity evaluation will never start. I can see two solutions, use the 'flag' in the test condition or revert the local flag change. My attached patch took alternative two. Then the evaluation start but it will still not switch antenna. The problem is a code section in rt2x00lib_config_antenna (). The effect of that code section is that any change the diversity function perform will be effectively shorten and no antenna selection command issued. The attached patch will filter out any ANTENNA_SW_DIVERSITY setting but forward all other Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 58d7e0f37cfc5b4f473d437024a03d874e5969a3 Author: Rajkumar Manoharan Date: Wed Sep 8 15:57:12 2010 +0530 ath9k_hw: Support fastcc for AR7010 To reduce scan time, enable fastcc for AR7010 (fastcc == fast channel change -- JWL) Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 49063a0d0b65e40ece846a744cb10cbdf295515d Author: Ohad Ben-Cohen Date: Tue Sep 7 04:24:21 2010 +0300 wl1271: sdio: claim host only when doing IO Do not maintain a persistent sdio_claim_host state. Instead, claim host before doing IO and release host soon after. This fixes several mmc deadlock scenarios, e.g. during suspend/resume. Signed-off-by: Ohad Ben-Cohen Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 1d7e1e6b1b8ed456e7678130ad17086a5f5b3286 Author: Christian Lamparter Date: Mon Sep 6 01:10:25 2010 +0200 carl9170: Makefile, Kconfig files and MAINTAINERS Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 00c4da27a4219385cfe6a3054ddf3195c9e3c30e Author: Christian Lamparter Date: Mon Sep 6 01:09:49 2010 +0200 carl9170: firmware parser and debugfs code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a84fab3cbfdc427e7d366f1cc844f27b2084c26c Author: Christian Lamparter Date: Mon Sep 6 01:09:20 2010 +0200 carl9170: 802.11 rx/tx processing and usb backend Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 319da621d5c4e9bd8c34feeb200e864e87d91fe7 Author: Christian Lamparter Date: Mon Sep 6 01:08:38 2010 +0200 carl9170: PHY/RF and MAC routines Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit aae9af605a41cb3e9bbad15df72076423a22f903 Author: Christian Lamparter Date: Mon Sep 6 01:06:57 2010 +0200 carl9170: Register maps, tx/rx descriptor formats and eeprom layout Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fe8ee9ad80b28382111f0aab01690b09982e5691 Author: Christian Lamparter Date: Mon Sep 6 00:48:55 2010 +0200 carl9170: mac80211 glue and command interface Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 57c072c7113f54f9512624d6c665db6184448782 Author: Steven Rostedt Date: Tue Sep 14 11:21:11 2010 -0400 tracing: Fix reading of set_ftrace_filter across lists If we do: # cd /sys/kernel/debug # echo 'do_IRQ:traceon schedule:traceon sys_write:traceon' > \ set_ftrace_filter # cat set_ftrace_filter We get the following output: #### all functions enabled #### sys_write:traceon:unlimited schedule:traceon:unlimited do_IRQ:traceon:unlimited This outputs two lists. One is the fact that all functions are currently enabled for function tracing, the other has three probed functions, which happen to have 'traceon' as their commands. Currently, when reading the first list (functions enabled) the seq_file code will receive a "NULL" from the t_next() function causing it to exit early. This makes "read()" from userspace stop reading the code at this boarder. Although read is allowed to do this, some (broken) applications might consider this an end of file and stop early. This patch adds the start of the second list to t_next() when it finishes the first list. It is a simple change and gives the set_ftrace_filter file nicer reading ability. Signed-off-by: Steven Rostedt commit 98c4fd046f07156ca6055677e8f03d4280be16c1 Author: Steven Rostedt Date: Fri Sep 10 11:47:43 2010 -0400 tracing: Keep track of set_ftrace_filter position and allow lseek again This patch keeps track of the index within the elements of set_ftrace_filter and if the position goes backwards, it nicely resets and starts from the beginning again. This allows for lseek and pread to work properly now. Signed-off-by: Steven Rostedt commit 4aeb69672d011fac5c8df671f3ca89f7987c104e Author: Steven Rostedt Date: Thu Sep 9 10:00:28 2010 -0400 tracing: Replace typecasted void pointer in set_ftrace_filter code The set_ftrace_filter uses seq_file and reads from two lists. The pointer returned by t_next() can either be of type struct dyn_ftrace or struct ftrace_func_probe. If there is a bug (there was one) the wrong pointer may be used and the reference can cause an oops. This patch makes t_next() and friends only return the iterator structure which now has a pointer of type struct dyn_ftrace and struct ftrace_func_probe. The t_show() can now test if the pointer is NULL or not and if the pointer exists, it is guaranteed to be of the correct type. Now if there's a bug, only wrong data will be shown but not an oops. Cc: Chris Wright Signed-off-by: Steven Rostedt commit 2bccfffd1538f3523847583213567e2f7ce00926 Author: Steven Rostedt Date: Thu Sep 9 08:43:22 2010 -0400 tracing: Do not reset *pos in set_ftrace_filter After the filtered functions are read, the probed functions are read from the hash in set_ftrace_filter. When the hashed probed functions are read, the *pos passed in is reset. Instead of modifying the pos given to the read function, just record the pos where the filtered functions ended and subtract from that. Signed-off-by: Steven Rostedt commit 7b6c3a34e93aafc5dd9adc7dee87c7fa61d8bdbb Author: Andreas Schwab Date: Sat Sep 11 13:16:41 2010 +0200 ALSA: sound/ppc/powermac: remove undefined operations Modifying an object twice without an intervening sequence point is undefined. Signed-off-by: Andreas Schwab Signed-off-by: Takashi Iwai commit a254dba37c5a372fc8b44ba29509ba052d4e859d Author: Ben Hutchings Date: Sun Sep 12 02:41:47 2010 +0100 ALSA: emux: Add trivial compat ioctl handler Reported-by: Carmen Cru Signed-off-by: Ben Hutchings Signed-off-by: Takashi Iwai commit 47023ec774b6f73bb11d9f3b00b21f2bbd87e0f2 Author: Joe Perches Date: Mon Sep 13 21:24:02 2010 -0700 sound: Use static const char * const where possible Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai commit f3fbba6efbab93b9850821d41a75b02286d18315 Merge: 15c5ab6 147fcf1 Author: Takashi Iwai Date: Tue Sep 14 16:15:29 2010 +0200 Merge branch 'fix/misc' into topic/misc commit 7740191cd909b75d75685fb08a5d1f54b8a9d28b Author: Mathieu Desnoyers Date: Mon Sep 13 17:47:00 2010 -0400 sched: Fix string comparison in /proc/sched_features Fix incorrect handling of the following case: INTERACTIVE INTERACTIVE_SOMETHING_ELSE The comparison only checks up to each element's length. Changelog since v1: - Embellish using some Rostedtisms. [ mingo: ^^ == smaller and cleaner ] Signed-off-by: Mathieu Desnoyers Reviewed-by: Steven Rostedt Cc: Cc: Peter Zijlstra Cc: Tony Lindgren LKML-Reference: <20100913214700.GB16118@Krystal> Signed-off-by: Ingo Molnar commit 5d75b3a2476d848a354d939d2b89c36d3394ac59 Author: Paul Mundt Date: Tue Sep 14 18:26:38 2010 +0900 Revert "sh: ecovec24: modify tsc2007 platform settings" According to Morimoto-san, this is no longer needed. Revert it. This reverts commit e0009b0a44f28227571d8cddebc5ccdae86027a6. Signed-off-by: Paul Mundt commit 51d149be0a535634b86493a4d910e3320cc984ea Author: Paul Mundt Date: Tue Sep 14 17:43:11 2010 +0900 sh: Provide a non-multiplexed sys_recvmmsg path. Now that the rest of the socket calls are provided through their own paths, do the same for sys_recvmmsg. It's unlikely we'll ever be able to kill off the socketcall path, but this at least permits userspace to gradually begin migrating. Signed-off-by: Paul Mundt commit 459ebb34bd90f1ff12725a17289b7defbc6cd655 Author: Carmelo AMOROSO Date: Wed Sep 1 01:49:29 2010 +0000 sh: Add syscall entries for non multiplexed socket calls Linux kernel already has socket syscalls that can be invoked without the multiplexing sys_socketcall wrapper. C library wrappers are ready to use them directly. It needs just to define the missing syscall numbers and provide the related entries into the syscalls table, like sh64 aleady does. Signed-off-by: Francesco Rundo Signed-off-by: Carmelo Amoroso Signed-off-by: Paul Mundt commit e0009b0a44f28227571d8cddebc5ccdae86027a6 Author: Kuninori Morimoto Date: Fri Aug 27 09:49:30 2010 +0000 sh: ecovec24: modify tsc2007 platform settings This patch modify x_plate_ohms to correct value for tsc2007 panel, and removed un-necessary ts_get_pendown_state() Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 248bc0d93bde744751a05d322d85269323d3af0c Author: Matt Fleming Date: Sat Aug 21 14:49:38 2010 +0000 sh: Set CONFIG_SYSFS_DEPRECATED_V2=n As the help for the config option suggests, this option really shouldn't be set by default for any recent distribution as it changes the layout of sysfs. I spotted this while running debian when udev got very confused by the sysfs layout and failed to create some device nodes. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 12280faea62c7e2d7124996d9342b483ac1706d3 Author: Jassi Brar Date: Fri Sep 10 16:41:05 2010 +0900 ASoC: Samsung: Debug PCM snd_soc_dai_driver registration Each of the two PCM controllers need to be registered during probe with appropriate 'name' of the dai driver. Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 28927011e46844aa966971c644d821f9aab2e9f9 Author: Mark Brown Date: Mon Sep 13 10:11:14 2010 +0100 ASoC: Set more meaningful name for SMDK64xx WM8580 audio Since the SMDK64xx boards have two audio subsystems using the board name as the card name by itself isn't so user friendly as it might be. Signed-off-by: Mark Brown Acked-by: Jassi Brar Acked-by: Liam Girdwood commit 1c7fc7e547ed68e3f5eb1b056e4cf10b316335d6 Author: Kuninori Morimoto Date: Mon Sep 13 19:40:13 2010 +0900 ASoC: fsi codecs: Update card name field Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit 528487081aad32da85bf99802bdb7af32f4922b9 Author: Dmitry Torokhov Date: Mon Sep 13 23:53:55 2010 -0700 Input: gameport_driver - drop private pointer Nobody uses it anymore. Signed-off-by: Dmitry Torokhov commit 37b0bb112b7e3ffa5015c4305a934e861b4e2e53 Author: Dmitry Torokhov Date: Mon Sep 13 23:53:55 2010 -0700 Input: gameport_driver - mark description as const pointer Memory pointed to by the pointer should not change. Signed-off-by: Dmitry Torokhov commit 7fc49c498c18795d35864bee433caf419bd013b2 Author: Dmitry Torokhov Date: Mon Sep 13 23:53:55 2010 -0700 Input: serio_driver - drop private pointer Nobody uses it anymore. Signed-off-by: Dmitry Torokhov commit ceee42714cf382e9bb9ab71b846ad49497b29d6c Author: Dmitry Torokhov Date: Mon Sep 13 23:53:55 2010 -0700 Input: serio_driver - mark id_table and description as const Memory pointed to by these fields is not supposed to change. Signed-off-by: Dmitry Torokhov commit 53957b56d765f4602715fefb1c553f7a538b3230 Author: Dmitry Torokhov Date: Mon Sep 13 23:53:55 2010 -0700 Input: serio - do not include linux/freezer.h Commit ea486e681188d64c6a101d8d06414aef0f9f0cd3 changed kseriod thread to become not freezable so we do not need this include anymore. Signed-off-by: Dmitry Torokhov commit 8dcbdc742fec9e6c542ff9cb599d2ee620753d07 Author: San Mehat Date: Tue Sep 14 08:48:01 2010 +0200 block: block_dump: Add number of sectors to debug output Signed-off-by: San Mehat Signed-off-by: Linus Walleij Signed-off-by: Jens Axboe commit bc0ed0be10a4925efa7b81a84af53f12fbdbcb4e Author: Andy Shevchenko Date: Sun Sep 12 08:16:26 2010 +0000 uwb: use '%pM' format to print MAC address Signed-off-by: Andy Shevchenko Signed-off-by: David S. Miller commit 251415808306a19be93ec93268e2985f10d3db8b Author: Dmitry Kravkov Date: Sun Sep 12 05:48:28 2010 +0000 bnx2x: Spread rx buffers between allocated queues Default number of rx buffers will be divided equally between allocated queues. This will decrease amount of pre-allocated buffers on systems with multiple CPUs. User can override this behavior with ethtool -G. Minimum amount of rx buffers per queue set to 128. Reported-by: Eric Dumazet Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 441993da47777d961300c070fe1210600af48ad8 Author: Ondrej Zary Date: Sat Sep 11 05:40:16 2010 +0000 cx82310_eth: allow empty URBs Empty received URBs are currently counted as errors but the device sends them sometimes as part of regular traffic - so remove this check. Signed-off-by: Ondrej Zary Signed-off-by: David S. Miller commit 7dbfdc2390afc4e244817ab26d5a1b987b0c0669 Author: Ondrej Zary Date: Sat Sep 11 05:39:57 2010 +0000 cx82310_eth: check usb_string() return value for error Fix that usb_string() return value is not checked for error (negative value). Also change the ignore message a bit and lower its level to info. Signed-off-by: Ondrej Zary Signed-off-by: David S. Miller commit d81e27cf4e2a5050245f9962539292ea2c9e2206 Author: Joe Perches Date: Sat Sep 11 19:10:56 2010 +0000 drivers/net/skfp: Remove pr_ uses of KERN_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 70ce679be6f7fd8ff24d4b7007e2c0e430587945 Author: Andreas Schwab Date: Sat Sep 11 01:12:34 2010 +0000 net/cxgb3: remove undefined operations Modifying an object twice without an intervening sequence point is undefined. Signed-off-by: Andreas Schwab Signed-off-by: David S. Miller commit 1570475a477b46cb16b2a0dd73c06974c8d2b550 Author: Andreas Schwab Date: Sat Sep 11 01:08:58 2010 +0000 net/de4x5: remove undefined operations Modifying an object twice without an intervening sequence point is undefined. Signed-off-by: Andreas Schwab Signed-off-by: David S. Miller commit 61a21455ee27dccdd286f61aea611da5e70b47bf Author: Denis Kirjanov Date: Fri Sep 10 23:23:13 2010 +0000 sundance: Add power management hooks This patch to adds support for PM hooks into sundance driver Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 83b6b1f5d13414d0cb5c4f0a567a6aec0af073bd Author: Eric Dumazet Date: Fri Sep 10 07:00:25 2010 +0000 flow: better memory management Allocate hash tables for every online cpus, not every possible ones. NUMA aware allocations. Dont use a full page on arches where PAGE_SIZE > 1024*sizeof(void *) misc: __percpu , __read_mostly, __cpuinit annotations flow_compare_t is just an "unsigned long" Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit efbc2d7cfa67a9753cd45eb7eee8c9ad10c8b74c Author: Ben Hutchings Date: Mon Sep 13 04:14:49 2010 +0000 sfc: Fix order of channel_name array dimensions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 637bbdc5b83615ef9f45f50399d1c7f27473c713 Author: Dave Young Date: Mon Sep 13 20:19:03 2010 +0800 sched: Remove unused PF_ALIGNWARN flag PF_ALIGNWARN is not implemented and it is for 486 as the comment. It is not likely someone will implement this flag feature. So here remove this flag and leave the valuable 0x00000001 for future use. Signed-off-by: Dave Young Cc: Peter Zijlstra Cc: Linus Torvalds LKML-Reference: <20100913121903.GB22238@darkstar> Signed-off-by: Ingo Molnar commit 469917ce8717b9f8c5298bf279fa138859baab8d Author: Arnaldo Carvalho de Melo Date: Mon Sep 13 10:25:04 2010 -0300 perf ui browser: Don't use windows, slang is enough They are useless and take away precious columns and lines, so stop using windows. One more step in removing newt code, that after all is not being useful at all for the coalescing TUI model in perf. Suggested-by: Christoph Hellwig Cc: Christoph Hellwig Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi LKML-Reference: <20100822082003.GB7365@infradead.org> Signed-off-by: Arnaldo Carvalho de Melo commit 0c67b40872326a5340cab51d79a192a5fbaeb484 Author: Peter Zijlstra Date: Mon Sep 13 11:15:58 2010 +0200 perf: Fix free_event() With the context rework stuff we can actually end up freeing an event before it gets attached to a context. Reported-by: Cyrill Gorcunov Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit cde8e88498c8de69271fcb6d4dd974979368fa67 Author: Peter Zijlstra Date: Mon Sep 13 11:06:55 2010 +0200 perf: Sanitize the RCU logic Simplify things and simply synchronize against two RCU variants for PMU unregister -- we don't care about performance, its module unload if anything. Reported-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra Cc: Paul E. McKenney LKML-Reference: Signed-off-by: Ingo Molnar commit b0b2072df3b544f56b90173c2cde7a374c51546b Author: Stephane Eranian Date: Fri Sep 10 13:28:01 2010 +0200 perf_events: Fix BTS interrupt handling to avoid being dazed by NMI (v2) Fix a bug introduced with commit de725de and the change in the meaning of the return value of intel_pmu_handle_irq(). With the current code, when you are using the BTS, you get 'dazed by NMI' each time the BTS buffer fills up. BTS does interrupt on the PMU vector, thus NMI. You need to take this into account in the return value of the function. This version fixes initial patch which was missing changes to perf_event_intel_ds.c. Signed-off-by: Stephane Eranian Acked-by: Don Zickus Cc: peterz@infradead.org Cc: paulus@samba.org Cc: davem@davemloft.net Cc: fweisbec@gmail.com Cc: perfmon2-devel@lists.sf.net Cc: eranian@gmail.com Cc: robert.richter@amd.com LKML-Reference: <4c8a1686.aae9d80a.5aa4.5e35@mx.google.com> Signed-off-by: Ingo Molnar commit 0ea05ce7fd0c1286759933933764aacd12f6ac3a Author: David S. Miller Date: Sun Sep 12 12:06:00 2010 -0700 bna: Check for NULL before deref in bnad_cb_tx_cleanup Reported-by: Jiri Slaby Signed-off-by: David S. Miller commit d0ed0c32662e756e7daf85e70a5a27a9c1111331 Author: Joe Perches Date: Sat Sep 11 22:10:54 2010 -0700 x86: Remove pr_ uses of KERN_ Signed-off-by: Joe Perches Cc: Jiri Kosina LKML-Reference: Signed-off-by: Ingo Molnar commit 24dd3b58228d463254ee57c3811afea831b8a024 Author: Xing Wei Date: Sun Sep 12 00:24:17 2010 -0700 Input: hanwang - make compatible with xf86-input-wacom driver Add necessary events so that Hanwang Art Master III tablet can be handled by the stock xf86-input-wacom driver. Signed-off-by: Xing Wei Signed-off-by: Dmitry Torokhov commit 33d5f713a19b0f5cb93e0594f7206d2730cf39da Author: Chris Bagwell Date: Sun Sep 12 00:12:28 2010 -0700 Input: wacom - disable Bamboo touchpad when pen is being used Signed-off-by: Chris Bagwell Acked-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 2aaacb153689dbe9064e4db7e9d00de0edfc1fa0 Author: Chris Bagwell Date: Sun Sep 12 00:11:35 2010 -0700 Input: wacom - add support for Bamboo Pen This adds support for Pen on Bamboo Pen and Bamboo Pen&Touch devices. Touchpad is handled by previous Bamboo Touch logic. Signed-off-by: Chris Bagwell Acked-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit e1d38e49ad97eec5024342e1244279b645e36688 Author: Chris Bagwell Date: Sun Sep 12 00:09:27 2010 -0700 Input: wacom - move Bamboo Touch irq to its own function This is in preparation of pen support in same irq handler. Signed-off-by: Chris Bagwell Acked-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 3dc9f40de4dddf9147b80cf15be633189a2b70f4 Author: Chris Bagwell Date: Sun Sep 12 00:08:40 2010 -0700 Input: wacom - request tablet data for Bamboo Pens Bamboo P&T need to use second form of usb_set_report() to ask to report tablet data. With previous addition of Bamboo Touch, BTN_TOOL_TRIPLETAP is now used for both TABLETPC2FG and BAMBOO_PT types. So reduced check to match type=TABLETPC2FG. This change shows redundant check for !TABLETPC2FG in else statement. Signed-off-by: Chris Bagwell Acked-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 50e781613c68f426edbbc8e5c27fcba74494eb8c Author: David S. Miller Date: Sun Sep 12 10:44:21 2010 +0800 crypto: n2_crypto - Niagara2 driver needs to depend upon CRYPTO_DES Reported-by: Dennis Gilmore Signed-off-by: David S. Miller Signed-off-by: Herbert Xu commit 6d8de74c5caa3e2ce7c9f19c1004dbc76d7c7edb Author: Justin P. Mattock Date: Sun Sep 12 10:42:47 2010 +0800 crypto: Kconfig - update broken web addresses Below is a patch to update the broken web addresses, in crypto/* that I could locate. Some are just simple typos that needed to be fixed, and some had a change in location altogether.. let me know if any of them need to be changed and such. Signed-off-by: Justin P. Mattock Signed-off-by: Herbert Xu commit 743e015dcbb428bf8454cf7d78272b4a76dd3c4b Author: Wey-Yi Guy Date: Sat Sep 4 09:00:14 2010 -0700 iwlwifi: remove code repetition Move the duplicated code into single static function. Signed-off-by: Wey-Yi Guy commit 8f1d968721f9b3d4ff364bef0f33eb9697a6a7ee Author: Wey-Yi Guy Date: Fri Sep 3 11:42:04 2010 -0700 iwlwifi: make sure runtime calibration is enabled after association Clear the "start calib" flag only for new association, The flag will be set in post_associate function to trigger the runtime calibration. Set this flag to "0" will stop the runtime sensitivity calibration Signed-off-by: Wey-Yi Guy commit ea196fdbb982150c19854f90773cb8b9bf331049 Author: Johannes Berg Date: Fri Sep 3 06:30:55 2010 -0700 iwlwifi: fix and describe iwl_adjust_beacon_interval The iwl_adjust_beacon_interval function is a bit of black magic, so add comments to it describing what it does. Also, in the case when there's no beacon interval set, program the default into the device (instead of adjusting, which results in the max) since using the max in that case interacts badly with dual-mode/PAN parameters. Also update the PAN parameters accordingly and use the same constant as here. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit f1f270b25c6ece9ff65f7ad970850338a198d52f Author: Johannes Berg Date: Fri Sep 3 06:31:26 2010 -0700 iwlwifi: improve timing handling with dual-mode In dual-mode, a number of scenarios need to be considered, and the firmware can be very picky about them. Adjust the timing (most importantly the beacon interval) according to the different modes. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 763cc3bf5c2ae189a929fce54759c5bd94b8ba16 Author: Johannes Berg Date: Fri Sep 3 06:32:21 2010 -0700 iwlwifi: avoid sending too many commands When the PAN context is unused, there's no need to continually update it in the device. So track which contexts are active (with the special case that the WLAN context is always active ...) and only send their commands to the device when needed. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c6abdc0dc3440b9b6ae00a59c3560ab2160c7c7d Author: Wey-Yi Guy Date: Wed Sep 1 17:10:51 2010 -0700 iwlwifi: allow configure protection mode Even driver use rts/cts protection mode for aggregation packets by default. Allow the protection mode to be configure through debugfs Signed-off-by: Wey-Yi Guy commit 2a3aeb44f555b2b51bbe58792e8ab172a69172c5 Author: Johannes Berg Date: Mon Aug 30 06:13:42 2010 -0700 iwlwifi: implement beacon interval change When the beacon interval needs to be changed, all we need to do is send updated timing to the device. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 27eafdda7714d5b189c175e71ab22c72c90ba93e Author: Johannes Berg Date: Mon Aug 30 06:12:00 2010 -0700 iwlwifi: fix PAN parameters while scanning When only the PAN side was active, we gave no time to the WLAN context, which is OK unless we are scanning, which always happens on the WLAN context. Fix this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 6e6ebf4befa75ebdf28130d0135f3ad3aadc02f8 Author: Wey-Yi Guy Date: Fri Aug 27 10:41:37 2010 -0700 iwlwifi: remember the last uCode sysassert error code When sysassert happen, uCode will report the error code, driver dump the information to dmesg. Here also remember the last error code for future reference. Signed-off-by: Wey-Yi Guy commit cf6da94acb1e158c8efe0d184ac757829fbf9632 Author: Tomas Winkler Date: Mon Aug 23 14:00:54 2010 -0700 iwlwifi: fix default LQ table in 5.2 band The default LQ is filled decreasingly using iwl_get_prev_ieee_rate from a starting rate. Since the starting rate is already the lowest one for a specific band it should be actually filled evenly with the starting rate: 1M and 6M for 5.2GHZ and 2.4GH respectively. The bug is that for for A or G-only it decreases to CCK rates which are not supported. iwl_get_prev_ieee_rate function is just not band aware. This affects broadcast station which lq table is not updated by rs algorithm G-only scenario is not treated by this patch iwl_get_prev_ieee_rate is removed completely as it is not used in other contexts Signed-off-by: Tomas Winkler Signed-off-by: Wey-Yi Guy commit 29f9e39a5518401debac71a151d0fa7eca044137 Author: Seungwhan Youn Date: Fri Sep 10 17:20:45 2010 +0900 ASoC: S3C: Fix PCM TXFIFO_DIPSTICK value This patch modify FIFO_DIPSTICK value of PCM TX FIFO to be a optimal one. Privious value (0x20) did not support 'Almost_full' of PCM FIFO for the DMA request. Signed-off-by: Seungwhan Youn Acked-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0cca9012527b77df1491f1b8422c7aae16e17ae0 Author: Seungwhan Youn Date: Fri Sep 10 17:20:00 2010 +0900 ASoC: S3C: Fix PCM RX FIFO settings When PCM capture, sound recorded abnormally because of RX FIFO threshold settings are missing. So, This patch modify PCM RX FIFO setting codes same as TX. And for DMA, if PCM RXFIFO_DIPSTICK is not '0', it doesn't effect to DMA request, because DMA refer RX_FIFO_EMPTY flag as the DMA request. Signed-off-by: Seungwhan Youn Acked-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 6946e037ee9e94a560a931fdb2e3e66964216cfe Author: Dimitris Papastamos Date: Fri Sep 10 18:24:08 2010 +0100 ASoC: Fix off-by-one bug in WM8962 register cache size configuration This is a simple off-by-one bug, the size of the register cache is incorrectly set to the maximum register index. Fix it by adding one. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 823108a056c52a83c32ca199a57566a36fad4d19 Author: Yinghai Lu Date: Sat Sep 11 00:08:42 2010 -0700 powerpc, memblock: Fix memblock API change fallout Fix memblock API change fallout in the WII code. Signed-off-by: Yinghai Lu Cc: linux-mm@kvack.org Cc: Benjamin Herrenschmidt LKML-Reference: <4C8B2AFA.2000705@kernel.org> Signed-off-by: Ingo Molnar commit da5ab11cdfdf496448e0e9cdbbc2dfe207a96c94 Author: Michal Simek Date: Sat Sep 11 00:07:06 2010 -0700 memblock, microblaze: Fix memblock API change fallout Adopt Microblaze to the memblock API changes, to fix this build failure: CC arch/microblaze/mm/init.o arch/microblaze/mm/init.c: In function 'mm_cmdline_setup': arch/microblaze/mm/init.c:236: error: 'struct memblock_type' has no member named 'region' ... Signed-off-by: Yinghai Lu Cc: linux-mm@kvack.org Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt LKML-Reference: <4C8B2A9A.1040303@kernel.org> Signed-off-by: Ingo Molnar commit 2c4ee9b579d17006ad9a83f13e3ae15c142dc41e Author: Matti J. Aaltonen Date: Fri Sep 10 10:41:30 2010 +0300 ASoC: WL1273 FM Radio: Eliminate unnecessary error return value. With this change it's not a error to call wl1273_set_audio_route when the codec is active if the new routing value is the same as the current active setting. Signed-off-by: Matti J. Aaltonen Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit c23fd751dc2953263be5989ca537fdee14dee46e Author: Jarkko Nikula Date: Fri Sep 10 14:23:29 2010 +0300 ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_level There is only need to enable/disable once the PLL when the bias is going between on, prepare, standby and off states. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 351e5a703ad994405bd900da330823d3b4a372e0 Author: Venkatesh Pallipadi Date: Fri Sep 10 15:55:50 2010 -0700 x86, mtrr: Support mtrr lookup for range spanning across MTRR range mtrr_type_lookup [start:end] looked up the resultant MTRR type for that range, based on fixed and all variable MTRR ranges. It did check for multiple MTRR var ranges overlapping [start:end] and returned the net type. However, if the [start:end] range spanned across any var MTRR range, mtrr_type_lookup would return an error return of 0xFE. This was based on typical usage of mtrr_type_lookup in PAT mapping, where region being mapped would not normally span across MTRR ranges and also trying to keep the code simple. Mark recently reported the problem with this limitation. When there are two continguous MTRR's of type "writeback" and if there is a memory mapping over a region starting in one MTRR range and ending in another MTRR range, such mapping will fallback to "uncached" due to the above limitation. Change below adds support for such lookups spanning multiple MTRR ranges. We now have a wrapper mtrr_type_lookup that dynamically splits such a region into smaller chunks that fit within one MTRR range and does a __mtrr_type_lookup on it and combine the results later. Reported-by: Mark Langsdorf Signed-off-by: Venkatesh Pallipadi LKML-Reference: <1284159350-19841-3-git-send-email-venki@google.com> Reviewed-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit a7f07cfbaa1dd5bf9e615948f280c92e7928e6f7 Author: Venkatesh Pallipadi Date: Fri Sep 10 15:55:49 2010 -0700 x86, mtrr: Refactor MTRR type overlap check code Move the MTRR type overlap check into a new function. No functional change in this patch. Just making it easier to add multiple region overlap check in the following patch. Signed-off-by: Venkatesh Pallipadi LKML-Reference: <1284159350-19841-2-git-send-email-venki@google.com> Reviewed-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit e5eec34c68eab7af8fe10d070cb0c948f73a8464 Author: Dimitris Papastamos Date: Fri Sep 10 18:14:56 2010 +0100 ASoC: Fix incorrect register cache size configuration The reg_cache_size is the number of elements in the register cache, not the size of the cache itself. This is not a problem if the size of each element of the cache is 1 byte but it matters in any other case. Signed-off-by: Dimitris Papastamos Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9ca7f8762299bb391c11a81c844224216e925b5c Author: stephen hemminger Date: Wed Sep 8 09:16:28 2010 +0000 pkt_sched: remov unnecessary bh_disable Now that est_tree_lock is acquired with BH protection, the other call is unnecessary. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a034ee3cca5726b14107f281f4bed1c0fd44472a Author: Eric Dumazet Date: Thu Sep 9 23:32:28 2010 +0000 fib: cleanups Use rcu_dereference_rtnl() helper Change hard coded constants in fib_flag_trans() 7 -> RTN_UNREACHABLE 8 -> RTN_PROHIBIT Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4642610c77b345130d6b5a08c75d23ad98601fd5 Author: Ben Hutchings Date: Fri Sep 10 06:42:33 2010 +0000 sfc: Allow changing the DMA ring sizes dynamically via ethtool This requires some reorganisation of channel setup and teardown to ensure that we can always roll-back a failed change. Based on work by Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ecc910f520ba8f22848982ee816ad75c449b805d Author: Steve Hodgson Date: Fri Sep 10 06:42:22 2010 +0000 sfc: Make the dmaq size a run-time setting (rather than compile-time) - Allow the ring size to be specified in non power-of-two sizes (for instance to limit the amount of receive buffers). - Automatically size the event queue. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8313aca38b3937947fffebca6e34bac8e24300c8 Author: Ben Hutchings Date: Fri Sep 10 06:41:57 2010 +0000 sfc: Allocate each channel separately, along with its RX and TX queues This will allow for reallocation of channel structures and rings. Change module parameter separate_tx_channels to be read-only, since we now require its value to be constant. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f7d12cdcbb28207b3bdcf4affbf3935e4c015d03 Author: Ben Hutchings Date: Fri Sep 10 06:41:47 2010 +0000 sfc: Refactor channel and queue lookup and iteration In preparation for changes to the way channels and queue structures are allocated, revise the macros and functions used to look up and iterator over them. - Replace efx_for_each_tx_queue() with iteration over channels then TX queues - Replace efx_for_each_rx_queue() with iteration over channels then RX queues (with one exception, shortly to be removed) - Introduce efx_get_{channel,rx_queue,tx_queue}() functions to look up channels and queues by index - Introduce efx_channel_get_{rx,tx}_queue() functions to look up a channel's queues Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ba1e8a35b77f3bc7d109696dbd2a7fd5af208b62 Author: Ben Hutchings Date: Fri Sep 10 06:41:36 2010 +0000 sfc: Abstract channel and index lookup for RX queues Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 58758aa505edc5b8f8393cee45b54c7485d76de5 Author: Ben Hutchings Date: Fri Sep 10 06:41:26 2010 +0000 sfc: Allocate DMA and event rings using GFP_KERNEL Currently we allocate DMA descriptor rings and event rings using pci_alloc_consistent() which selects non-blocking behaviour from the page allocator (GFP_ATOMIC). This is unnecessary, and since we currently allocate a single contiguous block for each ring (up to 32 pages!) these allocations are likely to fail if there is any significant memory pressure. Use dma_alloc_coherent() and GFP_KERNEL instead. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e42de26249c88a00715ea686993192546d07133e Author: Ben Hutchings Date: Fri Sep 10 06:41:19 2010 +0000 sfc: Fix failure paths in efx_probe_port() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7db8e8ec3995a1dc2bfadd8ac97e9024013db9c3 Author: Ben Hutchings Date: Fri Sep 10 06:41:12 2010 +0000 sfc: Remove declarations of functions that no longer exist Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 80485d3441fc26aff5ddb2bf44baf7a61e1909b4 Author: Ben Hutchings Date: Fri Sep 10 06:41:06 2010 +0000 sfc: Accumulate RX_NODESC_DROP count in rx_dropped, not rx_over_errors rx_over_errors appears to be intended as a count of packets that overflow a packet buffer in the NIC. Given that we implement a cut-through receive path, this should always be 0. rx_dropped appears to be the correct counter for packets dropped due to lack of host buffers. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1cdc2cfc8af6d1045c844b9e24a7910b57232065 Author: Ben Hutchings Date: Fri Sep 10 06:41:00 2010 +0000 sfc: Use MCDI RX_BAD_FCS_PKTS count as MAC rx_bad count Calculating rx_bad as rx_packets - rx_good is unnecessary and incorrect, since rx_good does not include control frames (e.g. pause frames) and rx_packets does. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 175b79f0632544d62aae72e5496c14e3e3ff2ae7 Author: Christof Schmitt Date: Fri Sep 10 20:50:40 2010 +0200 zfcp: Report scatter gather limit for DIX protection information When sending DIX integrity segments with an I/O request, the restriction for the maximum number of segments is still the same for the zfcp hardware. Report the new sg_prot_tablesize for the SCSI host, so that the number of integrity segments plus the number of data segments is not larger than the hardware limit. This results in using half of the hardware segments for integrity data and the other half for regular data. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: Jens Axboe commit 13f05c8d8e98bbdce89158bfdb2e380940695a88 Author: Martin K. Petersen Date: Fri Sep 10 20:50:10 2010 +0200 block/scsi: Provide a limit on the number of integrity segments Some controllers have a hardware limit on the number of protection information scatter-gather list segments they can handle. Introduce a max_integrity_segments limit in the block layer and provide a new scsi_host_template setting that allows HBA drivers to provide a value suitable for the hardware. Add support for honoring the integrity segment limit when merging both bios and requests. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit c8bf1336824ebd698d37b71763e1c43190f2229a Author: Martin K. Petersen Date: Fri Sep 10 20:07:38 2010 +0200 Consolidate min_not_zero We have several users of min_not_zero, each of them using their own definition. Move the define to kernel.h. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 5e98d492406818e6a94c0ba54c61f59d40cefa4a Author: Goldwyn Rodrigues Date: Mon Jun 28 10:04:32 2010 -0500 Track negative entries v3 Track negative dentries by recording the generation number of the parent directory in d_fsdata. The generation number for the parent directory is recorded in the inode_info, which increments every time the lock on the directory is dropped. If the generation number of the parent directory and the negative dentry matches, there is no need to perform the revalidate, else a revalidate is forced. This improves performance in situations where nodes look for the same non-existent file multiple times. Thanks Mark for explaining the DLM sequence. Signed-off-by: Goldwyn Rodrigues Signed-off-by: Joel Becker commit b4d693fcc5fe99ed211addb5c6a0f8398f0b266e Author: Tao Ma Date: Mon Aug 16 16:58:21 2010 +0800 ocfs2: Cache system inodes of other slots. Durring orphan scan, if we are slot 0, and we are replaying orphan_dir:0001, the general process is that for every file in this dir: 1. we will iget orphan_dir:0001, since there is no inode for it. we will have to create an inode and read it from the disk. 2. do the normal work, such as delete_inode and remove it from the dir if it is allowed. 3. call iput orphan_dir:0001 when we are done. In this case, since we have no dcache for this inode, i_count will reach 0, and VFS will have to call clear_inode and in ocfs2_clear_inode we will checkpoint the inode which will let ocfs2_cmt and journald begin to work. 4. We loop back to 1 for the next file. So you see, actually for every deleted file, we have to read the orphan dir from the disk and checkpoint the journal. It is very time consuming and cause a lot of journal checkpoint I/O. A better solution is that we can have another reference for these inodes in ocfs2_super. So if there is no other race among nodes(which will let dlmglue to checkpoint the inode), for step 3, clear_inode won't be called and for step 1, we may only need to read the inode for the 1st time. This is a big win for us. So this patch will try to cache system inodes of other slots so that we will have one more reference for these inodes and avoid the extra inode read and journal checkpoint. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit a33f13efe05192e7a805018a2ce2b2afddd04057 Author: Joel Becker Date: Mon Aug 16 12:10:17 2010 -0700 libfs: Fix shift bug in generic_check_addressable() generic_check_addressable() erroneously shifts pages down by a block factor when it should be shifting up. To prevent overflow, we shift blocks down to pages. Signed-off-by: Joel Becker commit 3bdb8efd94a73bb137e3315cd831cbc874052b4b Author: Patrick J. LoPresti Date: Thu Jul 22 15:05:57 2010 -0700 OCFS2: Allow huge (> 16 TiB) volumes to mount The OCFS2 developers have already done all of the hard work to allow volumes larger than 16 TiB. But there is still a "sanity check" in fs/ocfs2/super.c that prevents the mounting of such volumes, even when the cluster size and journal options would allow it. This patch replaces that sanity check with a more sophisticated one to mount a huge volume provided that (a) it is addressable by the raw word/address size of the system (borrowing a test from ext4); (b) the volume is using JBD2; and (c) the JBD2_FEATURE_INCOMPAT_64BIT flag is set on the journal. I factored out the sanity check into its own function. I also moved it from ocfs2_initialize_super() down to ocfs2_check_volume(); any earlier, and the journal will not have been initialized yet. This patch is one of a pair, and it depends on the other ("JBD2: Allow feature checks before journal recovery"). I have tested this patch on small volumes, huge volumes, and huge volumes without 64-bit block support in the journal. All of them appear to work or to fail gracefully, as appropriate. Signed-off-by: Patrick LoPresti Signed-off-by: Joel Becker commit e5f4d3394a52ac351f1a479fe136d92fa5228eff Author: Peter Zijlstra Date: Fri Sep 10 17:38:06 2010 +0200 perf: Fix perf_init_event() We ought to return -ENOENT when non of the registered PMUs recognise the requested event. This fixes a boot crash that occurs if no PMU is available but the NMI watchdog tries to register an event. Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 1113e1b504f6e8d4364c0b73c9097828067d4617 Author: Patrick J. LoPresti Date: Thu Jul 22 15:04:16 2010 -0700 JBD2: Allow feature checks before journal recovery Before we start accessing a huge (> 16 TiB) OCFS2 volume, we need to confirm that its journal supports 64-bit offsets. In particular, we need to check the journal's feature bits before recovering the journal. This is not possible with JBD2 at present, because the journal superblock (where the feature bits reside) is not loaded from disk until the journal is recovered. This patch loads the journal superblock in jbd2_journal_check_used_features() if it has not already been loaded, allowing us to check the feature bits before journal recovery. Signed-off-by: Patrick LoPresti Cc: linux-ext4@vger.kernel.org Acked-by: "Theodore Ts'o" Signed-off-by: Joel Becker commit 30ca22c70e3ef0a96ff84de69cd7e8561b416cb2 Author: Patrick J. LoPresti Date: Thu Jul 22 15:03:41 2010 -0700 ext3/ext4: Factor out disk addressability check As part of adding support for OCFS2 to mount huge volumes, we need to check that the sector_t and page cache of the system are capable of addressing the entire volume. An identical check already appears in ext3 and ext4. This patch moves the addressability check into its own function in fs/libfs.c and modifies ext3 and ext4 to invoke it. [Edited to -EINVAL instead of BUG_ON() for bad blocksize_bits -- Joel] Signed-off-by: Patrick LoPresti Cc: linux-ext4@vger.kernel.org Acked-by: Andreas Dilger Signed-off-by: Joel Becker commit 729963a1ff8d069d05dab6a024bfd59805ac622c Merge: 17ae521 6ea4843 Author: Joel Becker Date: Fri Sep 10 08:41:04 2010 -0700 Merge branch 'cow_readahead' of git://oss.oracle.com/git/tma/linux-2.6 into merge-2 commit 17ae521158d6fe89cfdd00a9990aa40d02e81391 Author: Tao Ma Date: Mon Aug 2 11:02:14 2010 +0800 ocfs2: Remove obsolete comments before ocfs2_start_trans. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit f9c57ada32ea3f2e12600cf274035fff063b2e0f Author: Tao Ma Date: Mon Aug 2 11:02:13 2010 +0800 ocfs2: Remove unused old_id in ocfs2_commit_cache. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 4c38881f87c21ada5609a4065cb10e3e74da0d6e Author: Jan Kara Date: Thu Aug 5 20:32:46 2010 +0200 ocfs2: Remove ocfs2_sync_inode() ocfs2_sync_inode() is used only from ocfs2_sync_file(). But all data has already been written before calling ocfs2_sync_file() and ocfs2 doesn't use inode's private_list for tracking metadata buffers thus sync_mapping_buffers() is superfluous as well. Signed-off-by: Jan Kara Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 83fd9c7f65634ac440a6b9b7a63ba562f213ac60 Author: Goldwyn Rodrigues Date: Thu Jun 10 17:21:36 2010 -0500 Reorganize data elements to reduce struct sizes Thanks for the comments. I have incorportated them all. CONFIG_OCFS2_FS_STATS is enabled and CONFIG_DEBUG_LOCK_ALLOC is disabled. Statistics now look like - ocfs2_write_ctxt: 2144 - 2136 = 8 ocfs2_inode_info: 1960 - 1848 = 112 ocfs2_journal: 168 - 160 = 8 ocfs2_lock_res: 336 - 304 = 32 ocfs2_refcount_tree: 512 - 472 = 40 Signed-off-by: Goldwyn Rodrigues Signed-off-by: Joel Becker commit 95fa859a268fd7d9bae6f2d4d095e3f61100ac1b Author: Tao Ma Date: Wed Jun 9 16:48:59 2010 +0800 ocfs2: Remove obscure error handling in direct_write. In ocfs2, actually we don't allow any direct write pass i_size, see the function ocfs2_prepare_inode_for_write. So we don't need the bogus simple_setsize. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 3c3f20c9813391ba4004764072989744395cf405 Author: Tao Ma Date: Tue Jun 1 13:58:13 2010 +0800 ocfs2: Add some trace log for orphan scan. Now orphan scan worker has no trace log, so it is very hard to tell whether it is finished or blocked. So add 2 mlog trace log so that we can tell whether the current orphan scan worker is blocked or not. It does help when I analyzed a orphan scan bug. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit ddee5cdb70e6f87de2fc696b87bd7bd184a51eb8 Author: Tristan Ye Date: Sat May 22 16:26:33 2010 +0800 Ocfs2: Add new OCFS2_IOC_INFO ioctl for ocfs2 v8. The reason why we need this ioctl is to offer the none-privileged end-user a possibility to get filesys info gathering. We use OCFS2_IOC_INFO to manipulate the new ioctl, userspace passes a structure to kernel containing an array of request pointers and request count, such as, * From userspace: struct ocfs2_info_blocksize oib = { .ib_req = { .ir_magic = OCFS2_INFO_MAGIC, .ir_code = OCFS2_INFO_BLOCKSIZE, ... } ... } struct ocfs2_info_clustersize oic = { ... } uint64_t reqs[2] = {(unsigned long)&oib, (unsigned long)&oic}; struct ocfs2_info info = { .oi_requests = reqs, .oi_count = 2, } ret = ioctl(fd, OCFS2_IOC_INFO, &info); * In kernel: Get the request pointers from *info*, then handle each request one bye one. Idea here is to make the spearated request small enough to guarantee a better backward&forward compatibility since a small piece of request would be less likely to be broken if filesys on raw disk get changed. Currently, the following 7 requests are supported per the requirement from userspace tool o2info, and I believe it will grow over time:-) OCFS2_INFO_CLUSTERSIZE OCFS2_INFO_BLOCKSIZE OCFS2_INFO_MAXSLOTS OCFS2_INFO_LABEL OCFS2_INFO_UUID OCFS2_INFO_FS_FEATURES OCFS2_INFO_JOURNAL_SIZE This ioctl is only specific to OCFS2. Signed-off-by: Tristan Ye Signed-off-by: Joel Becker commit c7bad06f1305be2cfa68ad58dc3391261162db4e Author: Axel Lin Date: Thu Sep 9 17:50:56 2010 +0800 ASoC: ad1980 - set reg_cache_default to ad1980_reg Signed-off-by: Axel Lin Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 3056c70c4943f1838b432a61956f609035ac1b7e Author: Kuninori Morimoto Date: Thu Sep 9 16:30:18 2010 +0900 fbdev: sh_mobile_hdmi: Add select SND_SOC to Kconfig This patch solve compile error when .config doesn't have CONFIG_SND_SOC which is needed for HDMI sound. It was reported by Guennadi as follows Besides, I think, this will not link without CONFIG_SND_SOC. Reported-by: Guennadi Liakhovetski Signed-off-by: Kuninori Morimoto Reviewed-by: Guennadi Liakhovetski Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b5e31dfe069e9ddd877e277116ca2f155137a937 Author: Kuninori Morimoto Date: Thu Sep 9 11:48:30 2010 +0900 ASoC: fsi-hdmi: remove unneeded header This patch solve below report from Guennadi. But I didn't remove #include . Because it have FSI_PORT_B define which is used on this file. > +#include > +#include > +#include