commit aea1f7964ae6cba5eb419a958956deb9016b3341 Merge: 457f82b 04e448d Author: Linus Torvalds Date: Mon Jul 20 16:49:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: vmlinux.lds.h: restructure BSS linker script macros kconfig: initialize the screen before using curses(3) functions kconfig: variable argument lists needs `stdarg.h' kbuild, deb-pkg: fix install scripts for posix sh commit 457f82bac659745f6d5052e4c493d92d62722c9c Merge: eb872c1 9c9ad61 Author: Linus Torvalds Date: Mon Jul 20 16:48:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: Fix incorrect parameters to v9fs_file_readn. 9p: Possible regression in p9_client_stat 9p: default 9p transport module fix commit eb872c159f15a7d1b3aa2be9ac4cd66abaac6874 Merge: ae42b9e 90a98b2 Author: Linus Torvalds Date: Mon Jul 20 16:47:30 2009 -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: cifs: free nativeFileSystem field before allocating a new one [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats commit ae42b9e1ca8969d52e51f5e461b2e89e180943dd Merge: 6cdbf73 6843f40 Author: Linus Torvalds Date: Mon Jul 20 16:46:49 2009 -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: (21 commits) Blackfin: define HARDIRQ_BITS again for now arch/blackfin: Add kmalloc NULL tests Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions Blackfin: work around anomaly 05000189 Blackfin: drop per-cpu loops_per_jiffy tracking Blackfin: fix bugs in GPIO resume code Blackfin: bf537-stamp: fix irq decl for AD7142 Blackfin: fix handling of IPEND in interrupt context save Blackfin: drop duplicate runtime checking of anomaly 05000448 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver Blackfin: fix wrong CTS inversion Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) Blackfin: fix early_dma_memcpy() handling of busy channels Blackfin: handle BF561 Core B memory regions better when SMP=n Blackfin: fix miscompilation in lshrdi3 Blackfin: fix silent crash when no uClinux MTD filesystem exists Blackfin: restore exception banner when dumping crash info Blackfin: work around anomaly 05000281 Blackfin: update anomaly lists to match latest sheets/usage Blackfin: drop dead flash_probe call ... commit 6cdbf734493d6e8f5afc6f539b82897772809d43 Author: Nicolas Pitre Date: Sat Jul 18 20:34:37 2009 -0400 mvsdio: fix handling of partial word at the end of PIO transfer Standard data flow for MMC/SD/SDIO cards requires that the mvsdio controller be set for big endian operation. This is causing problems with buffers which length is not a multiple of 4 bytes as the last partial word doesn't get shifted all the way and stored properly in memory. Let's compensate for this. Signed-off-by: Nicolas Pitre CC: stable@kernel.org Signed-off-by: Linus Torvalds commit 0ecf24ef49d4f46ff5d6af357c3b9ec8d798160d Author: Sonic Zhang Date: Mon Jul 20 16:05:37 2009 +0100 blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 23198fda7182969b619613a555f8645fdc3dc334 Author: Alan Cox Date: Mon Jul 20 16:05:27 2009 +0100 tty: fix chars_in_buffers This function does not have an error return and returning an error is instead interpreted as having a lot of pending bytes. Reported by Jeff Harris who provided a list of some of the remaining offenders. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 254702568da63ce6f5ad68e77d83b427da693654 Author: Julia Lawall Date: Mon Jul 20 16:05:07 2009 +0100 specialix.c: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // Signed-off-by: Julia Lawall Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c46a7aec556ffdbdb7357db0b05904b176cb3375 Author: Kay Sievers Date: Mon Jul 20 16:04:55 2009 +0100 vc: create vcs(a) devices for consoles The buffer for the consoles are unconditionally allocated at con_init() time, which miss the creation of the vcs(a) devices. Since 2.6.30 (commit 4995f8ef9d3aac72745e12419d7fbaa8d01b1d81, 'vcs: hook sysfs devices into object lifetime instead of "binding"' to be exact) these devices are no longer created at open() and removed on close(), but controlled by the lifetime of the buffers. Reported-by: Gerardo Exequiel Pozzi Tested-by: Gerardo Exequiel Pozzi Cc: stable@kernel.org Signed-off-by: Kay Sievers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 90a98b2f3f3647fb17667768a348b2b219f2a9f7 Author: Jeff Layton Date: Mon Jul 20 13:40:52 2009 -0400 cifs: free nativeFileSystem field before allocating a new one ...otherwise, we'll leak this memory if we have to reconnect (e.g. after network failure). Signed-off-by: Jeff Layton CC: Stable Signed-off-by: Steve French commit a7571a5c8887b328c0e036fe8cdb60d56809c120 Merge: 78af08d 64e8be6 Author: Linus Torvalds Date: Sat Jul 18 11:59:33 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Realview & Versatile: Fix i2c_board_info definitions [ARM] 5608/1: Updated U300 defconfig [ARM] 5606/1: Fix ep93xx watchdog driver headers [ARM] 5594/1: Correct U300 VIC init PM setting [ARM] 5595/1: ep93xx: missing header in dma-m2p.c [ARM] Kirkwood: Correct header define [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines backlight: fix pwm_bl.c to notify platform code when suspending [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() [ARM] pxa: correct I2CPWR clock for pxa3xx pxamci: correct DMA flow control ARM: add support for the EET board, based on the i.MX31 pcm037 module pcm037: add MT9T031 camera support Armadillo 500 add NAND flash device support (resend). ARM MXC: Armadillo 500 add NOR flash device support (resend). mx31: remove duplicated #include commit 64e8be6ebdb8212898781fff7722ff2b0eb76131 Author: Russell King Date: Sat Jul 18 15:51:55 2009 +0100 ARM: Realview & Versatile: Fix i2c_board_info definitions Fix i2c_board_info definitions - we were defining the 'type' field of these structures twice since the first argument of I2C_BOARD_INFO sets this field. Move the second definition into I2C_BOARD_INFO(). Signed-off-by: Russell King Acked-by: Jean Delvare Acked-by: Ben Dooks commit 78af08d90b8f745044b1274430bc4bc6b2b27aca Merge: a1cc1ba ecca068 Author: Linus Torvalds Date: Fri Jul 17 21:19:50 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: Move a dereference below a NULL test fb/intelfb: conflict with DRM_I915 and hide by default drm/ttm: fix misplaced parentheses drm/via: Fix vblank IRQ on VIA hardware. drm: drm_gem, check kzalloc retval drm: drm_debugfs, check kmalloc retval drm/radeon: add some missing pci ids commit 287638b2c533165c3c03dfa15196c2ba583cd287 Merge: f6c4338 a1cc1ba Author: Steve French Date: Sat Jul 18 03:13:38 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 04e448d9a386640a79a4aa71251aa1cdd314f662 Author: Tim Abbott Date: Sun Jul 12 18:23:33 2009 -0400 vmlinux.lds.h: restructure BSS linker script macros The BSS section macros in vmlinux.lds.h currently place the .sbss input section outside the bounds of [__bss_start, __bss_end]. On all architectures except for microblaze that handle both .sbss and __bss_start/__bss_end, this is wrong: the .sbss input section is within the range [__bss_start, __bss_end]. Relatedly, the example code at the top of the file actually has __bss_start/__bss_end defined twice; I believe the right fix here is to define them in the BSS_SECTION macro but not in the BSS macro. Another problem with the current macros is that several architectures have an ALIGN(4) or some other small number just before __bss_stop in their linker scripts. The BSS_SECTION macro currently hardcodes this to 4; while it should really be an argument. It also ignores its sbss_align argument; fix that. mn10300 is the only user at present of any of the macros touched by this patch. It looks like mn10300 actually was incorrectly converted to use the new BSS() macro (the alignment of 4 prior to conversion was a __bss_stop alignment, but the argument to the BSS macro is a start alignment). So fix this as well. I'd like acks from Sam and David on this one. Also CCing Paul, since he has a patch from me which will need to be updated to use BSS_SECTION(0, PAGE_SIZE, 4) once this gets merged. Signed-off-by: Tim Abbott Cc: Paul Mundt Cc: David Howells Signed-off-by: Sam Ravnborg commit d0e1e09568507ac771072d97f0781af82c935b3e Author: Arnaud Lacombe Date: Mon Jul 6 00:07:28 2009 -0400 kconfig: initialize the screen before using curses(3) functions This is needed on non ncurses based implementation to get a properly initialized `stdscr' in main(). Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 668cdedfdb2eb00d8efe127618bead4d46d9e942 Author: Arnaud Lacombe Date: Mon Jul 6 00:07:14 2009 -0400 kconfig: variable argument lists needs `stdarg.h' Fix build on non GNU based platforms. Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 241ad11f2d2542723136ffa81cd5db61d590156c Author: maximilian attems Date: Sun Jul 5 20:17:34 2009 +0200 kbuild, deb-pkg: fix install scripts for posix sh bash versus dash and posh disagree on expanding $@ within double quotes: export x="$@" see http://bugs.debian.org/381091 for details just use the arglist with $*. dpkg: error processing linux-image-2.6.31-rc1_2.6.31-rc1-18_i386.deb (--install): subprocess pre-installation script returned error exit status 2 export: 6: 2.6.31-rc1-18: bad variable name fixes http://bugzilla.kernel.org/show_bug.cgi?id=13567 seen on Ubuntu as there dash is the default sh, versus bash on Debian. Reported-by: Pauli Cc: Frans Pop Signed-off-by: maximilian attems Acked-By: Andres Salomon commit a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 Merge: 499ee07 18282b3 Author: Linus Torvalds Date: Fri Jul 17 11:15:00 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6: Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" Add dma_debug_init() for ia64 Fix ia64 compilation IS_ERR and PTE_ERR errors. commit 499ee0710f9881423d807c6ecc451c5e1bd5ff62 Merge: 8e3b3bb 857fdc5 Author: Linus Torvalds Date: Fri Jul 17 10:51:55 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/pci: insert ioapic resource before assigning unassigned resources commit 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b Merge: 301d95c 15c2ac0 Author: Linus Torvalds Date: Fri Jul 17 08:53:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: riptide - proper handling of pci_register_driver for joystick sound: usb-audio: add workaround for Blue Microphones devices ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 301d95c4dade09388f94258ee797d2d650dc00b5 Merge: b983d0d e79f07e Author: Linus Torvalds Date: Fri Jul 17 08:53:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: virtio_net: Sync header with qemu virtio-pci: correctly unregister root device on error virtio_blk: ioctl return value fix virtio_blk: don't bounce highmem requests lguest: restrict CPUID to avoid perf counter wrmsr lguest: remove unnecessary forward struct declaration lguest: fix journey commit b983d0deb0e28f8880cdea79def575d96a27e603 Merge: ecc2e05 04aef32 Author: Linus Torvalds Date: Fri Jul 17 08:53:14 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function: Fix the return value of ftrace_trace_onoff_callback() commit ecc2e05e739c30870c8e4f252b63a0c4041f2724 Author: Alan Cox Date: Fri Jul 17 16:17:26 2009 +0100 tty_port: Fix return on interrupted use Whoops.. fortunately not many people use this yet. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 18282b36d742347abd9a4bc74fe9fd2432a8335b Author: Aurelien Jarno Date: Fri Jul 17 06:35:05 2009 -0700 Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" asm/fpu.h uses the __IA64_UL macro which is declared in asm/types.h, so this include is really required. Without it, GNU libc fails to build. This reverts commit 2678c07b07ac2076675e5d57653bdf02e9af1950. Signed-off-by: Aurelien Jarno Acked-by: Fenghua Yu commit 390bd132b2831a2ad0268e84bffbfc0680debfe5 Author: fujita Date: Thu Jul 9 21:25:05 2009 -0700 Add dma_debug_init() for ia64 The commit 9916219579d078c80377dd3988c2cc213536d868 was supposed to add CONFIG_DMA_API_DEBUG support to IA64 however I forgot to add dma_debug_init(). Signed-off-by: fujita Acked-by: Fenghua Yu commit 6f409461210baf76ade1bfdd9470fd5b98378b36 Author: Fenghua Yu Date: Thu Jul 9 21:23:39 2009 -0700 Fix ia64 compilation IS_ERR and PTE_ERR errors. When building ia64 kernel with CONFIG_XEN_SYS_HYPERVISOR, compiler reports errors: drivers/xen/sys-hypervisor.c: In function ‘uuid_show’: drivers/xen/sys-hypervisor.c:125: error: implicit declaration of function ‘IS_ERR’ drivers/xen/sys-hypervisor.c:126: error: implicit declaration of function ‘PTR_ERR’ This patch fixes the errors. Signed-off-by: Fenghua Yu Acked-by: Isaku Yamahata commit d740d347f856f0fd8baf2f63d8daa600ed135bfd Author: Linus Walleij Date: Thu Jul 16 22:40:26 2009 +0100 [ARM] 5608/1: Updated U300 defconfig Removed the LBD support that isn't of any use right now at least, then remove remnants of the TCM config flags that somehow crept in by mistake (not yet merged patch for 2.6.32) and then the usual defconfig noise from updated menus. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 2653d1d7f0284f3b68f25dafa208d0a013f7e9db Author: Ryan Mallon Date: Wed Jul 15 21:33:22 2009 +0100 [ARM] 5606/1: Fix ep93xx watchdog driver headers Fix a number of build errors in the ep93xx watchdog driver due to missing io.h Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit e79f07e2925b10f09a2621650c16f3d6ea778747 Author: Alex Williamson Date: Tue Jul 7 08:47:10 2009 -0600 virtio_net: Sync header with qemu Qemu added support for a few extra RX modes that Linux doesn't currently make use of. Sync the headers to maintain consistency. Signed-off-by: Alex Williamson Signed-off-by: Rusty Russell commit 4b892e6582e3a4fe01f623aea386907270d5bf83 Author: Mark McLoughlin Date: Tue Jul 7 08:26:45 2009 +0100 virtio-pci: correctly unregister root device on error If pci_register_driver() fails we're incorrectly unregistering the root device with device_unregister() rather than root_device_unregister(). Reported-by: Don Zickus Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit d9ecdea7ed7467db32ec160f4eca46c279255606 Author: Christoph Hellwig Date: Sat Jun 20 21:29:41 2009 +0200 virtio_blk: ioctl return value fix Block driver ioctl methods must return ENOTTY and not -ENOIOCTLCMD if they expect the block layer to handle generic ioctls. This triggered a BLKROSET failure in xfsqa #200. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 4eff3cae9c9809720c636e64bc72f212258e0bd5 Author: Christoph Hellwig Date: Fri Jul 17 21:47:45 2009 -0600 virtio_blk: don't bounce highmem requests By default a block driver bounces highmem requests, but virtio-blk is perfectly fine with any request that fit into it's 64 bit addressing scheme, mapped in the kernel virtual space or not. Besides improving performance on highmem systems this also makes the reproducible oops in __bounce_end_io go away (but hiding the real cause). Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 7a5049205f7265620c48781814155f2763e70abb Author: Rusty Russell Date: Fri Jul 17 21:47:44 2009 -0600 lguest: restrict CPUID to avoid perf counter wrmsr Avoid the following: [ 0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40() Rather than chase each new cpuid-detected feature, just lie about the highest valid CPUID so this code is never run. Signed-off-by: Rusty Russell commit 27de22d03d6808a82bbe9bd7e3cc75d60132ba9e Author: Davide Libenzi Date: Fri Jul 17 21:47:44 2009 -0600 lguest: remove unnecessary forward struct declaration While fixing lg.h to drop the fwd declaration, I noticed there's another one ;) Signed-off-by: Rusty Russell commit 5780888bcac316508eb5f4dd23bbea8b5057647c Author: Matias Zabaljauregui Date: Thu Jun 18 11:44:06 2009 -0300 lguest: fix journey fix: "make Guest" was complaining about duplicated G:032 Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b Author: Xiao Guangrong Date: Wed Jul 15 12:29:06 2009 +0800 tracing/function: Fix the return value of ftrace_trace_onoff_callback() ftrace_trace_onoff_callback() will return an error even if we do the right operation, for example: # echo _spin_*:traceon:10 > set_ftrace_filter -bash: echo: write error: Invalid argument # cat set_ftrace_filter #### all functions enabled #### _spin_trylock_bh:traceon:count=10 _spin_unlock_irq:traceon:count=10 _spin_unlock_bh:traceon:count=10 _spin_lock_irq:traceon:count=10 _spin_unlock:traceon:count=10 _spin_trylock:traceon:count=10 _spin_unlock_irqrestore:traceon:count=10 _spin_lock_irqsave:traceon:count=10 _spin_lock_bh:traceon:count=10 _spin_lock:traceon:count=10 We want to set _spin_*:traceon:10 to set_ftrace_filter, it complains with "Invalid argument", but the operation is successful. This is because ftrace_process_regex() returns the number of functions that matched the pattern. If the number is not 0, this value is returned by ftrace_regex_write() whereas we want to return the number of bytes virtually written. Also the file offset pointer is not updated in this case. If the number of matched functions is lower than the number of bytes written by the user, this results to a reprocessing of the string given by the user with a lower size, leading to a malformed ftrace regex and then a -EINVAL returned. So, this patch fixes it by returning 0 if no error occured. The fix also applies on 2.6.30 Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Cc: stable@kernel.org Signed-off-by: Frederic Weisbecker commit 6843f405da9d0adf734d8f695311e29cc92a220c Author: Mike Frysinger Date: Thu Jul 16 13:53:37 2009 -0400 Blackfin: define HARDIRQ_BITS again for now The default values of HARDIRQ_BITS and PREEMPT_BITS in common code leads to build failure: In file included from include/linux/interrupt.h:12, from include/linux/kernel_stat.h:8, from arch/blackfin/kernel/asm-offsets.c:32: include/linux/hardirq.h:66:2: error: #error PREEMPT_ACTIVE is too low! So until that gets resolved, just declare our own default value again. Signed-off-by: Mike Frysinger commit 4b0a84043e0c14088958fddb62f416d050368011 Merge: 63f7a33 d07387b Author: Linus Torvalds Date: Thu Jul 16 10:18:29 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched: sched: Fix bug in SCHED_IDLE interaction with group scheduling sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() sched: Reset sched stats on fork() sched_rt: Fix overload bug on rt group scheduling sched: Documentation/sched-rt-group: Fix style issues & bump version commit 63f7a330014ad29b662638caabd8e96fe945b9ed Merge: a132ebc f9f868d Author: Linus Torvalds Date: Thu Jul 16 10:07:37 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timer stats: fix quick check optimization commit a132ebcb454568cc06fbdf3a5629eb9d64c9d578 Merge: 8077088 0115cb5 Author: Linus Torvalds Date: Thu Jul 16 10:05:34 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix another bug in move of altivec code to vector.S powerpc: Fix booke user_disable_single_step() commit 807708844979ba8c6d5717345a8608454992696d Author: Alan Cox Date: Thu Jul 16 16:07:03 2009 +0100 n_tty: Fix echo race If a tty in N_TTY mode with echo enabled manages to get itself into a state where - echo characters are pending - FASYNC is enabled - tty_write_wakeup is called from either - a device write path (pty) - an IRQ (serial) then it either deadlocks or explodes taking a mutex in the IRQ path. On the serial side it is almost impossible to reproduce because you have to go from a full serial port to a near empty one with echo characters pending. The pty case happens to have become possible to trigger using emacs and ptys, the pty changes having created a scenario which shows up this bug. The code path is n_tty:process_echoes() (takes mutex) tty_io:tty_put_char() pty:pty_write (or serial paths) tty_wakeup (from pty_write or serial IRQ) n_tty_write_wakeup() process_echoes() *KABOOM* Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9237a81a1468d0aca1cc4e244bba2362d6f81b35 Author: Jiri Slaby Date: Thu Jul 16 16:06:18 2009 +0100 tty: nozomi, fix tty refcounting bug Don't forget to drop a tty refererence on fail paths in receive_data(). Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5c9228f0cfb09a098a8a380116b42ae099e967b6 Author: Johannes Weiner Date: Thu Jul 16 16:06:09 2009 +0100 vt: drop bootmem/slab memory distinction Bootmem is not used for the vt screen buffer anymore as slab is now available at the time the console is initialized. Get rid of the now superfluous distinction between slab and bootmem, it's always slab. This also fixes a kmalloc leak which Catalin described thusly: Commit a5f4f52e ("vt: use kzalloc() instead of the bootmem allocator") replaced the alloc_bootmem() with kzalloc() but didn't set vc_kmalloced to 1 and the memory block is later leaked. The corresponding kmemleak trace: unreferenced object 0xdf828000 (size 8192): comm "swapper", pid 0, jiffies 4294937296 backtrace: [] __save_stack_trace+0x17/0x1c [] log_early+0x55/0x84 [] kmemleak_alloc+0x33/0x3c [] __kmalloc+0xd7/0xe4 [] con_init+0xbf/0x1b8 [] console_init+0x11/0x20 [] start_kernel+0x137/0x1e4 Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Tested-by: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ff5392d77bbb0746d1a034e955231f03ffc30b61 Author: Andrew Morton Date: Thu Jul 16 16:05:53 2009 +0100 drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset dcb314@hotmail.com notes that this memset has its args reversed. It's unneeded anyway, so remove it. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13587 Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8f4256b22c554f713ffdd395c1f2bfd53746cfc9 Author: Uwe Kleine-König Date: Thu Jul 16 16:05:43 2009 +0100 serial: don't add msm_serial's probe function to the driver struct msm_serial_driver is registered using platform_driver_probe which takes care for the probe function itself. So don't pass it in the driver struct, too. Signed-off-by: Uwe Kleine-König Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c8d50041734534e0a4b0ea13df36ed5857fccd56 Author: Alan Cox Date: Thu Jul 16 16:05:08 2009 +0100 tty: fix close/hangup race We can get a situation where a hangup occurs during or after a close. In that case the ldisc gets disposed of by the close and the hangup then explodes. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a3ca86aea507904148870946d599e07a340b39bf Author: Eugene Teo Date: Wed Jul 15 14:59:10 2009 +0800 Add '-fno-delete-null-pointer-checks' to gcc CFLAGS Turning on this flag could prevent the compiler from optimising away some "useless" checks for null pointers. Such bugs can sometimes become exploitable at compile time because of the -O2 optimisation. See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html An example that clearly shows this 'problem' is commit 6bf67672. static void __devexit agnx_pci_remove(struct pci_dev *pdev) { struct ieee80211_hw *dev = pci_get_drvdata(pdev); - struct agnx_priv *priv = dev->priv; + struct agnx_priv *priv; AGNX_TRACE; if (!dev) return; + priv = dev->priv; By reverting this patch, and compile it with and without -fno-delete-null-pointer-checks flag, we can see that the check for dev is compiled away. call printk # - testq %r12, %r12 # dev - je .L94 #, movq %r12, %rdi # dev, Clearly the 'fix' is to stop using dev before it is tested, but building with -fno-delete-null-pointer-checks flag at least makes it harder to abuse. Signed-off-by: Eugene Teo Acked-by: Eric Paris Acked-by: Wang Cong Signed-off-by: Linus Torvalds commit 4a21b8cb3550f19f838f7c48345fbbf6a0e8536b Author: Linus Torvalds Date: Thu Jul 16 09:14:23 2009 -0700 Revert "ppp: Fix throttling bugs" This reverts commit a6540f731d506d9e82444cf0020e716613d4c46c, as requested by Alan: "... as it was wrong, the pty code is now fixed and the fact this isn't reverted is breaking pptp setups." Requested-by: Alan Cox Signed-off-by: Linus Torvalds commit 15c2ac051c730210b7ef2c93807b576e89e129d2 Merge: 9d79b13 8886f33 Author: Takashi Iwai Date: Thu Jul 16 16:35:50 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: sound: usb-audio: add workaround for Blue Microphones devices commit 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 Merge: 2688779 cb65c87 Author: Takashi Iwai Date: Thu Jul 16 16:35:48 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: riptide - proper handling of pci_register_driver for joystick commit 26887793b64ae93342c1e2548595d4c6f7dce694 Merge: 9d5b28d 9d30937 Author: Takashi Iwai Date: Thu Jul 16 16:35:47 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking commit 9d5b28d530000aa5a256046f0dd42a3787687cc9 Merge: 6847e15 b7d4de7 Author: Takashi Iwai Date: Thu Jul 16 16:35:46 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 994e9a2e01f47f7ce24dec7edc45d70401468370 Author: Julia Lawall Date: Tue Jul 14 03:15:19 2009 +0000 arch/blackfin: Add kmalloc NULL tests Check that the result of kmalloc is not NULL before passing it to other functions. In the first two cases, the new code returns -ENOMEM, which seems compatible with what is done for similar functions for other architectures. In the last two cases, the new code fails silently, ie just returns, because the function has void return type. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 5bc6e3cfe6db5f33c60f042a9ba203431f334756 Author: Graf Yang Date: Fri Jul 10 11:34:51 2009 +0000 Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions The Blackfin SMP port was missing CPLB entries for Core B on-chip L1 SRAM regions. Any code that attempted to use these would wrongly crash due to a CPLB miss. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f574a76a3b19848ac61814756716e26f85f2c3f7 Author: Robin Getz Date: Thu Jul 9 15:11:52 2009 +0000 Blackfin: work around anomaly 05000189 Similar to anomaly 05000281 but not as bad, we cannot return to the instruction causing a fault otherwise we'll trigger a second false exception. The system can still recover, but it isn't correct. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit c70c754ff916cedd969a73549799d2167ffefcd6 Author: Michael Hennerich Date: Thu Jul 9 09:58:52 2009 +0000 Blackfin: drop per-cpu loops_per_jiffy tracking On Blackfin SMP, a per-cpu loops_per_jiffy is pointless since both cores always run at the same CCLK. In addition, the current implementation has flaws since the main consumer for loops_per_jiffy (asm/delay.h) uses the global kernel loops_per_jiffy and not the per_cpu one. So punt all of the per-cpu handling and go back to the global shared one. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit c03c2a87347b849ec927d7d2ea79a6955e19f492 Author: Michael Hennerich Date: Wed Jul 8 12:04:43 2009 +0000 Blackfin: fix bugs in GPIO resume code Change the bfin_gpio_pm_hibernate_restore() function to: 1) AND restored DATA with DIR (not OR) to get correct final state 2) Restore DATA before setting DIR to avoid glitches Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 4c94c3e09adba9718218d6e3d35b2dfae81f3911 Author: Barry Song Date: Tue Jul 7 07:41:50 2009 +0000 Blackfin: bf537-stamp: fix irq decl for AD7142 The AD7142 add-on card hooks the IRQ line up to PG5, not PF5. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit ad863a9dc9887330b2ab753323063865c59d8db6 Author: Robin Getz Date: Tue Jul 7 02:47:14 2009 +0000 Blackfin: fix handling of IPEND in interrupt context save The interrupt context save logic incorrectly stored the address of the IPEND register rather than its value due to a missing dereference. While we're here, also enable this code for all kernel debugging scenarios and not just when KGDB is enabled. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3a920accbb5f88d753ab5a6a47d0dd48b6269f84 Author: Robin Getz Date: Mon Jul 6 14:29:08 2009 +0000 Blackfin: drop duplicate runtime checking of anomaly 05000448 We already catch this anomaly at compile time, and the runtime version is such that it ends up checking on all parts rather than just the ones that might actually have it. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit ebd5833327e3fb46eb55553d8f5432b5226bf897 Author: Michael Hennerich Date: Thu Jul 2 11:00:38 2009 +0000 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver The sed used to rename the bfin-twi-lcd only replaced the first instance rather than all which led to the resources not being enabled when the driver was built as a module. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit f1c717fbf89f5a24d539ecf4baa5d4c3888e3bf9 Author: Sonic Zhang Date: Wed Jul 1 07:43:23 2009 +0000 Blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 10a5ecd03f9f5c374f954cf50a4f85d73f8ce338 Author: Graf Yang Date: Wed Jul 1 04:08:01 2009 +0000 Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) This anomaly only applies to the BF527-0.1, not the BF526-0.1, and not any other revision of the BF527. So make sure we don't go returning 0xffff for other cases. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 532f07ca04c6f8ab0555b00cf5d42dc6f72b802f Author: Mike Frysinger Date: Mon Jun 29 22:45:50 2009 +0000 Blackfin: fix early_dma_memcpy() handling of busy channels The early logic to locate a free DMA channel and then set it up was broken in a few ways that only manifested itself when we needed to set up more than 2 on chip SRAM regions (most board defaults setup 1 or 2). First, we checked the wrong status register (the destination gets updated, not the source) and second, we did the ssync before rather than after resetting a DMA config register. Signed-off-by: Mike Frysinger commit fb4b5d3a379824d94fd71fc1aa78e9dbcb15b948 Author: Mike Frysinger Date: Mon Jun 29 14:20:10 2009 -0400 Blackfin: handle BF561 Core B memory regions better when SMP=n Rather than assume Core B is always run with caches turned on, let people load into any of the on-chip memory regions. It is their business how the SRAM/Cache regions are utilized, so don't prevent them from being able to load into them. Signed-off-by: Mike Frysinger commit 8399a74f61c69c7d233924de3dd314ca0effa16a Author: Jie Zhang Date: Sun Jun 28 13:19:36 2009 +0000 Blackfin: fix miscompilation in lshrdi3 The code used in the Blackfin lshrdi3 utilizes gcc constructs. However, the structures declared don't line up with the code gcc generates, so under certain optimizations, we get bad code and things crap out in fun random ways. So rather than trying to maintain different gcc definitions ourselves, just use the ones available in gcclib.h. URL: http://blackfin.uclinux.org/gf/tracker/5286 Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit dc437b1b596e310bb583de3868c3d61a6798c81c Author: Robin Getz Date: Fri Jun 26 12:23:51 2009 +0000 Blackfin: fix silent crash when no uClinux MTD filesystem exists Since we need to relocate the attached filesystem with the uClinux MTD map (to handle some anomalies), we need to know its real filesize. If we boot a kernel without a filesystem actually attached, we end up blindly reading and copying garbage (since there is no magic value to detect validity). Often times this results in an early crash and no output. So add a few basic sanity checks before operating on things to catch the majority of cases. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 15627bd35c6f02d159e0cb41d287dcba3a23a135 Author: Mike Frysinger Date: Tue Jun 23 11:21:34 2009 +0000 Blackfin: restore exception banner when dumping crash info Previous unification code put the exception banner behind the "is oops" logic when it should have been printed all the time. Signed-off-by: Mike Frysinger commit 0e4edcf0b0f7d96c4be7788b13bee82e4d3ba0ce Author: Robin Getz Date: Mon Jun 22 20:23:48 2009 +0000 Blackfin: work around anomaly 05000281 Add missing anomaly workaround for anomaly 05000281 - we can't return to instructions which cause hardware errors otherwise we trigger the error again which means we go into an infinite loop of handling, returning, and retriggering. This work around confuses gdb when the error occurs as the PC will seemed to have moved, so a better long term fix will need to be figured out, but for now this is better than an infinite crash loop. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 976119bc5d2253bb47f3255ee178ce1ee605fd3c Author: Graf Yang Date: Wed Jul 1 07:05:40 2009 +0000 Blackfin: update anomaly lists to match latest sheets/usage Signed-off-by: Graf Yang Signed-off-by: Cliff Cai Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit b2dc0a08845af9d6ea990a1a28d4545998707570 Author: Mike Frysinger Date: Sat Jun 20 15:36:09 2009 -0400 Blackfin: drop dead flash_probe call There are no CONFIG_{BLK,CHR}_DEV_FLASH Kconfig options, and there is no flash_probe() function, so not really sure what this code is all about. Seems to be dead code that stretches way back to the start of the Blackfin port. Signed-off-by: Mike Frysinger commit 1997660cea28202ece0956cd44f332ac57700138 Author: Robin Getz Date: Wed Jun 17 15:18:18 2009 +0000 Blackfin: cleanup code a bit with comments and defines Improve the assembly with a few explanatory comments and use symbolic defines rather than numeric values for bit positions. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f6c43385435640e056424034caac0d765c45e370 Merge: 65bc98b 35b5c55 Author: Steve French Date: Thu Jul 16 04:21:39 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4 Merge: e9e961c b2dde6a Author: Linus Torvalds Date: Wed Jul 15 10:29:09 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: add device ID for 82801JI sata controller drivers/ata: Move a dereference below a NULL test libata: implement and use HORKAGE_NOSETXFER, take#2 libata: fix follow-up SRST failure path commit cb65c8732a50f8a145d36dbdac026a1789ad1587 Author: Jaswinder Singh Rajput Date: Wed Jul 15 16:45:40 2009 +0530 ALSA: riptide - proper handling of pci_register_driver for joystick We need to check returning error for pci_register_driver(&joystick_driver) On failure, we should unregister formerly registered audio drivers This also fixed the compiler warning : CC [M] sound/pci/riptide/riptide.o sound/pci/riptide/riptide.c: In function ‘alsa_card_riptide_init’: sound/pci/riptide/riptide.c:2200: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_result Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Takashi Iwai commit 8886f33f25083a47d5fa24ad7b57bb708c5c5403 Author: Clemens Ladisch Date: Mon Jul 13 13:21:58 2009 +0200 sound: usb-audio: add workaround for Blue Microphones devices Blue Microphones USB devices have an alternate setting that sends two channels of data to the computer. Unfortunately, the descriptors of that altsetting have a wrong channel setting, which means that any recorded data from such a device has twice the sample rate from what would be expected. This patch adds a workaround to ignore that altsetting. Since these devices have only one actual channel, no data is lost. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 0115cb544b0a6709e9cf3de615e150d22e7d9d10 Author: Andreas Schwab Date: Fri Jul 10 11:17:36 2009 +0000 powerpc: Fix another bug in move of altivec code to vector.S When moving load_up_altivec to vector.S a typo in a comment caused a thinko setting the wrong variable. Signed-off-by: Andreas Schwab Signed-off-by: Benjamin Herrenschmidt commit 28477fb1ed1a00c67b382ae8f37f35708e3bf5dd Author: Dave Kleikamp Date: Wed Jul 8 13:46:18 2009 +0000 powerpc: Fix booke user_disable_single_step() On booke processors, gdb is seeing spurious SIGTRAPs when setting a watchpoint. user_disable_single_step() simply quits when the DAC is non-zero. It should be clearing the DBCR0_IC and DBCR0_BT bits from the dbcr0 register and TIF_SINGLESTEP from the thread flag. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit ecca0683230b83e8f830ff157911fad20bc43015 Author: Julia Lawall Date: Sat Jul 11 09:50:09 2009 +0200 drm: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Dave Airlie commit ba0ab82358a12e7a7f2872d6b65c437157c6888f Author: Jesse Barnes Date: Fri Jul 3 11:24:46 2009 -0700 fb/intelfb: conflict with DRM_I915 and hide by default Users get confused by this driver. It's really a special purpose embedded driver, and causes a lot of problems if enabled. So hide it under EMBEDDED by default, and make sure it doesn't get enabled with the i915 DRM driver. Dave, I'm hoping you can feed this to Linus through your tree. It's appropriate for 2.6.31 I think. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 916635bfcae5fec170ccd36f4b451cf7c5d23b9d Author: Roel Kluin Date: Wed Jul 15 16:00:37 2009 +1000 drm/ttm: fix misplaced parentheses Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 42dd8619940a153e950c4d2301cd5e49f7342f99 Author: Simon Farnsworth Date: Fri Jul 10 11:25:16 2009 +0100 drm/via: Fix vblank IRQ on VIA hardware. via_enable_vblank wasn't setting the VBlank enable bit - instead, it was masking out the rest of the register. At the same time, fix via_disable_vblank to clear the VBlank enable bit. Signed-off-by: Dave Airlie commit 845792d940f5755b7a7837c450a71d9e831a13e2 Author: Jiri Slaby Date: Mon Jul 13 23:20:21 2009 +0200 drm: drm_gem, check kzalloc retval Check kzalloc retval against NULL in drm_gem_object_alloc and bail out appropriately. While at it merge the fail paths and jump to them by gotos at the end of the function. Signed-off-by: Jiri Slaby Signed-off-by: Dave Airlie commit d25e3a6faa82eeaa6e5487c2d2e27cfd938ed108 Author: Jiri Slaby Date: Mon Jul 13 23:20:20 2009 +0200 drm: drm_debugfs, check kmalloc retval Check kmalloc return value in drm_debugfs_create_files and bail out appropriately if the pointer is NULL. Signed-off-by: Jiri Slaby Signed-off-by: Dave Airlie commit 069a9dce384e211784ce6fdfaf1f13921327480d Author: Alex Deucher Date: Wed Jul 1 13:03:52 2009 -0400 drm/radeon: add some missing pci ids Also, fix ordering for a couple others Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b2dde6afe5d29212d521e69492ebc299db235001 Author: Mark Goodwin Date: Fri Jun 26 10:44:11 2009 -0500 ahci: add device ID for 82801JI sata controller Add device ID for Intel 82801JI SATA AHCI controller. Signed-off-by: David Milburn Signed-off-by: Jeff Garzik commit 1e1f421a8137824127a41303a30493356b5da638 Author: Julia Lawall Date: Sat Jul 11 09:49:48 2009 +0200 drivers/ata: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit d0cb43b35d64877b2944bd37719708be5d7bbf99 Author: Tejun Heo Date: Thu Jul 9 09:27:50 2009 +0900 libata: implement and use HORKAGE_NOSETXFER, take#2 PIONEER DVD-RW DVRTD08 times out SETXFER if no media is present. The device is SATA and simply skipping SETXFER works around the problem. Implement ATA_HORKAGE_NOSETXFER and apply it to the device. Reported by Moritz Rigler in the following thread. http://thread.gmane.org/gmane.linux.ide/36790 and by Lars in bko#9540. Updated to whine and ignore NOSETXFER if PATA component is detected as suggested by Alan Cox. Signed-off-by: Tejun Heo Reported-by: Moritz Rigler Reported-by: Lars Cc: Alan Cox Signed-off-by: Jeff Garzik commit fe2c4d018fc6127610fef677e020b3bb41cfaaaf Author: Tejun Heo Date: Wed Jul 8 12:16:37 2009 +0900 libata: fix follow-up SRST failure path ata_eh_reset() was missing error return handling after follow-up SRST allowing EH to continue the normal probing path after reset failure. This was discovered while testing new WD 2TB drives which take longer than 10 secs to spin up and cause the first follow-up SRST to time out. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e9e961c9a818a2f24711af493b907a8e40a69efc Merge: 8aa651e 5933082 Author: Linus Torvalds Date: Tue Jul 14 18:40:15 2009 -0700 Merge branch 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c: Use resource_size i2c-davinci: behave with i2cdetect i2c-davinci: convert clock usage after clkdev conversion commit 8aa651e23e2835b6d64381ce17447c995040ab30 Merge: d878fe2 a89d63a Author: Linus Torvalds Date: Tue Jul 14 18:37:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: free socket in error exit path dlm: fix plock use-after-free dlm: Fix uninitialised variable warning in lock.c commit d878fe2331219ff8518192b67f66699cb6d164e2 Merge: 62f4905 92bd3bb Author: Linus Torvalds Date: Tue Jul 14 18:37:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Add new ConnectX EN PCI ID 0x6764 mlx4_core: Handle multi-physical function devices commit 62f49052ac4b68152ddf742b78b2151ba20dbc28 Merge: 5be6717 6ff7041 Author: Linus Torvalds Date: Tue Jul 14 18:35:24 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Fix migration expiry check hrtimer: migration: do not check expiry time on current CPU commit 5be6717e0d2493a20791d592e2d20fd2b2f62d44 Merge: 989fa94 2ad7664 Author: Linus Torvalds Date: Tue Jul 14 18:35:11 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix warning in pvclock.c x86, apic: Fix false positive section mismatch in numaq_32.c x86: Fix false positive section mismatch in es7000_32.c x86: Remove spurious printk level from segfault message commit 989fa940961faa9d51f073bafa58c2b5653d5969 Merge: c0c50b5 ce2ae53 Author: Linus Torvalds Date: Tue Jul 14 18:35:00 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futexes: Fix infinite loop in get_futex_key() on huge page commit c0c50b541a4b147c5c2572ed051420238c47f57a Merge: a376d44 6ab5d66 Author: Linus Torvalds Date: Tue Jul 14 18:34:32 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function-profiler: do not free per cpu variable stat tracing/events: Move TRACE_SYSTEM outside of include guard commit a376d446771710790f5f3425172b467bf8578e22 Merge: 6847e15 252aa9d Author: Linus Torvalds Date: Tue Jul 14 18:33:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." skbuff.h: Fix comment for NET_IP_ALIGN drivers/net: using spin_lock_irqsave() in net_send_packet() NET: phy_device, fix lock imbalance gre: fix ToS/DiffServ inherit bug igb: gcc-3.4.6 fix atlx: duplicate testing of MCAST flag NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. netdev: restore MTU change operation netdev: restore MAC address set and validate operations sit: fix regression: do not release skb->dst before xmit net: ip_push_pending_frames() fix net: sk_prot_alloc() should not blindly overwrite memory commit 593308259bbd335eda9c5280cdd1f7883c746211 Author: Julia Lawall Date: Sun Jul 5 08:37:50 2009 +0200 i2c: Use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Ben Dooks commit 7605fa3b0aedbb6c77471517ba16753f276156d9 Author: David Brownell Date: Mon Jul 6 15:48:36 2009 -0700 i2c-davinci: behave with i2cdetect Make i2c-davinci cope properly with "i2cdetect": don't spew syslog spam on perfectly normal behaviors, or respond to any address other than the one reserved for the SMBus host. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Ben Dooks commit e164ddeeb82920c5b1470b6585767a000c8b0e45 Author: Kevin Hilman Date: Mon Jul 6 15:48:35 2009 -0700 i2c-davinci: convert clock usage after clkdev conversion DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by: Kevin Hilman Signed-off-by: Ben Dooks commit 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1 Author: Abhishek Kulkarni Date: Tue Jul 14 13:26:52 2009 -0500 9p: Fix incorrect parameters to v9fs_file_readn. Fix v9fs_vfs_readpage. The offset and size parameters to v9fs_file_readn were interchanged and hence passed incorrectly. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f Author: Abhishek Kulkarni Date: Tue Jul 14 13:25:41 2009 -0500 9p: Possible regression in p9_client_stat Fix a possible regression with p9_client_stat where it can try to kfree an ERR_PTR after an erroneous p9pdu_readf. Also remove an unnecessary data buffer increment in p9_client_read. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit a17d1720aa35623a9bef3707b36242706714bca5 Author: Abhishek Kulkarni Date: Tue Jul 14 13:24:10 2009 -0500 9p: default 9p transport module fix The default 9p transport module is not chosen unless an option parameter (any) is passed to mount, which thus returns a ENOPROTOSUPPORT. This fix moves the check out of parse_opts into p9_client_create. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 252aa9d94a04252046f3a382e6aca1b5c95921d8 Author: David S. Miller Date: Tue Jul 14 13:13:41 2009 -0700 Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." This reverts commit adeab1afb7de89555c69aab5ca21300c14af6369. As Alan Cox explained, the TTY layer changes that went recently to get rid of the tty->low_latency stuff fixes this already, and even for -stable it's the ->low_latency changes that should go in to fix this, rather than this patch. Signed-off-by: David S. Miller commit 8660c1240ec6016522b882c88751cb4ce40bf0e8 Author: Tobias Klauser Date: Mon Jul 13 22:48:16 2009 +0000 skbuff.h: Fix comment for NET_IP_ALIGN Use the correct function call for skb_reserve in the comment for NET_IP_ALIGN. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 79fbe134832ebb70a49d8802cfeb2401dc35bb38 Author: Dongdong Deng Date: Sun Jul 12 20:27:06 2009 +0000 drivers/net: using spin_lock_irqsave() in net_send_packet() spin_unlock_irq() will enable interrupt in net_send_packet(), this patch changes it to spin_lock_irqsave/spin_lock_irqrestore, so that it doesn't enable interrupts when already disabled, and netconsole would work properly over cs89x0/isa-skeleton. Call trace: netconsole write_msg() { ... -> spin_lock_irqsave(); -> netpoll_send_udp() -> netpoll_send_skb() -> net_send_packet() ->... -> spin_unlock_irqrestore(); ... } Signed-off-by: Dongdong Deng Signed-off-by: David S. Miller commit bc23283c7bc90958927abe26eedc562701743a88 Author: Jiri Slaby Date: Mon Jul 13 11:23:39 2009 +0000 NET: phy_device, fix lock imbalance Don't forget to unlock a mutex in phy_scan_fixups on a fail path. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit a89d63a159b1ba5833be2bef00adf8ad8caac8be Author: Casey Dahlin Date: Tue Jul 14 12:17:51 2009 -0500 dlm: free socket in error exit path In the tcp_connect_to_sock() error exit path, the socket allocated at the top of the function was not being freed. Signed-off-by: Casey Dahlin Signed-off-by: David Teigland commit ee686ca919193d7c1f87f907e732df5e2f942523 Author: Andreas Jaggi Date: Tue Jul 14 09:35:59 2009 -0700 gre: fix ToS/DiffServ inherit bug Fixes two bugs: - ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values - ECN bit was lost during ToS/DiffServ inheritance Signed-off-by: Andreas Jaggi Signed-off-by: David S. Miller commit 2ad76643ff58bb8841f391ea8327c14abe273ea3 Author: Dave Jones Date: Mon Jul 13 16:14:37 2009 -0400 x86: Fix warning in pvclock.c when building 32-bit, I see this .. arch/x86/kernel/pvclock.c:63:7: warning: "__x86_64__" is not defined Signed-off-by: Dave Jones LKML-Reference: <20090713201437.GA12165@redhat.com> Signed-off-by: Thomas Gleixner commit c8159b2db1b49f6bda4429008c85108e2da60712 Author: Eric Dumazet Date: Mon Jul 13 11:11:41 2009 -0700 igb: gcc-3.4.6 fix forward declaration of inline function should be avoided, or old gcc cannot compile. Reported-by: Teck Choon Giam Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 41796e91a2a30fd82a0fd561022489b61f8a3188 Author: roel kluin Date: Sun Jul 12 13:12:37 2009 +0000 atlx: duplicate testing of MCAST flag Fix duplicate testing of MCAST flag Signed-off-by: Roel Kluin Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 7473727be884293c8171775a148e1d174d1606e6 Author: Rakib Mullick Date: Sun Jul 12 17:07:19 2009 +0600 x86, apic: Fix false positive section mismatch in numaq_32.c The variable apic_numaq placed in noninit section references the function wakeup_secondary_cpu_via_nmi(), which is in __cpuinit section. Thus causes a section mismatch warning. To avoid such mismatch we mark apic_numaq as __refdata. We were warned by the following warning: WARNING: arch/x86/kernel/built-in.o(.data+0x932c): Section mismatch in reference from the variable apic_numaq to the function .cpuinit.text:wakeup_secondary_cpu_via_nmi() Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit 151586d0f70405d99324d89aea13706cf6d7f993 Author: Rakib Mullick Date: Sun Jul 12 17:04:12 2009 +0600 x86: Fix false positive section mismatch in es7000_32.c The variable apic_es7000_cluster references the function __cpuinit wakeup_secondary_cpu_via_mip() from a noninit section. So we've been warned by the following warning. To avoid possible collision between init/noninit, its best to mark the variable as __refdata. We were warned by the following warning: LD arch/x86/kernel/apic/built-in.o WARNING: arch/x86/kernel/apic/built-in.o(.data+0x198c): Section mismatch in reference from the variable apic_es7000_cluster to the function .cpuinit.text:wakeup_secondary_cpu_via_mip() Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2 Author: Steven Rostedt Date: Thu Jun 4 00:55:45 2009 -0400 tracing/function-profiler: do not free per cpu variable stat The per cpu variable stat is freeded if we fail to allocate a name on start up. This was due to stat at first being allocated in the initial design. But since then, it has become a static per cpu variable but the free on error was not removed. Also added __init annotation to the function that this is in. [ Impact: prevent possible memory corruption on low mem at boot up ] Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d0b6e04a4cd8360e3c9c419f7c30a3081a0c142a Author: Li Zefan Date: Mon Jul 13 10:33:21 2009 +0800 tracing/events: Move TRACE_SYSTEM outside of include guard If TRACE_INCLDUE_FILE is defined, will be included and compiled, otherwise it will be So TRACE_SYSTEM should be defined outside of #if proctection, just like TRACE_INCLUDE_FILE. Imaging this scenario: #include -> TRACE_SYSTEM == foo ... #include -> TRACE_SYSTEM == bar ... #define CREATE_TRACE_POINTS #include -> TRACE_SYSTEM == bar !!! and then bar.h will be included and compiled. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A5A9CF1.2010007@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit adeab1afb7de89555c69aab5ca21300c14af6369 Author: Ralf Baechle Date: Sun Jul 12 21:09:20 2009 -0700 NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. Guido Trentalancia reports: I am trying to use the kiss driver in the Linux kernel that is being shipped with Fedora 10 but unfortunately I get the following oops: mkiss: AX.25 Multikiss, Hans Albas PE1AYX mkiss: ax0: crc mode is auto. ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready ------------[ cut here ]------------ WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not tainted) [...] unloaded: microcode] Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1 [] warn_on_slowpath+0x65/0x8b [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? __enqueue_entity+0xe3/0xeb [] ? enqueue_entity+0x203/0x20b [] ? enqueue_task_fair+0x3b/0x3f [] ? resched_task+0x3a/0x6e [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? _spin_lock_bh+0xb/0x16 [] __local_bh_disable+0x2f/0x83 [] local_bh_disable+0xb/0xd [] _spin_lock_bh+0xb/0x16 [] mkiss_receive_buf+0x2fb/0x3a6 [mkiss] [] flush_to_ldisc+0xf7/0x198 [] tty_flip_buffer_push+0x41/0x51 [] ftdi_process_read+0x375/0x4ad [ftdi_sio] [] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [] usb_hcd_giveback_urb+0x63/0x93 [] uhci_giveback_urb+0xe5/0x15f [] uhci_scan_schedule+0x52e/0x767 [] ? psmouse_handle_byte+0xc/0xe5 [] ? acpi_ev_gpe_detect+0xd6/0xe1 [] uhci_irq+0x110/0x125 [] usb_hcd_irq+0x40/0xa3 [] handle_IRQ_event+0x2f/0x64 [] handle_level_irq+0x74/0xbe [] ? handle_level_irq+0x0/0xbe [] do_IRQ+0xc7/0xfe [] common_interrupt+0x28/0x30 [] ? acpi_idle_enter_simple+0x162/0x19d [] cpuidle_idle_call+0x60/0x92 [] cpu_idle+0x101/0x134 [] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- ------------[ cut here ]------------ WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4() [...] Pid: 0, comm: swapper Tainted: G W 2.6.27.25-170.2.72.fc10.i686 [] warn_on_slowpath+0x65/0x8b [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? __enqueue_entity+0xe3/0xeb [] ? enqueue_entity+0x203/0x20b [] ? enqueue_task_fair+0x3b/0x3f [] ? resched_task+0x3a/0x6e [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? _spin_lock_bh+0xb/0x16 [] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss] [] _local_bh_enable_ip+0x3d/0xc4 [] local_bh_enable_ip+0x8/0xa [] _spin_unlock_bh+0x11/0x13 [] mkiss_receive_buf+0x33d/0x3a6 [mkiss] [] flush_to_ldisc+0xf7/0x198 [] tty_flip_buffer_push+0x41/0x51 [] ftdi_process_read+0x375/0x4ad [ftdi_sio] [] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [] usb_hcd_giveback_urb+0x63/0x93 [] uhci_giveback_urb+0xe5/0x15f [] uhci_scan_schedule+0x52e/0x767 [] ? psmouse_handle_byte+0xc/0xe5 [] ? acpi_ev_gpe_detect+0xd6/0xe1 [] uhci_irq+0x110/0x125 [] usb_hcd_irq+0x40/0xa3 [] handle_IRQ_event+0x2f/0x64 [] handle_level_irq+0x74/0xbe [] ? handle_level_irq+0x0/0xbe [] do_IRQ+0xc7/0xfe [] common_interrupt+0x28/0x30 [] ? acpi_idle_enter_simple+0x162/0x19d [] cpuidle_idle_call+0x60/0x92 [] cpu_idle+0x101/0x134 [] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- mkiss: ax0: Trying crc-smack mkiss: ax0: Trying crc-flexnet The issue was, that the locking code in mkiss was assuming it was only ever being called in process or bh context. Fixed by converting the involved locking code to use irq-safe locks. Review of other networking line disciplines shows that 6pack, both sync and async PPP and STRIP have similar issues. The ppp_async one is the most interesting one as it sorts out half of the issue as far back as 2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d Signed-off-by: Ralf Baechle Reported-by: Guido Trentalancia Signed-off-by: David S. Miller commit 635ecaa70e862f85f652581305fe0074810893be Author: Ben Hutchings Date: Thu Jul 9 17:59:01 2009 +0000 netdev: restore MTU change operation alloc_etherdev() used to install a default implementation of this operation, but it must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 240c102d9c54fee7fdc87a4ef2fabc7eb539e00a Author: Ben Hutchings Date: Thu Jul 9 17:54:35 2009 +0000 netdev: restore MAC address set and validate operations alloc_etherdev() used to install default implementations of these operations, but they must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f2ba025b2036e52a176cddcf91b15ac2b10c644a Author: Sascha Hlusiak Date: Sat Jul 11 20:30:52 2009 -0700 sit: fix regression: do not release skb->dst before xmit The sit module makes use of skb->dst in it's xmit function, so since 93f154b594fe47 ("net: release dst entry in dev_hard_start_xmit()") sit tunnels are broken, because the flag IFF_XMIT_DST_RELEASE is not unset. This patch unsets that flag for sit devices to fix this regression. Signed-off-by: Sascha Hlusiak Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67 Author: Eric Dumazet Date: Wed Jul 8 14:20:42 2009 +0000 net: ip_push_pending_frames() fix After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) we do not take any more references on sk->sk_refcnt on outgoing packets. I forgot to delete two __sock_put() from ip_push_pending_frames() and ip6_push_pending_frames(). Reported-by: Emil S Tantilov Signed-off-by: Eric Dumazet Tested-by: Emil S Tantilov Signed-off-by: David S. Miller commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1 Author: Eric Dumazet Date: Wed Jul 8 19:36:05 2009 +0000 net: sk_prot_alloc() should not blindly overwrite memory Some sockets use SLAB_DESTROY_BY_RCU, and our RCU code correctness depends on sk->sk_nulls_node.next being always valid. A NULL value is not allowed as it might fault a lockless reader. Current sk_prot_alloc() implementation doesnt respect this hypothesis, calling kmem_cache_alloc() with __GFP_ZERO. Just call memset() around the forbidden field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ce2ae53b750abfaa012ce408e93da131a5b5649b Author: Sonny Rao Date: Fri Jul 10 18:13:13 2009 -0500 futexes: Fix infinite loop in get_futex_key() on huge page get_futex_key() can infinitely loop if it is called on a virtual address that is within a huge page but not aligned to the beginning of that page. The call to get_user_pages_fast will return the struct page for a sub-page within the huge page and the check for page->mapping will always fail. The fix is to call compound_head on the page before checking that it's mapped. Signed-off-by: Sonny Rao Acked-by: Thomas Gleixner Cc: stable@kernel.org Cc: anton@samba.org Cc: rajamony@us.ibm.com Cc: speight@us.ibm.com Cc: mstephen@us.ibm.com Cc: grimm@us.ibm.com Cc: mikey@ozlabs.au.ibm.com LKML-Reference: <20090710231313.GA23572@us.ibm.com> Signed-off-by: Ingo Molnar commit d07387b490b1c43bfcb9f3900faf96f2dafb2630 Author: Paul Turner Date: Fri Jul 10 17:05:16 2009 -0700 sched: Fix bug in SCHED_IDLE interaction with group scheduling One of the isolation modifications for SCHED_IDLE is the unitization of sleeper credit. However the check for this assumes that the sched_entity we're placing always belongs to a task. This is potentially not true with group scheduling and leaves us rummaging randomly when we try to pull the policy. Signed-off-by: Paul Turner Cc: peterz@infradead.org LKML-Reference: Signed-off-by: Ingo Molnar commit a1a08d1cb0ab148fd74216e4c0b4d4db18fe62c6 Author: Roland Dreier Date: Sat Jul 11 00:10:04 2009 -0700 x86: Remove spurious printk level from segfault message Since commit 5fd29d6c ("printk: clean up handling of log-levels and newlines"), the kernel logs segfaults like: <6>gnome-power-man[24509]: segfault at 20 ip 00007f9d4950465a sp 00007fffbb50fc70 error 4 in libgobject-2.0.so.0.2103.0[7f9d494f7000+45000] with the extra "<6>" being KERN_INFO. This happens because the printk in show_signal_msg() started with KERN_CONT and then used "%s" to pass in the real level; and KERN_CONT is no longer an empty string, and printk only pays attention to the level at the very beginning of the format string. Therefore, remove the KERN_CONT from this printk, since it is now actively causing problems (and never really made any sense). Signed-off-by: Roland Dreier Cc: Linus Torvalds LKML-Reference: <874otjitkj.fsf@shaolin.home.digitalvampire.org> Signed-off-by: Ingo Molnar commit 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82 Author: Yinghai Lu Date: Fri Jul 10 09:36:20 2009 -0700 x86/pci: insert ioapic resource before assigning unassigned resources Stephen reported that his DL585 G2 needed noapic after 2.6.22 (?) Dann bisected it down to: commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 Date: Tue Feb 19 03:21:20 2008 -0800 x86: multi pci root bus with different io resource range, on 64-bit It turns out that: 1. that AMD-based systems have two HT chains. 2. BIOS doesn't allocate resources for BAR 6 of devices under 8132 etc 3. that multi-peer-root patch will try to split root resources to peer root resources according to PCI conf of NB 4. PCI core assigns unassigned resources, but they overlap with BARs that are used by ioapic addr of io4 and 8132. The reason: at that point ioapic address are not inserted yet. Solution is to insert ioapic resources into the tree a bit earlier. Reported-by: Stephen Frost Reported-and-Tested-by: dann frazier Signed-off-by: Yinghai Lu Cc: stable@kernel.org Signed-off-by: Jesse Barnes commit f9f868dbcca961ed62f1df1d114abd0c38c47dce Author: Heiko Carstens Date: Thu Jul 9 11:24:26 2009 +0200 timer stats: fix quick check optimization git commit 507e1231 "timer stats: Optimize by adding quick check to avoid function calls" added one wrong check so that one unnecessary function call isn't elimated. time_stats_account_hrtimer() checks if timer->start_pid isn't initialized in order to find out if timer_stats_update_stats() should be called. However start_pid is initialized with -1 instead of 0, so that the function call always happens. Check timer->start_site like in timer_stats_account_timer() to fix this. Signed-off-by: Heiko Carstens Signed-off-by: Thomas Gleixner commit 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 Author: Thomas Gleixner Date: Fri Jul 10 14:57:05 2009 +0200 hrtimer: Fix migration expiry check The timer migration expiry check should prevent the migration of a timer to another CPU when the timer expires before the next event is scheduled on the other CPU. Migrating the timer might delay it because we can not reprogram the clock event device on the other CPU. But the code implementing that check has two flaws: - for !HIGHRES the check compares the expiry value with the clock events device expiry value which is wrong for CLOCK_REALTIME based timers. - the check is racy. It holds the hrtimer base lock of the target CPU, but the clock event device expiry value can be modified nevertheless, e.g. by an timer interrupt firing. The !HIGHRES case is easy to fix as we can enqueue the timer on the cpu which was selected by the load balancer. It runs the idle balancing code once per jiffy anyway. So the maximum delay for the timer is the same as when we keep the tick on the current cpu going. In the HIGHRES case we can get the next expiry value from the hrtimer cpu_base of the target CPU and serialize the update with the cpu_base lock. This moves the lock section in hrtimer_interrupt() so we can set next_event to KTIME_MAX while we are handling the expired timers and set it to the next expiry value after we handled the timers under the base lock. While the expired timers are processed timer migration is blocked because the expiry time of the timer is always <= KTIME_MAX. Also remove the now useless clockevents_get_next_event() function. Signed-off-by: Thomas Gleixner commit 65bc98b0059360e458aebd208587be44641227c1 Author: Steve French Date: Fri Jul 10 15:27:25 2009 +0000 [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats Acked-by: Jeff Layton Signed-off-by: Steve French commit 7e0c5086c172ecf8b0c2ad860b02a586967d17d0 Author: Thomas Gleixner Date: Thu Jul 9 13:52:32 2009 +0200 hrtimer: migration: do not check expiry time on current CPU The timer migration code needs to check whether the expiry time of the timer is before the programmed clock event expiry time when the timer is enqueued on another CPU because we can not reprogram the timer device on the other CPU. The current logic checks the expiry time even if we enqueue on the current CPU when nohz_get_load_balancer() returns current CPU. This might lead to an endless loop in the expiry check code when the expiry time of the timer is before the current programmed next event. Check whether nohz_get_load_balancer() returns current CPU and skip the expiry check if this is the case. The bug was triggered from the networking code. The patch fixes the regression http://bugzilla.kernel.org/show_bug.cgi?id=13738 (Soft-Lockup/Race in networking in 2.6.31-rc1+195) Cc: Arun Bharadwaj Tested-by: Andres Freund Signed-off-by: Thomas Gleixner commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 Author: Jaroslav Kysela Date: Fri Jul 10 12:27:31 2009 +0200 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking On some IbexPeak systems with ALC889A errors like "azx_get_response timeout, switching to polling mode: last cmd=0xaf9f000b" are produced, because non-existent codec #10 is wrongly accessed. The problem is that snd_hda_get_connections() returns out-of-range result for NID 0x1c (something like 0xf8f9 or 0xffff). This patch adds a check to alc880_parse_auto_config() to avoid using of this out-of-range NIDs. A better fix maybe to improve snd_hda_get_connections() routine to check for valid NID ranges if NIDs are expected as result. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c20b08e3986c2dbfa6df1e880bf4f7159994d199 Author: Fabio Checconi Date: Mon Jun 15 20:56:38 2009 +0200 sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() init_rt_rq() initializes only rq->rt.pushable_tasks, and not the pushable_tasks field of the passed rt_rq. The plist is not used uninitialized since the only pushable_tasks plists used are the ones of root rt_rqs; anyway reinitializing the list on every group creation corrupts the root plist, losing its previous contents. Signed-off-by: Fabio Checconi Signed-off-by: Peter Zijlstra LKML-Reference: <20090615185638.GK21741@gandalf.sssup.it> CC: Gregory Haskins Signed-off-by: Ingo Molnar commit 7793527b90d9418211f4fe8464cc1dcb1631ea1b Author: Lucas De Marchi Date: Thu Jul 9 13:57:20 2009 +0200 sched: Reset sched stats on fork() The sched_stat fields are currently not reset upon fork. Ingo's recent commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 did reset nr_migrations, but it didn't reset any of the others. This patch resets all sched_stat fields on fork. Signed-off-by: Lucas De Marchi Signed-off-by: Peter Zijlstra LKML-Reference: <193b0f820907090457s7a3662f4gcdecdc22fcae857b@mail.gmail.com> Signed-off-by: Ingo Molnar commit a1ba4d8ba9f06a397e97cbd67a93ee306860b40a Author: Peter Zijlstra Date: Wed Apr 1 18:40:15 2009 +0200 sched_rt: Fix overload bug on rt group scheduling Fixes an easily triggerable BUG() when setting process affinities. Make sure to count the number of migratable tasks in the same place: the root rt_rq. Otherwise the number doesn't make sense and we'll hit the BUG in set_cpus_allowed_rt(). Also, make sure we only count tasks, not groups (this is probably already taken care of by the fact that rt_se->nr_cpus_allowed will be 0 for groups, but be more explicit) Tested-by: Thomas Gleixner CC: stable@kernel.org Signed-off-by: Peter Zijlstra Acked-by: Gregory Haskins LKML-Reference: <1247067476.9777.57.camel@twins> Signed-off-by: Ingo Molnar commit 6860107a46c8762d35eb7bf71bcf6c6510793b76 Author: Linus Walleij Date: Mon Jul 6 18:04:28 2009 +0100 [ARM] 5594/1: Correct U300 VIC init PM setting This makes the VIC resume from suspend flagged IRQ:s identical to the flags indicating all possible interrupts. This is perhaps not the optimal setting but setting it to 0 makes the system suspend and never come back again (all IRQ sources masked off). Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a0b98ec87d7a293a7d9ab8e45935c53a68f3094a Author: Hartley Sweeten Date: Mon Jul 6 22:17:54 2009 +0100 [ARM] 5595/1: ep93xx: missing header in dma-m2p.c was getting included by , is should be included by this file. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 39bd8064ab3648bc38b1a3ef507031ee6a477966 Merge: db78450 574ec54 Author: Russell King Date: Thu Jul 9 16:08:59 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit db78450abdb88b44322c551fc2868d1b2383355b Merge: 4e66a0f e2ce0e7 Author: Russell King Date: Thu Jul 9 16:08:14 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 4e66a0f536ad449a71de75bc81f4a830ef38d538 Merge: 34f2547 22fe843 Author: Russell King Date: Thu Jul 9 16:07:22 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit b7d4de7ff03085fda8310b2983b907166dd40f43 Author: Daniel Mack Date: Wed Jul 8 19:24:26 2009 +0200 ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free Check for rtd->params->drcmr != NULL before accessing it. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit e2ce0e718ee72e5915d35a6f4af40fa249cd626d Author: Simon Kagstrom Date: Tue Jun 30 21:42:00 2009 -0400 [ARM] Kirkwood: Correct header define Correct define typo (. -> ,) Signed-off-by: Simon Kagstrom Signed-off-by: Nicolas Pitre commit 92bd3bbfbe644ea0860cfe84cf175fffa5246423 Author: Yevgeny Petrilin Date: Mon Jul 6 16:10:40 2009 -0700 mlx4_core: Add new ConnectX EN PCI ID 0x6764 Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit cc4ac2e7fb90dfbbbd5a42df0879733f787e4690 Author: Yevgeny Petrilin Date: Mon Jul 6 16:10:03 2009 -0700 mlx4_core: Handle multi-physical function devices MT26468 (PCI ID 0x6764) devices can expose multiple physical functions. The current driver only handles the primary physical function. For other functions, the QUERY_FW firmware command will fail with the CMD_STAT_MULTI_FUNC_REQ error code. Don't try to drive such devices, but print a message saying the driver is skipping those devices rather than just "QUERY_FW command failed." Signed-off-by: Yevgeny Petrilin [ Rather than keeping unsupported devices bound to the driver, simply print a more informative error message and exit - Roland ] Signed-off-by: Roland Dreier commit 22fe84394f405c673b362d23dcc2d5d095ab5f6c Author: Mike Rapoport Date: Mon Jul 6 08:56:51 2009 +0300 [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines Attepmpt to configure ULPI pins gives the following compile error: CC arch/arm/mach-pxa/cm-x300.o arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_AF0' undeclared here (not in a function) arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_DS01X' undeclared here (not in a function) make[2]: *** [arch/arm/mach-pxa/cm-x300.o] Error 1 make[1]: *** [arch/arm/mach-pxa] Error 2 make: *** [sub-make] Error 2 Fix it. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 82e8b54229fb121946151b82e8ff3c3284bd723f Author: Marc Zyngier Date: Fri Jun 19 10:50:54 2009 +0200 backlight: fix pwm_bl.c to notify platform code when suspending When suspending, pwm-bl sets duty cycle to 0, and shuts down the pwm device. This patch ensure that the platform code is called before that (through the notify callback_, leaving a chance for the platform code to configure GPIOs (shutting off the backlight, for example), much like it is done during normal operations. Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 4aa78264d14bb0e87897acb90941c368248e20ce Author: Daniel Mack Date: Fri Jun 19 22:56:09 2009 +0200 [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() As slab is available early now, use kzalloc() rather than alloc_bootmem_low() in pxa_init_gpio_chip(). This removes the following boot time warning: <4>------------[ cut here ]------------ <4>WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x2c/0x54() Modules linked in: [] (unwind_backtrace+0x0/0xdc) from [] (warn_slowpath_common+0x4c/0x80) [] (warn_slowpath_common+0x4c/0x80) from [] (alloc_arch_preferred_bootmem+0x2c/0x54) [] (alloc_arch_preferred_bootmem+0x2c/0x54) from [] (___alloc_bootmem_nopanic+0x34/0xd0) [] (___alloc_bootmem_nopanic+0x34/0xd0) from [] (___alloc_bootmem+0xc/0x34) [] (___alloc_bootmem+0xc/0x34) from [] (pxa_init_gpio+0x48/0x228) [] (pxa_init_gpio+0x48/0x228) from [] (init_IRQ+0x34/0x44) [] (init_IRQ+0x34/0x44) from [] (start_kernel+0x144/0x264) [] (start_kernel+0x144/0x264) from [] (0xa0008034) <4>---[ end trace 1b75b31a2719ed1c ]--- Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 5c68b09900f04c3de55af43155435b9392f03844 Author: Daniel Mack Date: Mon Jun 22 21:01:58 2009 +0200 [ARM] pxa: correct I2CPWR clock for pxa3xx In commit f23d4911319fd, the pwr-i2c device name changed due to the newly introduced device table. This patch fixes the clock so the driver's probe will succeed again. Signed-off-by: Daniel Mack Acked-by: Russell King Signed-off-by: Eric Miao commit 7eeff4814224646c896303ba2c2b7ac3c4240cd2 Author: Matt Reimer Date: Mon Jun 15 13:21:25 2009 -0700 pxamci: correct DMA flow control The DMA flow control in pxamci_setup_data() is backwards; fix it. Signed-off-by: Matt Reimer Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit 574ec547c7771881e18e4e76ca970e323bcdc774 Author: Guennadi Liakhovetski Date: Tue Jun 23 13:26:23 2009 +0200 ARM: add support for the EET board, based on the i.MX31 pcm037 module The "EET" variant of the pcm037 board has an OLED display, using a S6E63D6 display controller on the first SPI interface, using GPIO57 as a chip-select for it. S6E63D6 is initialised in the boot-loader, so we only have to take care of the LCD. EET also adds several buttons and LEDs on GPIOs. This patch adds a "pcm037_variant=" kernel command line parameter to specify at boot-time which board the kernel is running on, default is "pcm970", specify "eet" for the EET board. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 32c1ad9ab2ae4171d8f3dd0c70a611f799ad6775 Author: Guennadi Liakhovetski Date: Thu Jun 18 12:40:48 2009 +0200 pcm037: add MT9T031 camera support Add support for the MT9T031 CMOS camera sensor from Aptina to the PCM037 board. Also add two I2C iomux pin definitions, needed for pcm037. Also remove now unneeded #ifdef CONFIG_I2C_IMX. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 0c8bad6a26aefbcb7b3d8d1e5d97c53076ac99af Author: Alberto Panizzo Date: Wed Jun 17 15:06:30 2009 +0200 Armadillo 500 add NAND flash device support (resend). Since recent mxc_nand driver fixes from linux-mtd this patch add support for ST NAND02GW3B2CN6 (2k pages flash) placed on the armadillo 500 motherboard. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit c3a9c7f53a0eb1ec687ecf131f9cfb41bbdc26b5 Author: Alberto Panizzo Date: Wed Jun 17 15:05:21 2009 +0200 ARM MXC: Armadillo 500 add NOR flash device support (resend). This patch add support for NOR flash mapping through the physmap driver. The purpose is to maintain the original Atmark partition model. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit bc33dc5ae7ed7a422ab1141d3bf81c6cee2a5050 Author: Huang Weiyi Date: Tue Jun 16 16:56:09 2009 +0800 mx31: remove duplicated #include Remove duplicated #include in arch/arm/mach-mx3/devices.c. Signed-off-by: Huang Weiyi Signed-off-by: Sascha Hauer commit d4ec36bac3de39b7e10ec8f42fbdd20d9a9ed753 Author: Wolfram Sang Date: Sun Jun 21 12:32:39 2009 +0200 sched: Documentation/sched-rt-group: Fix style issues & bump version - add missing closing bracket - fix two 80-chars issues (as the rest of the document adheres to it) - bump a reference to kernel version, so the document does not feel aged Signed-off-by: Wolfram Sang Cc: Peter Zijlstra LKML-Reference: <1245580359-4465-1-git-send-email-w.sang@pengutronix.de> Signed-off-by: Ingo Molnar commit c78a87d0a1fc885dfdbe21fd5e07787691dfb068 Author: David Teigland Date: Thu Jun 18 13:20:24 2009 -0500 dlm: fix plock use-after-free Fix a regression from the original addition of nfs lock support 586759f03e2e9031ac5589912a51a909ed53c30a. When a synchronous (non-nfs) plock completes, the waiting thread will wake up and free the op struct. This races with the user thread in dev_write() which goes on to read the op's callback field to check if the lock is async and needs a callback. This check can happen on the freed op. The fix is to note the callback value before the op can be freed. Signed-off-by: David Teigland commit a566a6b11c86147fe9fc9db7ab15f9eecca3e862 Author: Steven Whitehouse Date: Mon Jun 15 08:26:48 2009 +0100 dlm: Fix uninitialised variable warning in lock.c CC [M] fs/dlm/lock.o fs/dlm/lock.c: In function ‘find_rsb’: fs/dlm/lock.c:438: warning: ‘r’ may be used uninitialized in this function Since r is used on the error path to set r_ret, set it to NULL. Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland