commit 3af968e066d593bc4dacc021715f3e95ddf0996f Author: Linus Torvalds Date: Mon Jun 8 12:31:53 2009 -0700 async: Fix lack of boot-time console due to insufficient synchronization Our async work synchronization was broken by "async: make sure independent async domains can't accidentally entangle" (commit d5a877e8dd409d8c702986d06485c374b705d340), because it would report the wrong lowest active async ID when there was both running and pending async work. This caused things like no being able to read the root filesystem, resulting in missing console devices and inability to run 'init', causing a boot-time panic. This fixes it by properly returning the lowest pending async ID: if there is any running async work, that will have a lower ID than any pending work, and we should _not_ look at the pending work list. There were alternative patches from Jaswinder and James, but this one also cleans up the code by removing the pointless 'ret' variable and the unnecesary testing for an empty list around 'for_each_entry()' (if the list is empty, the for_each_entry() thing just won't execute). Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13474 Reported-and-tested-by: Chris Clayton Cc: Jaswinder Singh Rajput Cc: James Bottomley Cc: Arjan van de Ven Signed-off-by: Linus Torvalds commit 46056be71c37378f518711da651e4bb76d650ee9 Merge: 5284c6b... 5636919... Author: Linus Torvalds Date: Mon Jun 8 09:22:53 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Outline udelay and fix a few issues. MIPS: ioctl.h: Fix headers_check warnings MIPS: Cobalt: PCI bus is always required to obtain the board ID MIPS: Kconfig: Remove "Support for" from Cavium system type MIPS: Sibyte: Honor CONFIG_CMDLINE SSB: BCM47xx: Export ssb_watchdog_timer_set commit 5284c6b99ea017f73c09b50f34a637ff9d5d26a0 Author: Alan Cox Date: Mon Jun 8 12:31:00 2009 +0100 pata_netcell: Fix typo The previous patch submission had a I typo I didn't catch but Bartlomiej noted. Guess this proves the point about any patch being risky late in an rc Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c7e9cb4c0c6d6807e9b07ec1b01fecac0c7b0532 Merge: c46f87f... a4c0364... Author: Linus Torvalds Date: Mon Jun 8 09:05:48 2009 -0700 Merge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: Explicity initialize cpus_hardware_enabled commit c46f87f121f815a67e84379511310e5c03862a60 Merge: 6025974... 669165d... Author: Linus Torvalds Date: Mon Jun 8 09:04:55 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: pdc202xx_old: fix resetproc() method pdc202xx_old: fix 'pdc20246_dma_ops' commit 5636919b5c909fee54a6ef5226475ecae012ad02 Author: Ralf Baechle Date: Sat Feb 28 09:44:28 2009 +0000 MIPS: Outline udelay and fix a few issues. Outlining fixes the issue were on certain CPUs such as the R10000 family the delay loop would need an extra cycle if it overlaps a cacheline boundary. The rewrite also fixes build errors with GCC 4.4 which was changed in way incompatible with the kernel's inline assembly. Relying on pure C for computation of the delay value removes the need for explicit. The price we pay is a slight slowdown of the computation - to be fixed on another day. Signed-off-by: Ralf Baechle commit 3a553147eaad5d4de90ab1f695aa13ddbea684ec Author: Jaswinder Singh Rajput Date: Thu Jun 4 18:05:49 2009 +0530 MIPS: ioctl.h: Fix headers_check warnings Make ioctl.h compatible with asm-generic/ioctl.h and userspace fix the following 'make headers_check' warning: usr/include/asm-mips/ioctl.h:64: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ralf Baechle commit e25bfc9243f2eab12a2ce92b7f4b8a2e3e6949a6 Author: Yoichi Yuasa Date: Tue Jun 2 23:17:07 2009 +0900 MIPS: Cobalt: PCI bus is always required to obtain the board ID Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit c9d89d97f0d174b9154820dd5c6726d1c794cd99 Author: Yoichi Yuasa Date: Tue Jun 2 23:15:10 2009 +0900 MIPS: Kconfig: Remove "Support for" from Cavium system type Signed-off-by: Yoichi Yuasa Acked-by: David Daney Signed-off-by: Ralf Baechle commit e082f188f774544bc2c2edf51176157503c98fe4 Author: Ralf Baechle Date: Tue Jun 2 19:05:28 2009 +0100 MIPS: Sibyte: Honor CONFIG_CMDLINE Original patch by Imre Kaloz . Signed-off-by: Ralf Baechle commit e36b80b658d471be5a8a40f00e2c7614524b86a2 Author: Matthieu Castet Date: Fri May 22 22:25:04 2009 +0200 SSB: BCM47xx: Export ssb_watchdog_timer_set this patch export ssb_watchdog_timer_set to allow to use it in a Linux watchdog driver. Signed-off-by: Matthieu CASTET Acked-by : Michael Buesch Signed-off-by: Ralf Baechle commit 6025974bab1c3da8662df79bdeb694588bc3eb93 Merge: 33fa108... aa853f8... Author: Linus Torvalds Date: Mon Jun 8 08:29:31 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5543/1: arm: serial amba: add missing declaration in serial.h [ARM] pxa: fix pxa27x_udc default pullup GPIO [ARM] pxa/imote2: fix UCAM sensor board ADC model number mx[23]: don't put clock lookups in __initdata fix oops when using console=ttymxcN with N > 0 [ARM] ARMv7 errata: only apply fixes when running on applicable CPU [ARM] 5534/1: kmalloc must return a cache line aligned buffer commit 33fa108ed1fa46a53a99dd853bdec7c8eaed4732 Merge: ccc0d38... fbf6a5f... Author: Linus Torvalds Date: Mon Jun 8 07:53:59 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: sdhci-of: Fix the wrong accessor to HOSTVER register mvsdio: fix config failure with some high speed SDHC cards mvsdio: ignore high speed timing requests from the core mmc/omap: Use disable_irq_nosync() from within irq handlers. sdhci-of: Add fsl,esdhc as a valid compatible to bind against mvsdio: allow automatic loading when modular mxcmmc: Fix missing return value checking in DMA setup code. mxcmmc : Reset the SDHC hardware if software timeout occurs. omap_hsmmc: Trivial fix for a typo in comment mxcmmc: decrease minimum frequency to make MMC cards work commit a4c0364be3f43d3e17fe19270f8b3d64881606e6 Author: Avi Kivity Date: Sat Jun 6 12:34:39 2009 +0300 KVM: Explicity initialize cpus_hardware_enabled Under CONFIG_MAXSMP, cpus_hardware_enabled is allocated from the heap and not statically initialized. This causes a crash on reboot when kvm thinks vmx is enabled on random nonexistent cpus and accesses nonexistent percpu lists. Fix by explicitly clearing the variable. Cc: stable@kernel.org Reported-and-tested-by: Yinghai Lu Signed-off-by: Avi Kivity commit aa853f85d9ed593672d0f24a98c72a2518cb63e6 Author: Alessandro Rubini Date: Sat Jun 6 10:17:57 2009 +0100 [ARM] 5543/1: arm: serial amba: add missing declaration in serial.h This header is sometimes included in the uncompress stage to get register values, but no can be included there. So declare "struct amba_device" here before using it in a prototype. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 669165daad2ec839df85b8c5f7bc155e76a2f404 Author: Sergei Shtylyov Date: Sun Jun 7 13:52:50 2009 +0200 pdc202xx_old: fix resetproc() method pdc202xx_reset() calls pdc202xx_reset_host() twice, for both channels, while that function actually twiddles the single, shared software reset bit -- the net effect is a duplicated reset and horrendous 4 second delay happening not only on a channel reset but also when dma_lost_irq() and dma_clear() methods are called. Fold pdc202xx_reset_host() into pdc202xx_reset(), fix printk(), and move it before the actual reset... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 521a415c9f6d4e5463807ce6d36598acabcd204f Author: Sergei Shtylyov Date: Sun Jun 7 13:52:50 2009 +0200 pdc202xx_old: fix 'pdc20246_dma_ops' Commit ac95beedf8bc97b24f9540d4da9952f07221c023 (ide: add struct ide_port_ops (take 2)) erroneously converted the driver's dma_timeout() and dma_lost_irq() methods to call the driver's resetproc() method regardless of whether it was defined for this specific controller while it hadn't been defined and hence called for PDC20246. So the dma_clear() method, the successor of dma_timeout(), shouldn't exist and the dma_lost_irq() method should be standard for PDC20246. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ccc0d38ec13d4649d4168c1db590137df53ad783 Merge: f07502d... 75e613c... Author: Linus Torvalds Date: Sat Jun 6 14:33:54 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: fix mmconfig detection with 32bit near 4g PCI: use fixed-up device class when configuring device commit f07502dae230a2c3b65381fd1b06e8a18b2c7525 Author: Hugh Dickins Date: Sat Jun 6 21:18:09 2009 +0100 integrity: fix IMA inode leak CONFIG_IMA=y inode activity leaks iint_cache and radix_tree_node objects until the system runs out of memory. Nowhere is calling ima_inode_free() a.k.a. ima_iint_delete(). Fix that by calling it from destroy_inode(). Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 81ee1bad86bd6752c626018d43a74e3f81f1ae72 Merge: 9ccb1aa... 72a43d6... Author: Linus Torvalds Date: Sat Jun 6 12:18:14 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: ext3/4 with synchronous writes gets wedged by Postfix Fix nobh_truncate_page() to not pass stack garbage to get_block() commit 9ccb1aa16cef6316831fef61e4aeaa3784035cb8 Merge: 064e38a... a3cb900... Author: Linus Torvalds Date: Sat Jun 6 12:17:03 2009 -0700 Merge branch 'upstream-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] pata_ali: Use IGN_SIMPLEX commit 72a43d63cb51057393edfbcfc4596066205ad15d Author: Al Viro Date: Wed May 13 19:13:40 2009 +0100 ext3/4 with synchronous writes gets wedged by Postfix OK, that's probably the easiest way to do that, as much as I don't like it... Since iget() et.al. will not accept I_FREEING (will wait to go away and restart), and since we'd better have serialization between new/free on fs data structures anyway, we can afford simply skipping I_FREEING et.al. in insert_inode_locked(). We do that from new_inode, so it won't race with free_inode in any interesting ways and it won't race with iget (of any origin; nfsd or in case of fs corruption a lookup) since both still will wait for I_LOCK. Reviewed-by: "Theodore Ts'o" Acked-by: Jan Kara Tested-by: David Watson Signed-off-by: Al Viro commit 460bcf57b128ce1c0dd553d905fedc097f9955c6 Author: Theodore Ts'o Date: Tue May 12 07:37:56 2009 -0400 Fix nobh_truncate_page() to not pass stack garbage to get_block() The nobh_truncate_page() function is used by ext2, exofs, and jfs. Of these three, only ext2 and jfs's get_block() function pays attention to bh->b_size --- which is normally always the filesystem blocksize except when the get_block() function is called by either mpage_readpage(), mpage_readpages(), or the direct I/O routines in fs/direct_io.c. Unfortunately, nobh_truncate_page() does not initialize map_bh before calling the filesystem-supplied get_block() function. So ext2 and jfs will try to calculate the number of blocks to map by taking stack garbage and shifting it left by inode->i_blkbits. This should be *mostly* harmless (except the filesystem will do some unnneeded work) unless the stack garbage is less than filesystem's blocksize, in which case maxblocks will be zero, and the attempt to find out whether or not the filesystem has a hole at a given logical block will fail, and the page cache entry might not get zero'ed out. Also if the stack garbage in in map_bh->state happens to have the BH_Mapped bit set, there could be an attempt to call readpage() on a non-existent page, which could cause nobh_truncate_page() to return an error when it should not. Fix this by initializing map_bh->state and map_bh->size. Fortunately, it's probably fairly unlikely that ext2 and jfs users mount with nobh these days. Signed-off-by: "Theodore Ts'o" Cc: Dave Kleikamp Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro commit a3cb900cc408977a11519bc7c760f3e499079589 Author: Alan Cox Date: Wed May 13 15:02:27 2009 +0100 [libata] pata_ali: Use IGN_SIMPLEX Some ALi devices report simplex if they have been disabled and re-enabled, and restoring the byte does not work. Ignore it - the needed supporting logic is already present for the SATA ULi ports. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 064e38aaded5269e573ac1c765284fd65c8ebd13 Merge: cd24f8c... 44fb551... Author: Linus Torvalds Date: Fri Jun 5 11:54:28 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: Fix oops and use after free during space balancing Btrfs: set device->total_disk_bytes when adding new device commit cd24f8c1e7e27a2c6051a9a338d4704a2431dbf0 Author: Kevin Hilman Date: Fri Jun 5 18:48:08 2009 +0100 mtd: davinci nand: update clock naming DaVinci clock support has been updated in mainline. Update clock names accordingly. Signed-off-by: Kevin Hilman Acked-by: David Brownell Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit be94a4ba093c75e06b6fd2b0476f34812fbd359e Merge: a4e4b64... 65e3164... Author: Linus Torvalds Date: Fri Jun 5 11:53:44 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: ata_piix: Add HP Compaq nc6000 to the broken poweroff list ahci: add warning messages for hp laptops with broken suspend pata_efar: fix PIO2 underclocking pata_legacy: wait for async probing commit 65e31643115349fd7a81acbe75ec4a54d5df8aad Author: Ville Syrjala Date: Tue May 19 01:37:44 2009 +0300 ata_piix: Add HP Compaq nc6000 to the broken poweroff list HP Compaq nc6000 suffers from the double disk spindown issue. Add it to the broken poweroff DMI list. Signed-off-by: Ville Syrjala Signed-off-by: Jeff Garzik commit 9b10ae86d1616f46dabb67c663fe6a9c3a502663 Author: Tejun Heo Date: Sat May 30 20:50:12 2009 +0900 ahci: add warning messages for hp laptops with broken suspend Harddisks on HP dv[4-6] and HDX18 fail to come online after resume on earlier BIOSen. Fortunately, HP recently released BIOS updates for all machines to fix the issue. Detect old BIOSen, warn the user to update BIOS on boot and suspend attempts and fail suspend. Kudos to all the bug reporters. Signed-off-by: Tejun Heo Cc: kernel.org@epperson.homelinux.net Cc: emisca@gmail.com Cc: Gadi Cohen Cc: Paul Swanson Cc: s@ourada.org Cc: Trevor Davenport Cc: corruptor1972 Cc: Victoria Wilson Cc: khiraly Cc: Sean Signed-off-by: Jeff Garzik commit 5f33b3bcd7aac66a51e6bfaf35e8cff4eabafb06 Author: Sergei Shtylyov Date: Mon Jun 1 22:42:10 2009 +0300 pata_efar: fix PIO2 underclocking Fix the PIO mode 2 using mode 0 timings -- this driver should enable the fast timing bank starting with PIO2, just like the PIIX/ICH drivers do. Also, fix/rephrase some comments while at it. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 45bc955bb1324a46c9539550cc615994e6d0a43d Author: James Bottomley Date: Fri Jun 5 10:41:39 2009 -0400 pata_legacy: wait for async probing The basic problem here that pata_legacy attaches the host, sees if it found any devices and detaches it if none were found. With async probing, it's not waiting until discovery is finished before deciding it has no devices and trying the detach leading to this warning: ata1: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14 ------------[ cut here ]------------ WARNING: at drivers/ata/libata-core.c:6222 ata_host_detach+0x75/0x90() Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.30-rc7 #1 Call Trace: [] ? ata_host_detach+0x75/0x90 [] ? ata_host_detach+0x75/0x90 [] ? warn_slowpath_common+0x45/0x80 [] ? warn_slowpath_null+0xa/0x10 [] ? ata_host_detach+0x75/0x90 [] ? legacy_init+0x44e/0x87f [] ? legacy_init+0x0/0x87f [] ? _stext+0x21/0x140 [] ? proc_register+0x2f/0x190 [] ? create_proc_entry+0x5c/0xc0 [] ? register_irq_proc+0x6e/0x90 [] ? kernel_init+0x6e/0xbf [] ? kernel_init+0x0/0xbf [] ? kernel_thread_helper+0x7/0x10 ---[ end trace ef1ee36e873ae3a0 ]--- Because it detaches before the probe is complete. One way to fix it would be to put an async_synchronize_full() before looking for devices, which this patch does. A better way might be to separate libata into its own domain and only wait for that. Reported-by: Mikael Pettersson Signed-off-by: James Bottomley Signed-off-by: Jeff Garzik commit a4e4b646eb62ca4ce755e2c17aef8f42c8608821 Merge: 27704a1... 2c701b1... Author: Linus Torvalds Date: Fri Jun 5 10:46:48 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] powernow-k8: check space_id of _PCT registers to be FFH commit 2c701b10283b58937201004276319ef9d9051b5d Author: Dave Jones Date: Fri Jun 5 12:37:07 2009 -0400 [CPUFREQ] powernow-k8: check space_id of _PCT registers to be FFH The powernow-k8 driver checks to see that the Performance Control/Status Registers are declared as FFH (functional fixed hardware) by the BIOS. However, this check got broken in the commit: 0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f [CPUFREQ] checkpatch cleanups for powernow-k8 Fix based on an original patch from Naga Chumbalkar. Signed-off-by: Naga Chumbalkar Cc: Mark Langsdorf Signed-off-by: Dave Jones commit 27704a16c9e0fb4c6b04344c7c4c40ac16148ec0 Author: Linus Torvalds Date: Fri Jun 5 10:21:52 2009 -0700 Revert "drm: don't associate _DRM_DRIVER maps with a master" This reverts commit 6c51d1cfa0a370b48a157163340190cf5fd2346b, which apparently causes DRI initialization failures on Radeons. Reported-by: Markus Trippelsdorf Requested-by: Dave Airlie Signed-off-by: Linus Torvalds commit e9e10124e269a39de089c5e0d9936fae2ff889b2 Author: Alan Cox Date: Fri Jun 5 11:56:18 2009 +0100 ivtv: Fix PCI DMA direction The ivtv stream buffers may be for receive or for send but the attached sg handle is always destined cpu->device. We flush it correctly but the allocation is wrongly done with the same type as the buffers. See bug: http://bugzilla.kernel.org/show_bug.cgi?id=13385 (Note this doesn't close the bug - it fixes the ivtv part and in turn the logging next shows up some rather alarming DMA sg list warnings in libata) Signed-off-by: Alan Cox Acked-by: Hans Verkuil Signed-off-by: Linus Torvalds commit edaba2c5334492f82d39ec35637c6dea5176a977 Author: Oleg Nesterov Date: Thu Jun 4 16:29:09 2009 -0700 ptrace: revert "ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic" Commit 95a3540da9c81a5987be810e1d9a83640a366bd5 ("ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic") removed the "extra" wake_up_process() from ptrace_detach(), but as Jan pointed out this breaks the compatibility. I believe the changelog is right and this wake_up() is wrong in many ways, but GDB assumes that ptrace(PTRACE_DETACH, child, 0, 0) always wakes up the tracee. Despite the fact this breaks SIGNAL_STOP_STOPPED/group_stop_count logic, and despite the fact this wake_up_process() can break another assumption: PTRACE_DETACH with SIGSTOP should leave the tracee in TASK_STOPPED case. Because the untraced child can dequeue SIGSTOP and call do_signal_stop() before ptrace_detach() calls wake_up_process(). Revert this change for now. We need some fixes even if we we want to keep the current behaviour, but these fixes are not for 2.6.30. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Jan Kratochvil Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08f67461c609ad96bf26732b590569e02e322019 Author: Mike Frysinger Date: Thu Jun 4 16:29:08 2009 -0700 kbuild: fix detection of CONFIG_FRAME_WARN=0 The checking of CONFIG_FRAME_WARN in the top level Makefile forgot to actually derefence the variable thus leading to an always true check. Signed-off-by: Mike Frysinger Cc: Andi Kleen Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 087eb437051b3de817720f9c80c440fc9e7dcce8 Author: Oleg Nesterov Date: Thu Jun 4 16:29:07 2009 -0700 ptrace: tracehook_report_clone: fix false positives The "trace || CLONE_PTRACE" check in tracehook_report_clone() is not right, - If the untraced task does clone(CLONE_PTRACE) the new child is not traced, we must not queue SIGSTOP. - If we forked the traced task, but the tracer exits and untraces both the forking task and the new child (after copy_process() drops tasklist_lock), we should not queue SIGSTOP too. Change the code to check task_ptrace() != 0 instead. This is still racy, but the race is harmless. We can race with another tracer attaching to this child, or the tracer can exit and detach in parallel. But giwen that we didn't do wake_up_new_task() yet, the child must have the pending SIGSTOP anyway. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87297fb405ef13cac375f202d114323b076a56d Merge: b63254c... 0e7ddf7... Author: Linus Torvalds Date: Thu Jun 4 15:23:51 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Remove a bad BUG_ON in the fence management code. commit b63254c71a46d7af2e3f00342b0592dfcd77b342 Merge: 730c586... fc43896... Author: Linus Torvalds Date: Thu Jun 4 15:23:39 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: ignore EDID with really tiny modes. drm: don't associate _DRM_DRIVER maps with a master drm/i915: intel_lvds.c fix section mismatch drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms. drm: set permissions on edid file to 0444 drm: add newlines to text sysfs files drm/radeon: fix ring free alignment calculations drm: fix irq naming for kms drivers. commit 730c586ad5228c339949b2eb4e72b80ae167abc4 Author: Salman Qazi Date: Thu Jun 4 15:20:39 2009 -0700 drivers/char/mem.c: avoid OOM lockup during large reads from /dev/zero While running 20 parallel instances of dd as follows: #!/bin/bash for i in `seq 1 20`; do dd if=/dev/zero of=/export/hda3/dd_$i bs=1073741824 count=1 & done wait on a 16G machine, we noticed that rather than just killing the processes, the entire kernel went down. Stracing dd reveals that it first does an mmap2, which makes 1GB worth of zero page mappings. Then it performs a read on those pages from /dev/zero, and finally it performs a write. The machine died during the reads. Looking at the code, it was noticed that /dev/zero's read operation had been changed by 557ed1fa2620dc119adb86b34c614e152a629a80 ("remove ZERO_PAGE") from giving zero page mappings to actually zeroing the page. The zeroing of the pages causes physical pages to be allocated to the process. But, when the process exhausts all the memory that it can, the kernel cannot kill it, as it is still in the kernel mode allocating more memory. Consequently, the kernel eventually crashes. To fix this, I propose that when a fatal signal is pending during /dev/zero read operation, we simply return and let the user process die. Signed-off-by: Salman Qazi Cc: Nick Piggin Signed-off-by: Andrew Morton [ Modified error return and comment trivially. - Linus] Signed-off-by: Linus Torvalds commit 44fb5511638938a2c37c895abc14df648ffc07e9 Author: Chris Mason Date: Thu Jun 4 15:34:51 2009 -0400 Btrfs: Fix oops and use after free during space balancing The btrfs allocator uses list_for_each to walk the available block groups when searching for free blocks. It starts off with a hint to help find the best block group for a given allocation. The hint is resolved into a block group, but we don't properly check to make sure the block group we find isn't in the middle of being freed due to filesystem shrinking or balancing. If it is being freed, the list pointers in it are bogus and can't be trusted. But, the code happily goes along and uses them in the list_for_each loop, leading to all kinds of fun. The fix used here is to check to make sure the block group we find really is on the list before we use it. list_del_init is used when removing it from the list, so we can do a proper check. The allocation clustering code has a similar bug where it will trust the block group in the current free space cluster. If our allocation flags have changed (going from single spindle dup to raid1 for example) because the drives in the FS have changed, we're not allowed to use the old block group any more. The fix used here is to check the current cluster against the current allocation flags. Signed-off-by: Chris Mason commit 2cb7878a3a4341d1faa208de962d66f0817d3e7a Author: Rusty Russell Date: Wed Jun 3 14:52:24 2009 +0930 lguest: fix 'unhandled trap 13' with CONFIG_CC_STACKPROTECTOR We don't set up the canary; let's disable stack protector on boot.c so we can get into lguest_init, then set it up. As a side effect, switch_to_new_gdt() sets up %fs for us properly too. Signed-off-by: Rusty Russell Acked-by: Tejun Heo Signed-off-by: Linus Torvalds commit 754c0f9a95b685163cfa9ea3ba9bd48310f9b06f Merge: 947ca2e... 1257629... Author: Russell King Date: Thu Jun 4 17:02:58 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 2cc3c559fb2fe8cecca82a517bc56e88b0c1effd Author: Yan Zheng Date: Thu Jun 4 09:23:50 2009 -0400 Btrfs: set device->total_disk_bytes when adding new device It was not being properly initialized, and so the size saved to disk was not correct. Signed-off-by: Chris Mason commit 0e7ddf7eeeef5aea85412120539ab5369577faeb Author: Eric Anholt Date: Thu Jun 4 11:18:14 2009 +0000 drm/i915: Remove a bad BUG_ON in the fence management code. This could be triggered by a gtt mapping fault on 965 that decides to remove the fence from another object that happens to be active currently. Since the other object doesn't rely on the fence reg for its execution, we don't wait for it to finish. We'll soon be not waiting on 915 most of the time as well, so just drop the BUG_ON. Signed-off-by: Eric Anholt commit 947ca2e983c7f46b49dbfb5bf51d39941d39f000 Merge: 1946d6e... 6b4bfb8... Author: Russell King Date: Thu Jun 4 12:27:18 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit 75e613cdc7bb2ba3795b1bc3ddf19476c767ba68 Author: Yinghai Lu Date: Wed Jun 3 00:13:13 2009 -0700 x86/pci: fix mmconfig detection with 32bit near 4g Pascal reported and bisected a commit: | x86/PCI: don't call e820_all_mapped with -1 in the mmconfig case which broke one system system. ACPI: Using IOAPIC for interrupt routing PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 255 PCI: MCFG area at f0000000 reserved in ACPI motherboard resources PCI: Using MMCONFIG for extended config space it didn't have PCI: updated MCFG configuration 0: base f0000000 segment 0 buses 0 - 63 anymore, and try to use 0xf000000 - 0xffffffff for mmconfig For 32bit, mcfg_res->end could be 32bit only (if 64 resources aren't used) So use end - 1 to pass the value in mcfg->end to avoid overflow. We don't need to worry about the e820 path, they are always 64 bit. Reported-by: Pascal Terjan Bisected-by: Pascal Terjan Tested-by: Pascal Terjan Signed-off-by: Yinghai Lu Cc: stable@kernel.org Signed-off-by: Jesse Barnes commit f79b1b146b52765ee38bfb91bb14eb850fa98017 Author: Yu Zhao Date: Thu May 28 00:25:05 2009 +0800 PCI: use fixed-up device class when configuring device The device class may be changed after the fixup, so re-read the class value from pci_dev when configuring the device. Otherwise some devices such as JMicron SATA controller won't work. Reviewed-by: Matthew Wilcox Reviewed-by: Grant Grundler Tested-by: Marc Dionne Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 1257629b0712a0a68a24c532a05a4cd23e3f7565 Author: Philipp Zabel Date: Tue May 26 22:03:32 2009 +0200 [ARM] pxa: fix pxa27x_udc default pullup GPIO Currently, pxa27x_udc tries to use GPIO 0 as D+ pullup if not explicitly configured. Default to an invalid GPIO (-1) instead. Signed-off-by: Philipp Zabel Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit d81e77f041881d8d91c767b8c84f9068290b10c6 Author: Jonathan Cameron Date: Mon May 25 16:50:10 2009 +0000 [ARM] pxa/imote2: fix UCAM sensor board ADC model number Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit fc43896630a421321a19d7970bac27ac94e9d162 Author: Adam Jackson Date: Thu Jun 4 10:20:34 2009 +1000 drm: ignore EDID with really tiny modes. Some EDIDs lie and report tiny modes that aren't possible. Ignore these modes. Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 6c51d1cfa0a370b48a157163340190cf5fd2346b Author: Ben Skeggs Date: Tue May 26 10:35:52 2009 +1000 drm: don't associate _DRM_DRIVER maps with a master A driver will use the _DRM_DRIVER map flag to indicate that it wants to be responsible for removing the map itself, bypassing the DRM's automagic cleanup code. Since the multi-master changes this has been broken, resulting in some drivers having their registers unmapped before it's finished with them. Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 93c05f222413e3a16e8785f252db4726693abd71 Author: Jaswinder Singh Rajput Date: Thu Jun 4 09:41:19 2009 +1000 drm/i915: intel_lvds.c fix section mismatch intel_no_lvds[] does not require __initdata as it is used only by void intel_lvds_init(struct drm_device *dev). Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Dave Airlie commit c9fb15f60eb517c958dec64dca9357bf62bf2201 Author: Keith Packard Date: Sat May 30 20:42:28 2009 -0700 drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms. Making the drm_crtc.c code recognize the DPMS property and invoke the connector->dpms function doesn't remove any capability from the driver while reducing code duplication. That just highlighted the problem with the existing DPMS functions which could turn off the connector, but failed to turn off any relevant crtcs. The new drm_helper_connector_dpms function manages all of that, using the drm_helper-specific crtc and encoder dpms functions, automatically computing the appropriate DPMS level for each object in the system. This fixes the current troubles in the i915 driver which left PLLs, pipes and planes running while in DPMS_OFF mode or even while they were unused. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit e36ebaf49274ffa78f17b62bcae4c92c33b5b391 Author: Keith Packard Date: Sat May 30 20:42:26 2009 -0700 drm: set permissions on edid file to 0444 Without initializing the sysfs attributes for the edid file, it was created with mode 0, making it difficult for applications to use. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 75185c929ed241f5cf1aa28999b8012181e2c7cb Author: Keith Packard Date: Sat May 30 20:42:25 2009 -0700 drm: add newlines to text sysfs files The contents of various simple text files in sysfs should end with a newline to make them easier to read from the console. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 9863871bd1bbf218b921af5e0bc48ca4f6ea9f12 Author: Dave Airlie Date: Thu Jun 4 07:08:13 2009 +1000 drm/radeon: fix ring free alignment calculations fd.o bz#21849 We were aligning to +16 dwords, instead of to the next 16dword boundary in the ring. Fix the calculation to go to the next 16dword boundary when space checking. Signed-off-by: Dave Airlie commit b8da7de56ca0ad34726478a50d138a29a9ff76cb Author: Dave Airlie Date: Tue Jun 2 16:50:35 2009 +1000 drm: fix irq naming for kms drivers. allocating devname in the i915 driver was a hack originally and I forgot to figure out how to do this properly back then. So this is the cleaner version that just picks devname or driver name in the irq code. It removes the devname allocs from the i915 driver. Signed-off-by: Dave Airlie commit fbf6a5fcbcc2248f1e676f7a0a7d49cd4b535d2a Author: Dave Liu Date: Wed May 6 18:40:07 2009 +0800 sdhci-of: Fix the wrong accessor to HOSTVER register Freescale eSDHC controller has the special order for the HOST version register. that is not same as the other's registers. The address of HOSTVER in spec is 0xFE, and we need use the in_be16(0xFE) to access it, not in_be16(0xFC). Signed-off-by: Dave Liu Acked-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit a6d297f008e124d0bb4312369191b012c10a1a4e Author: Nicolas Pitre Date: Tue May 26 22:35:34 2009 -0400 mvsdio: fix config failure with some high speed SDHC cards Especially with Sandisk SDHC cards, the second SWITCH command was failing with a timeout and the card was not recognized at all. However if the system was busy, or debugging was enabled, or a udelay(100) was inserted before the second SWITCH command in the core code, then the timing was so that the card started to work. With some unusual block sizes, the data FIFO status doesn't indicate a "empty" state right away when the data transfer is done. Queuing another data transfer in that condition results in a transfer timeout. The empty FIFO bit eventually get set by itself in less than 50 usecs when it is not set right away. So let's just poll for that bit before configuring the controller with a new data transfer. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 9ca6944cbfad11f2368cf10292e7f3eb036386c2 Author: Nicolas Pitre Date: Thu May 14 21:28:05 2009 -0400 mvsdio: ignore high speed timing requests from the core Empirical evidences show that this is causing far more problems than it solves when this mode is enabled in the host hardware. Amongst those cards that are known to be non functional when this bit is set are: A-Data "Speedy" 2GB SD card Kodak 512MB SD card Ativa 1GB MicroSD card Marvell 8688 (WIFI/Bluetooth) SDIO card Since those cards do work on other host controllers which do honnor the hs timing, the issue must be with this particular host hardware. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit e749c6f21fd7dc618f61dd178b4ee739c3cb1c31 Author: Ben Nizette Date: Thu Apr 16 15:55:21 2009 +1000 mmc/omap: Use disable_irq_nosync() from within irq handlers. disable_irq() should wait for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 992697e9b342115dcf052ffa41d418cb4fe1a841 Author: Kumar Gala Date: Fri May 8 08:52:49 2009 -0500 sdhci-of: Add fsl,esdhc as a valid compatible to bind against We plan to use fsl,esdhc going forward as the base compatible so update the driver to bind against it. Signed-off-by: Kumar Gala Signed-off-by: Pierre Ossman commit 703aaced2b9c9a98285f265f3444c2f89d9d4d19 Author: Nicolas Pitre Date: Sat May 9 01:03:52 2009 -0400 mvsdio: allow automatic loading when modular Signed-off-by: Nicolas Pitre Tested-by: Martin Michlmayr Signed-off-by: Pierre Ossman commit 656217d28480f63313a488f6973980f9fbb921a1 Author: Martin Fuzzey Date: Thu Apr 16 22:00:41 2009 +0200 mxcmmc: Fix missing return value checking in DMA setup code. Signed-off-by: Martin Fuzzey commit 18489fa2ba4c170d96ffc1a41f7b9002dcb983b7 Author: Martin Fuzzey Date: Thu Apr 16 22:00:36 2009 +0200 mxcmmc : Reset the SDHC hardware if software timeout occurs. When a software timeout occurs in polling mode hardware was left in an indeterminate state causing subsequent operations to block. Signed-off-by: Martin Fuzzey commit 85b843227a9b8c1a27ebd354a80c89aef067f2ca Author: Anand Gadiyar Date: Wed Apr 15 17:44:58 2009 +0530 omap_hsmmc: Trivial fix for a typo in comment Signed-off-by: Anand Gadiyar Signed-off-by: Pierre Ossman commit c499b0672f8df9379764965c5ec124751699d7c4 Author: Sascha Hauer Date: Fri Apr 3 14:41:56 2009 +0200 mxcmmc: decrease minimum frequency to make MMC cards work This is a temporary workaround until the MMC stack can be fixed. Signed-off-by: Sascha Hauer Signed-off-by: Pierre Ossman commit 6b4bfb87b638a4f114dfb6f72f4ac1be88a4ebe4 Author: Rabin Vincent Date: Tue May 26 22:31:46 2009 +0530 mx[23]: don't put clock lookups in __initdata Remove the __initdata annotation for the clock lookups, since they will be needed when loading modules which use clk_get(). Tested-by: Agustín Ferrín Pozuelo Signed-off-by: Rabin Vincent Signed-off-by: Sascha Hauer commit e76afc4e7816a0a5300073098cdac93a994eb5ca Author: Eric Lammerts Date: Tue May 19 20:53:20 2009 -0400 fix oops when using console=ttymxcN with N > 0 Signed-off-by: Eric Lammerts Signed-off-by: Sascha Hauer commit 1946d6ef9d7bd4ba97094fe6eb68a9b877bde6b7 Author: Russell King Date: Mon Jun 1 12:50:33 2009 +0100 [ARM] ARMv7 errata: only apply fixes when running on applicable CPU Currently, whenever an erratum workaround is enabled, it will be applied whether or not the erratum is relevent for the CPU. This patch changes this - we check the variant and revision fields in the main ID register to determine which errata to apply. We also avoid re-applying erratum 460075 if it has already been applied. Applying this fix in non-secure mode results in the kernel failing to boot (or even do anything.) This fixes booting on some ARMv7 based platforms which otherwise silently fail. Acked-by: Catalin Marinas Signed-off-by: Russell King commit eb5f4ca9536ba297c98721ecbbdf41ec5b987bd5 Author: Martin Fuzzey Date: Mon Jun 1 09:19:37 2009 +0100 [ARM] 5534/1: kmalloc must return a cache line aligned buffer Define ARCH_KMALLOC_MINALIGN in asm/cache.h At the request of Russell also move ARCH_SLAB_MINALIGN to this file. Signed-off-by: Martin Fuzzey Signed-off-by: Russell King