commit 1b4d40a517e0657a081d5d63518c4badd31c60ea Merge: 79ecb04 fd45e478 Author: Linus Torvalds Date: Mon Jan 11 09:48:48 2010 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: Ensure we force all busy extents in range to disk xfs: Don't flush stale inodes xfs: fix timestamp handling in xfs_setattr xfs: use DECLARE_EVENT_CLASS commit 79ecb043ea0ae046463f03dea46c5e13a9312205 Merge: db1fc95 ba19809 Author: Linus Torvalds Date: Mon Jan 11 09:48:29 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Use MAX_LFS_FILESIZE for meta inode size GFS2: Fix gfs2_xattr_acl_chmod() GFS2: Fix locking bug in rename GFS2: Ensure uptodate inode size when using O_APPEND commit db1fc95744827a04f7e127681493bf1c1d3ab688 Merge: 00fdb75 05b5d89 Author: Linus Torvalds Date: Mon Jan 11 09:48:14 2010 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: quota: Fix dquot_transfer for filesystems different from ext4 commit 00fdb75b1959c2f8de8b70bfb63aca422feff2fa Merge: c07d723 3d4a788 Author: Linus Torvalds Date: Mon Jan 11 09:47:52 2010 -0800 Merge branch 'agp-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/hp: fail gracefully if we don't find an IOC agp/hp: fixup hp agp after ACPI changes agp: correct missing cleanup on error in agp_add_bridge commit c07d7237a639d57dc91ea7efdbc1b3f85c7a095d Merge: 6102c31 f22d6dd Author: Linus Torvalds Date: Mon Jan 11 09:46:20 2010 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (45 commits) drm/nv04: Fix set_operation software method. drm/nouveau: initialise DMA tracking parameters earlier drm/nouveau: use dma.max rather than pushbuf size for checking GET validity drm/nv04: differentiate between nv04/nv05 drm/nouveau: Fix null deref in nouveau_fence_emit due to deleted fence drm/nv50: prevent a possible ctxprog hang drm/nouveau: have ttm's fault handler called directly drm/nv50: restore correct cache1 get/put address on fifoctx load drm/nouveau: create function for "dealing" with gpu lockup drm/nouveau: remove unused nouveau_channel_idle() function drm/nouveau: fix handling of fbcon colours in 8bpp drm/nv04: Context switching fixes. drm/nouveau: Use the software object for fencing. drm/nouveau: Allocate a per-channel instance of NV_SW. drm/nv50: make the blocksize depend on vram size drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGN drm/nouveau: Don't skip card take down on nv0x. drm/nouveau: Implement nv42-nv43 TV load detection. drm/nouveau: Clean up the nv17-nv4x load detection code a bit. drm/nv50: fix fillrect color ... commit 6102c315d896fb020550fb2481613485872978f6 Merge: a29815a 3dd3a15 Author: Linus Torvalds Date: Mon Jan 11 09:45:55 2010 -0800 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: Make PCI device ids constant hwmon: (coretemp) Fix TjMax for Atom N450/D410/D510 CPUs hwmon: (k10temp) Blacklist more family 10h processors hwmon: (asus_atk0110) Add debugfs interface hwmon: (asus_atk0110) Refactor interface probe code hwmon: (adt7462) Fix pin 28 monitoring commit a29815a333c6c6e677294bbe5958e771d0aad3fd Author: Avi Kivity Date: Sun Jan 10 16:28:09 2010 +0200 core, x86: make LIST_POISON less deadly The list macros use LIST_POISON1 and LIST_POISON2 as undereferencable pointers in order to trap erronous use of freed list_heads. Unfortunately userspace can arrange for those pointers to actually be dereferencable, potentially turning an oops to an expolit. To avoid this allow architectures (currently x86_64 only) to override the default values for these pointers with truly-undereferencable values. This is easy on x86_64 as the virtual address space is large and contains areas that cannot be mapped. Other 64-bit architectures will likely find similar unmapped ranges. [ingo: switch to 0xdead000000000000 as the unmapped area] [ingo: add comments, cleanup] [jaswinder: eliminate sparse warnings] Acked-by: Linus Torvalds Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit c0f607c608ba889db5250235ba620f818aa44a4d Merge: 598cace 27dba4b Author: Linus Torvalds Date: Mon Jan 11 09:44:19 2010 -0800 Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (26 commits) OMAP2 clock: dynamically allocate CPUFreq frequency table OMAP clock/CPUFreq: add clk_exit_cpufreq_table() OMAP2xxx OPP: clean up comments in OPP data OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled OMAP1 clock: remove __initdata from struct clk_functions to prevent crash OMAP1 clock: Add missing clocks for OMAP 7xx OMAP clock: remove incorrect EXPORT_SYMBOL()s OMAP3 clock: Add capability to change rate of dpll4_m5_ck OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK OMAP3: clock: add clockdomains for UART1 & 2 OMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space OMAP2xxx IO mapping: mark DSP mappings as being 2420-only ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access. OMAP2: remove duplicated #include omap3: EVM: Choose OMAP_PACKAGE_CBB omap3: Fix booting if package is uninitialized omap3: add missing parentheses omap3: add missing parentheses omap2/3: ZOOM: Correcting key mapping for few keys omap2/3: make serial_in_override() address the right uart port ... commit 598cace09645fc10f8150e4adc982922cbd214ed Author: David Howells Date: Fri Jan 8 14:43:21 2010 -0800 mn10300: update the ASB2303 defconfig Update the defconfig for the ASB2303 platform. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012c79bad50469d964fda126102080d4b93a5946 Author: David Howells Date: Fri Jan 8 14:43:21 2010 -0800 mn10300: make the ASB2305's PCnet32 NIC work by using the PCI bridge's SRAM Access to the ASB2305's PCnet32 NIC doesn't work correctly because when the NIC attempts to update the ring buffer flags by DMA, the change to RAM crops up about 17uS after the interrupt line is asserted. This is almost certainly due to a bug in the PCI bridge FPGA on that board. We can get around this by making dma_alloc_coherent() put the ring buffer in the SRAM attached to the PCI bridge rather than in the SDRAM. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 112b4a0bf1080b3d40a2d3b3982361229b25e72d Author: David Howells Date: Fri Jan 8 14:43:20 2010 -0800 mn10300: insert PCI root bus resources for the ASB2305 devel motherboard Insert PCI root bus resources for the MN10300-based ASB2305 development kit motherboard. This is required because the CPU's window onto the PCI bus address space is considerably smaller than the CPU's full address space and non-PCI devices lie outside of the PCI window that we might want to access. Without this patch, the PCI root bus uses the platform-level bus resources, and these are then confined to the PCI window, thus making platform_device_add() reject devices outside of this window. We also add a reservation for the PCI SRAM region. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 126cda50468d26c4c67f20c51a800685d42d1c61 Author: Bjorn Helgaas Date: Fri Jan 8 14:43:19 2010 -0800 mn10300: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not 6, resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e716381f9f4ea65df2e2a911275b47ed6ae53d4b Author: David Howells Date: Fri Jan 8 14:43:18 2010 -0800 mn10300: use KERN_ERR not KERN_ERROR Use KERN_ERR not KERN_ERROR in the ASB2305 platform code. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07c706a6226ea7556a41fced300248d1daac90db Author: Al Viro Date: Fri Jan 8 14:43:17 2010 -0800 mn10300: fix several bogus includes on abs2305 asm/cpu never existed for mn10300; the files they are looking for are in asm. Signed-off-by: Al Viro Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d20d01023e76f3c1289cfca2e3305de7ff9e69 Author: David Howells Date: Fri Jan 8 14:43:17 2010 -0800 mn10300: wire up missing new syscalls Wire up missing new system calls for MN10300. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6bb7a1ad326f56f0793353c59348554f84b513c Author: Mark Salter Date: Fri Jan 8 14:43:16 2010 -0800 mn10300: add cc clobbers to asm statements gcc 4.2.1 for MN10300 is more agressive than the older gcc in reordering/moving other insns between an insn that sets flags and an insn that uses those flags. This leads to trouble with asm statements which are missing an explicit "cc" clobber. This patch adds the explicit "cc" clobber to asm statements which do indeed clobber the condition flags. Signed-off-by: Mark Salter Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0641e86fbc722906e323b2c2a069e65f44ff484 Author: Mark Salter Date: Fri Jan 8 14:43:15 2010 -0800 mn10300: objcopy flags fix The gcc-4.2.1 based toolchain for MN10300 adds some new note sections which need to be stripped from the binary image. This patch takes care of that. Signed-off-by: Mark Salter Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c03ee7352f2f0ee393c7190ce0b758dd1217f57 Author: Mark Salter Date: Fri Jan 8 14:43:14 2010 -0800 mn10300: signal stack fix This fixes a signal stack handling problem in the MN10300 arch. When new threads are cloned with CLONE_VM, they don't inherit the alternate signal stack. They do share the signal flags, though. When deciding whether to use an alternate stack, the arch code needs to check to make sure the task struct contains a valid alternate stack. This patch fixes the MN10300 arch by using the sas_ss_flags() test provided by sched.h rather than the on_sig_stack() test which is insufficient by itself. Signed-off-by: Mark Salter Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 004731b2c7c658d36bee167cb1e1a399c2cbccc9 Author: OGAWA Hirofumi Date: Fri Jan 8 14:43:11 2010 -0800 rtc_cmos: convert shutdown to new pnp_driver->shutdown commit abd6633c67925f90775bb74755f9c547e30f1f20 ("pnp: add a shutdown method to pnp drivers") adds shutdown method to bus driver blindly. With it, driver->shutdown is no longer valid. Use pnp_driver->shutdown instead. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14889 Signed-off-by: OGAWA Hirofumi Reported-by: Malte Schröder Cc: "Rafael J. Wysocki" Cc: Bjorn Helgaas Cc: David Hardeman Cc: Dmitry Torokhov Cc: Alessandro Zummo Cc: Paul Gortmaker Cc: [2.6.32.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f53a09ed40f08416b3029ada8f02252e7596c18 Author: Minchan Kim Date: Fri Jan 8 14:43:10 2010 -0800 smaps: fix wrong rss count A long time ago we regarded zero page as file_rss and vm_normal_page doesn't return NULL. But now, we reinstated ZERO_PAGE and vm_normal_page's implementation can return NULL in case of zero page. Also we don't count it with file_rss any more. Then, RSS and PSS can't be matched. For consistency, Let's ignore zero page in smaps_pte_range. Signed-off-by: Minchan Kim Acked-by: KAMEZAWA Hiroyuki Acked-by: Hugh Dickins Acked-by: Matt Mackall Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2b34e20c1f431604e0dde910c3ff271c84ed706 Author: Randy Dunlap Date: Fri Jan 8 14:43:09 2010 -0800 documentation: update kernel-doc-nano-HOWTO information Remove comments about function short descriptions not allowed to be on multiple lines (that was fixed/changed recently). Add comments that function "section header:" names need to be unique per function/struct/union/typedef/enum. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80884094e34456887ecdbd107d40e72c4a40f9c9 Author: Michael Hennerich Date: Fri Jan 8 14:43:08 2010 -0800 gpio: adp5588-gpio: new driver for ADP5588 GPIO expanders Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5787536edf18e33d06e2bf038bfd0910f4def213 Author: Stephen Hemminger Date: Fri Jan 8 14:43:08 2010 -0800 drivers/cpuidle/governors/menu.c: fix undefined reference to `__udivdi3' menu: use proper 64 bit math The new menu governor is incorrectly doing a 64 bit divide. Compile tested only Signed-off-by: Stephen Hemminger Cc: Arjan van de Ven Cc: Len Brown Cc: Venkatesh Pallipadi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 006b4298f26984d514546fe4e53371761f66b643 Author: Randy Dunlap Date: Fri Jan 8 14:43:07 2010 -0800 Documentation: update ring-buffer-design.txt Fix typos, grammos, spellos, hyphenation. Signed-off-by: Randy Dunlap Acked-by: Steven Rostedt Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74dbdd239bb1348ad86d28b18574d9c1f28b62ca Author: Andrea Arcangeli Date: Fri Jan 8 14:43:05 2010 -0800 mm: hugetlb: fix clear_huge_page() sz is in bytes, MAX_ORDER_NR_PAGES is in pages. Signed-off-by: Andrea Arcangeli Acked-by: David Gibson Cc: Mel Gorman Cc: David Rientjes Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5430a04e995081a308b4419bd0940f2badc6e6b Author: Tomaz Mertelj Date: Fri Jan 8 14:43:04 2010 -0800 hwmon: driver for Texas Instruments amc6821 chip Signed-off-by: Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24f3c59e1781435835083eab587399c8bdc235b4 Author: Jani Nikula Date: Fri Jan 8 14:43:03 2010 -0800 gpiolib: fix poll(2) support reconfigure on sysfs polarity change Previously enabled poll(2) support on one edge was never reconfigured when sysfs polarity change was triggered from kernel, because 'struct device *dev' shadowed an earlier definition. Found by sparse, which I should've run much earlier. Signed-off-by: Jani Nikula Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f4724027bfe38644146252f7aa979dea7f80720 Author: Uwe Kleine-König Date: Fri Jan 8 14:43:02 2010 -0800 vsnprintf: fix reference for compressed ipv6 addresses Signed-off-by: Uwe Kleine-König Reported-by: Josip Rodin Cc: Joe Perches Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11723ab15d28e71dd118a8a92f98493f5a5907da Author: Adrian Hunter Date: Fri Jan 8 14:43:01 2010 -0800 mmc: allow for MMC v4.4 JEDEC eMMC specification version 4.4 (MMCA 4.4) defines Extended CSD structure versions up to 5. Signed-off-by: Adrian Hunter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fa83ce284a4b7cd9dcfadd01500b0ed4ab9b740 Author: Adrian Hunter Date: Fri Jan 8 14:43:00 2010 -0800 mmc_block: fix queue cleanup The main bug was that 'blk_cleanup_queue()' was called while the block device could still be in use, for example, because the card was removed while files were still open. In addition, to be sure that 'mmc_request()' will get called for all new requests (so it can error them out), the queue is emptied during cleanup. This is done after the worker thread is stopped to avoid racing with it. Finally, it is not a device error for this to be happening, so quiet the (sometimes very many) error messages. Signed-off-by: Adrian Hunter Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a74ff29b8dd8b748f8856352f9a9b5c6cc362cc Author: Jarkko Lavinen Date: Fri Jan 8 14:42:59 2010 -0800 mmc_block: fix probe error cleanup bug If mmc_blk_set_blksize() fails mmc_blk_probe() the request queue and its thread have been set up and they need to be shut down properly before putting the disk. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d92df692994472cab6045bbd9d0e2c4afa4365f Author: Anna Lemehova Date: Fri Jan 8 14:42:58 2010 -0800 mmc_block: add dev_t initialization check When a card is removed before mmc_blk_probe() has called add_disk(), then the minor field is uninitialized and has value 0. This caused mmc_blk_put() to always release devidx 0 even if 0 was still in use. Then the next mmc_blk_probe() used the first free idx of 0, which oopses in sysfs, since it is used by another card. Signed-off-by: Anna Lemehova Signed-off-by: Adrian Hunter Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a88422312f5bf7b9e3450e27d8ddc385af38789 Author: Randy Dunlap Date: Fri Jan 8 14:42:57 2010 -0800 power: fix kernel-doc notation Warning(drivers/base/power/main.c:453): No description found for parameter 'dev' Warning(drivers/base/power/main.c:453): No description found for parameter 'cb' Warning(drivers/base/power/main.c:719): No description found for parameter 'dev' Warning(drivers/base/power/main.c:719): No description found for parameter 'state' Warning(drivers/base/power/main.c:719): No description found for parameter 'cb' Signed-off-by: Randy Dunlap Cc: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1306d603fcf1f6682f8575d1ff23631a24184b21 Author: KOSAKI Motohiro Date: Fri Jan 8 14:42:56 2010 -0800 proc: partially revert "procfs: provide stack information for threads" Commit d899bf7b (procfs: provide stack information for threads) introduced to show stack information in /proc/{pid}/status. But it cause large performance regression. Unfortunately /proc/{pid}/status is used ps command too and ps is one of most important component. Because both to take mmap_sem and page table walk are heavily operation. If many process run, the ps performance is, [before d899bf7b] % perf stat ps >/dev/null Performance counter stats for 'ps': 4090.435806 task-clock-msecs # 0.032 CPUs 229 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 234 page-faults # 0.000 M/sec 8587565207 cycles # 2099.425 M/sec 9866662403 instructions # 1.149 IPC 3789415411 cache-references # 926.409 M/sec 30419509 cache-misses # 7.437 M/sec 128.859521955 seconds time elapsed [after d899bf7b] % perf stat ps > /dev/null Performance counter stats for 'ps': 4305.081146 task-clock-msecs # 0.028 CPUs 480 context-switches # 0.000 M/sec 2 CPU-migrations # 0.000 M/sec 237 page-faults # 0.000 M/sec 9021211334 cycles # 2095.480 M/sec 10605887536 instructions # 1.176 IPC 3612650999 cache-references # 839.160 M/sec 23917502 cache-misses # 5.556 M/sec 152.277819582 seconds time elapsed Thus, this patch revert it. Fortunately /proc/{pid}/task/{tid}/smaps provide almost same information. we can use it. Commit d899bf7b introduced two features: 1) Add the annotattion of [thread stack: xxxx] mark to /proc/{pid}/task/{tid}/maps. 2) Add StackUsage field to /proc/{pid}/status. I only revert (2), because I haven't seen (1) cause regression. Signed-off-by: KOSAKI Motohiro Cc: Stefani Seibold Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Randy Dunlap Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f146aabfe921006b98dfa4a78506763aedfd3206 Author: Florian Fainelli Date: Fri Jan 8 14:42:54 2010 -0800 .gitignore: ignore vmlinuz MIPS compressed kernels output a vmlinuz file in the top-level directory (maybe others do). Add vmlinuz to the list of files to ignore by git. Signed-off-by: Florian Fainelli Cc: Ralf Baechle Cc: Maxime Bizon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b45c6e76bc2c72f6426c14bed64fdcbc9bf37cb0 Author: Andi Kleen Date: Fri Jan 8 14:42:52 2010 -0800 kernel/signal.c: fix kernel information leak with print-fatal-signals=1 When print-fatal-signals is enabled it's possible to dump any memory reachable by the kernel to the log by simply jumping to that address from user space. Or crash the system if there's some hardware with read side effects. The fatal signals handler will dump 16 bytes at the execution address, which is fully controlled by ring 3. In addition when something jumps to a unmapped address there will be up to 16 additional useless page faults, which might be potentially slow (and at least is not very efficient) Fortunately this option is off by default and only there on i386. But fix it by checking for kernel addresses and also stopping when there's a page fault. Signed-off-by: Andi Kleen Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd4f490a079730aadfaf9a728303ea0135c01945 Author: Dave Anderson Date: Fri Jan 8 14:42:50 2010 -0800 cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput() The LTP cgroup test suite generates a "kernel BUG at kernel/cgroup.c:790!" here in cgroup_diput(): /* * if we're getting rid of the cgroup, refcount should ensure * that there are no pidlists left. */ BUG_ON(!list_empty(&cgrp->pidlists)); The cgroup pidlist rework in 2.6.32 generates the BUG_ON, which is caused when pidlist_array_load() calls cgroup_pidlist_find(): (1) if a matching cgroup_pidlist is found, it down_write's the mutex of the pre-existing cgroup_pidlist, and increments its use_count. (2) if no matching cgroup_pidlist is found, then a new one is allocated, it down_write's its mutex, and the use_count is set to 0. (3) the matching, or new, cgroup_pidlist gets returned back to pidlist_array_load(), which increments its use_count -- regardless whether new or pre-existing -- and up_write's the mutex. So if a matching list is ever encountered by cgroup_pidlist_find() during the life of a cgroup directory, it results in an inflated use_count value, preventing it from ever getting released by cgroup_release_pid_array(). Then if the directory is subsequently removed, cgroup_diput() hits the BUG_ON() when it finds that the directory's cgroup is still populated with a pidlist. The patch simply removes the use_count increment when a matching pidlist is found by cgroup_pidlist_find(), because it gets bumped by the calling pidlist_array_load() function while still protected by the list's mutex. Signed-off-by: Dave Anderson Reviewed-by: Li Zefan Acked-by: Ben Blum Cc: Paul Menage Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 272a897904b9a067550f5b8e812036b65180418f Author: Joe Perches Date: Fri Jan 8 14:42:48 2010 -0800 scripts/get_maintainer.pl: fix file exclusion X: logic The following command doesn't generate any output. `./scripts/get_maintainer.pl --no-git -f drivers/net/wireless/wl12xx/wl1271_acx.c` An excluded "X:" pattern match in any section would cause a file not to match any other section. Signed-off-by: Joe Perches Reported-by: Dan Carpenter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ee3aebe31d2cb22c84e1c8f48182947b13a3607 Author: Sascha Hauer Date: Fri Jan 8 14:42:47 2010 -0800 lib/rational.c needs module.h lib/rational.c:62: warning: data definition has no type or storage class lib/rational.c:62: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' lib/rational.c:62: warning: parameter names (without types) in function declaration Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König Acked-by: WANG Cong Cc: Oskar Schirmer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cacb246f8db2b9eba89d44a0f0dd4f6ed93bc113 Author: Albin Tonnerre Date: Fri Jan 8 14:42:46 2010 -0800 Add LZO compression support for initramfs and old-style initrd Signed-off-by: Albin Tonnerre Tested-by: Wu Zhangjin Acked-by: "H. Peter Anvin" Cc: Ingo Molnar Cc: Thomas Gleixner Tested-by: Russell King Acked-by: Russell King Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13510997d600a076e064f10587a8f6d20f8fff41 Author: Albin Tonnerre Date: Fri Jan 8 14:42:45 2010 -0800 x86: add support for LZO-compressed kernels The necessary changes to the x86 Kconfig and boot/compressed to allow the use of this new compression method Signed-off-by: Albin Tonnerre Acked-by: H. Peter Anvin Tested-by: Wu Zhangjin Cc: Ingo Molnar Cc: Thomas Gleixner Tested-by: Russell King Acked-by: Russell King Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7db7b4270ed2a606b8c0b5f944a5f92ade0e84c Author: Albin Tonnerre Date: Fri Jan 8 14:42:43 2010 -0800 arm: add support for LZO-compressed kernels - changes to ach/arch/boot/Makefile to make it easier to add new compression types - new piggy.lzo.S necessary for lzo compression - changes in arch/arm/boot/compressed/misc.c to allow the use of lzo or gzip, depending on the config - Kconfig support Signed-off-by: Albin Tonnerre Tested-by: Wu Zhangjin Acked-by: "H. Peter Anvin" Cc: Ingo Molnar Cc: Thomas Gleixner Tested-by: Russell King Acked-by: Russell King Cc: Ralf Baechle Cc: Martin Michlmayr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dd65feb6c603e13eba501c34c662259ab38e70e Author: Albin Tonnerre Date: Fri Jan 8 14:42:42 2010 -0800 lib: add support for LZO-compressed kernels This patch series adds generic support for creating and extracting LZO-compressed kernel images, as well as support for using such images on the x86 and ARM architectures, and support for creating and using LZO-compressed initrd and initramfs images. Russell King said: : Testing on a Cortex A9 model: : - lzo decompressor is 65% of the time gzip takes to decompress a kernel : - lzo kernel is 9% larger than a gzip kernel : : which I'm happy to say confirms your figures when comparing the two. : : However, when comparing your new gzip code to the old gzip code: : - new is 99% of the size of the old code : - new takes 42% of the time to decompress than the old code : : What this means is that for a proper comparison, the results get even better: : - lzo is 7.5% larger than the old gzip'd kernel image : - lzo takes 28% of the time that the old gzip code took : : So the expense seems definitely worth the effort. The only reason I : can think of ever using gzip would be if you needed the additional : compression (eg, because you have limited flash to store the image.) : : I would argue that the default for ARM should therefore be LZO. This patch: The lzo compressor is worse than gzip at compression, but faster at extraction. Here are some figures for an ARM board I'm working on: Uncompressed size: 3.24Mo gzip 1.61Mo 0.72s lzo 1.75Mo 0.48s So for a compression ratio that is still relatively close to gzip, it's much faster to extract, at least in that case. This part contains: - Makefile routine to support lzo compression - Fixes to the existing lzo compressor so that it can be used in compressed kernels - wrapper around the existing lzo1x_decompress, as it only extracts one block at a time, while we need to extract a whole file here - config dialog for kernel compression [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: cleanup] Signed-off-by: Albin Tonnerre Tested-by: Wu Zhangjin Acked-by: "H. Peter Anvin" Cc: Ingo Molnar Cc: Thomas Gleixner Tested-by: Russell King Acked-by: Russell King Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac4c2a3bbe5db5fc570b1d0ee1e474db7cb22585 Author: Joakim Tjernlund Date: Fri Jan 8 14:42:40 2010 -0800 zlib: optimize inffast when copying direct from output JFFS2 uses lesser compression ratio and inflate always ends up in "copy direct from output" case. This patch tries to optimize the direct copy procedure. Uses get_unaligned() but only in one place. The copy loop just above this one can also use this optimization, but I havn't done so as I have not tested if it is a win there too. On my MPC8321 this is about 17% faster on my JFFS2 root FS than the original. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Joakim Tjernlund Cc: Roel Kluin Cc: Richard Purdie Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 129182e5626972ac0df85d43a36dd46ad61c64e1 Author: Andrew Morton Date: Fri Jan 8 14:42:39 2010 -0800 percpu: avoid calling __pcpu_ptr_to_addr(NULL) __pcpu_ptr_to_addr() can be overridden by the architecture and might not behave well if passed a NULL pointer. So avoid calling it until we have verified that its arg is not NULL. Cc: Rusty Russell Cc: Kamalesh Babulal Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8767ba2796a1c894e6d9524584a26a8224f0543d Author: Masami Hiramatsu Date: Fri Jan 8 14:42:38 2010 -0800 kmod: fix resource leak in call_usermodehelper_pipe() Fix resource (write-pipe file) leak in call_usermodehelper_pipe(). When call_usermodehelper_exec() fails, write-pipe file is opened and call_usermodehelper_pipe() just returns an error. Since it is hard for caller to determine whether the error occured when opening the pipe or executing the helper, the caller cannot close the pipe by themselves. I've found this resoruce leak when testing coredump. You can check how the resource leaks as below; $ echo "|nocommand" > /proc/sys/kernel/core_pattern $ ulimit -c unlimited $ while [ 1 ]; do ./segv; done &> /dev/null & $ cat /proc/meminfo (<- repeat it) where segv.c is; //----- int main () { char *p = 0; *p = 1; } //----- This patch closes write-pipe file if call_usermodehelper_exec() failed. Signed-off-by: Masami Hiramatsu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42d53b4ff7d61487d18274ebdf1f70c1aef6f122 Author: Krzysztof Halasa Date: Fri Jan 8 14:42:36 2010 -0800 dma-debug: allow DMA_BIDIRECTIONAL mappings to be synced with DMA_FROM_DEVICE and There is no need to perform full BIDIR sync (copying the buffers in case of swiotlb and similar schemes) if we know that the owner (CPU or device) hasn't altered the data. Addresses the false-positive reported at http://bugzilla.kernel.org/show_bug.cgi?id=14169 Signed-off-by: Krzysztof Halasa Cc: David Miller Cc: Joerg Roedel Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e992cd9b72a18122bd5c958715623057f110793f Author: Vegard Nossum Date: Fri Jan 8 14:42:35 2010 -0800 kmemcheck: make bitfield annotations truly no-ops when disabled It turns out that even zero-sized struct members (int foo[0];) will affect the struct layout, causing us in particular to lose 4 bytes in struct sock. This patch fixes the regression in CONFIG_KMEMCHECK=n case. Reported-by: Eric Dumazet Signed-off-by: Vegard Nossum Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb5a8b2c92febbed57126e1b8416dfd7607ff03d Author: Randy Dunlap Date: Fri Jan 8 14:42:34 2010 -0800 docs: large update to ioctl-number.txt Add many ioctl definitions to ioctl-number.txt. Fix some whitespace/formatting. Correct some filenames/paths. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b529401c5089cf33f7165607cbc2fde43357bfb Author: Andreas Fenkart Date: Fri Jan 8 14:42:31 2010 -0800 mm: make totalhigh_pages unsigned long Makes it consistent with the extern declaration, used when CONFIG_HIGHMEM is set Removes redundant casts in printout messages Signed-off-by: Andreas Fenkart Acked-by: Russell King Cc: Ralf Baechle Cc: David Howells Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Chen Liqin Cc: Lennox Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05b5d898235401c489c68e1f3bc5706a29ad5713 Author: Jan Kara Date: Wed Jan 6 18:03:36 2010 +0100 quota: Fix dquot_transfer for filesystems different from ext4 Commit fd8fbfc1 modified the way we find amount of reserved space belonging to an inode. The amount of reserved space is checked from dquot_transfer and thus inode_reserved_space gets called even for filesystems that don't provide get_reserved_space callback which results in a BUG. Fix the problem by checking get_reserved_space callback and return 0 if the filesystem does not provide it. CC: Dmitry Monakhov Signed-off-by: Jan Kara commit ba198098a21a5dc8885fddfb308135bc2f138003 Author: Steven Whitehouse Date: Fri Jan 8 13:44:49 2010 +0000 GFS2: Use MAX_LFS_FILESIZE for meta inode size Using ~0ULL was cauing sign issues in filemap_fdatawrite_range, so use MAX_LFS_FILESIZE instead. Signed-off-by: Steven Whitehouse commit 3d4a7882b11299104a0e74425dece2e26ac98024 Author: Bjorn Helgaas Date: Thu Jan 7 12:58:56 2010 -0700 agp/hp: fail gracefully if we don't find an IOC Bail out if we don't find an enclosing IOC. Previously, if we didn't find one, we tried to set things up using garbage for the SBA/IOC register address, which causes a crash. This crash only happens if firmware supplies a defective ACPI namespace, so it doesn't fix any problems in the field. Signed-off-by: Bjorn Helgaas Signed-off-by: Dave Airlie commit 67fe63b0715ccfaefa0af8a6e705c5470ee5cada Author: Bjorn Helgaas Date: Thu Jan 7 12:58:51 2010 -0700 agp/hp: fixup hp agp after ACPI changes Commit 15b8dd53f5ffa changed the string in info->hardware_id from a static array to a pointer and added a length field. But instead of changing "sizeof(array)" to "length", we changed it to "sizeof(length)" (== 4), which corrupts the string we're trying to null-terminate. We no longer even need to null-terminate the string, but we *do* need to check whether we found a HID. If there's no HID, we used to have an empty array, but now we have a null pointer. The combination of these defects causes this oops: Unable to handle kernel NULL pointer dereference (address 0000000000000003) modprobe[895]: Oops 8804682956800 [1] ip is at zx1_gart_probe+0xd0/0xcc0 [hp_agp] http://marc.info/?l=linux-ia64&m=126264484923647&w=2 Signed-off-by: Bjorn Helgaas Reported-by: Émeric Maschino Signed-off-by: Dave Airlie commit 3f50b0222e4c6ac59a5c4819f8be0fa500970381 Author: Kevin Winchester Date: Tue Nov 17 14:38:45 2009 -0800 agp: correct missing cleanup on error in agp_add_bridge While investigating a kmemleak detected leak, I encountered the agp_add_bridge function. It appears to be responsible for freeing the agp_bridge_data in the case of a failure, but it is only doing so for some errors. Fix it to always free the bridge data if a failure condition is encountered. Signed-off-by: Kevin Winchester Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit f22d6ddaeb8126623d62c828a4d4a96dfc4cbc5c Merge: 0c9d2c4 40c2298 Author: Dave Airlie Date: Mon Jan 11 14:43:16 2010 +1000 Merge branch 'for-airlied' of /ssd/git/drm-nouveau-next into drm-linus * 'for-airlied' of /ssd/git/drm-nouveau-next: (28 commits) drm/nv04: Fix set_operation software method. drm/nouveau: initialise DMA tracking parameters earlier drm/nouveau: use dma.max rather than pushbuf size for checking GET validity drm/nv04: differentiate between nv04/nv05 drm/nouveau: Fix null deref in nouveau_fence_emit due to deleted fence drm/nv50: prevent a possible ctxprog hang drm/nouveau: have ttm's fault handler called directly drm/nv50: restore correct cache1 get/put address on fifoctx load drm/nouveau: create function for "dealing" with gpu lockup drm/nouveau: remove unused nouveau_channel_idle() function drm/nouveau: fix handling of fbcon colours in 8bpp drm/nv04: Context switching fixes. drm/nouveau: Use the software object for fencing. drm/nouveau: Allocate a per-channel instance of NV_SW. drm/nv50: make the blocksize depend on vram size drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGN drm/nouveau: Don't skip card take down on nv0x. drm/nouveau: Implement nv42-nv43 TV load detection. drm/nouveau: Clean up the nv17-nv4x load detection code a bit. drm/nv50: fix fillrect color ... commit 0c9d2c418aa4a45534943c4c9a1c8dda82d3b481 Merge: 94fd163 804c755 Author: Dave Airlie Date: Mon Jan 11 14:42:58 2010 +1000 Merge remote branch 'korg/drm-radeon-next' into drm-linus * korg/drm-radeon-next: drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xx drm/radeon/kms: Don't try to enable IRQ if we have no handler installed drm: Avoid calling vblank function is vblank wasn't initialized drm/radeon: mkregtable.c: close a file before exit drm/radeon/kms: Make sure we release AGP device if we acquired it drm/radeon/kms: Schedule host path read cache flush through the ring V2 drm/radeon/kms: Workaround RV410/R420 CP errata (V3) drm/radeon/kms: detect sideport memory on IGP chips drm/radeon: fix a couple of array index errors drm/radeon/kms: add support for eDP (embedded DisplayPort) drm: Add eDP connector type drm/radeon/kms: pull in the latest upstream ObjectID.h changes drm/radeon/kms: whitespace changes to ObjectID.h drm/radeon/kms: fix typo in atom connector type handling commit 40c2298bdcc8b766a39964c44e9a74d16aa95d53 Author: Marcin Kościelnicki Date: Sun Jan 10 17:09:14 2010 +0000 drm/nv04: Fix set_operation software method. Signed-off-by: Ben Skeggs commit c63834e1db41b59d6c7bfb1d2a549c027a42a877 Author: Ben Skeggs Date: Fri Jan 8 10:57:39 2010 +1000 drm/nouveau: initialise DMA tracking parameters earlier Signed-off-by: Ben Skeggs commit 400f14ac4ef02b2f77c9d0e3ad7d66e2f6c8e663 Author: Ben Skeggs Date: Fri Jan 8 10:53:40 2010 +1000 drm/nouveau: use dma.max rather than pushbuf size for checking GET validity Some upcoming G80 DMA changes will depend on this, but it's split out for bisectibility just in case it causes some unexpected issues. Signed-off-by: Ben Skeggs commit cc6e496587502057af02139931736b0b7a49f637 Author: Ben Skeggs Date: Thu Jan 7 13:47:57 2010 +1000 drm/nv04: differentiate between nv04/nv05 Signed-off-by: Ben Skeggs commit d6126c5c8b2019658aadc9754dca80a7573dbff5 Author: Luca Barbieri Date: Wed Jan 6 04:02:45 2010 +0100 drm/nouveau: Fix null deref in nouveau_fence_emit due to deleted fence Currently Nouveau will unvalidate all buffers if it is forced to wait on one, and then start revalidating from the beginning. While doing so, it destroys the operation fence, causing nouveau_fence_emit to crash. This patch fixes this bug by taking the fence object out of validate_op and creating it just before emit. The fence pointer is initialized to 0 and unref'ed unconditionally. In addition to fixing the bug, this prevents its reintroduction and simplifies the code. Signed-off-by: Luca Barbieri Signed-off-by: Ben Skeggs commit dc8d76cac942e7344a72ad18afb90fa46cf20bb4 Author: Ben Skeggs Date: Wed Jan 6 12:00:02 2010 +1000 drm/nv50: prevent a possible ctxprog hang The below is mainly an educated guess at what's going on, docs would sure be handy... NVIDIA? :P It appears it's possible for a ctxprog to run even while a GPU exception is pending. The GF8 and up ctxprogs appear to have a small snippet of code which detects this, and stalls the ctxprog until it's been handled, which essentially looks like: if (r2 & 0x00008000) { r0 |= 0x80000000; while (r0 & 0x80000000) {} } I don't know of any way that flag would get cleared unless the driver intervenes (and indeed, in the cases I've seen the hang, nothing steps in to automagically clear it for us). This patch causes the driver to clear the flag during the PGRAPH IRQ handler. Signed-off-by: Ben Skeggs commit 1959ca80e1f88b82c1cb7227f437910768ab0c94 Author: Ben Skeggs Date: Mon Jan 4 15:52:20 2010 +1000 drm/nouveau: have ttm's fault handler called directly There's no good reason for us to have our own anymore, this is left over from an early port to these TTM interfaces. Signed-off-by: Ben Skeggs commit a908b96c22883f967e4ddf5aa5b35e3b4a0629a5 Author: Ben Skeggs Date: Tue Jan 5 09:41:05 2010 +1000 drm/nv50: restore correct cache1 get/put address on fifoctx load Signed-off-by: Ben Skeggs commit c03ec7f91fcf20af177dbc728d518fb462bad42d Author: Marcin Slusarz Date: Mon Jan 4 19:25:09 2010 +0100 drm/nouveau: create function for "dealing" with gpu lockup It's mostly a cleanup, but in nv50_fbcon_accel_init gpu lockup message was printed, but HWACCEL_DISBALED flag was not set. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit e9dd8e11edfff5e348f3dcfd152a70c5da921126 Author: Ben Skeggs Date: Mon Jan 4 12:53:01 2010 +1000 drm/nouveau: remove unused nouveau_channel_idle() function Signed-off-by: Ben Skeggs commit 7de3643f938af910bef4c1f800176a3ebdc29502 Author: Ben Skeggs Date: Mon Jan 4 09:10:55 2010 +1000 drm/nouveau: fix handling of fbcon colours in 8bpp Depending on the visual, the colours handed to us in fillrect() can either be an actual colour, or an index into the pseudo-palette. Signed-off-by: Ben Skeggs commit ea911a1cf4f9c5bef18ff399ee2e2ec77792b650 Author: Francisco Jerez Date: Sat Dec 26 14:39:46 2009 +0100 drm/nv04: Context switching fixes. Signed-off-by: Francisco Jerez commit a5027ccd3c1abe190d2b84a2d7e40d5f099e48a7 Author: Francisco Jerez Date: Sat Dec 26 02:09:36 2009 +0100 drm/nouveau: Use the software object for fencing. This should avoid a race condition on nv0x, if we're doing it with actual PGRAPH objects and a there's a fence within the FIFO DMA fetch area when a context switch kicks in. In that case we get an ILLEGAL_MTHD interrupt as expected, but the values in PGRAPH_TRAPPED_ADDR aren't calculated correctly and they're almost useless (e.g. you can see ILLEGAL_MTHDs for the now inactive channel, with a wrong offset/data pair). Signed-off-by: Francisco Jerez commit ca4362adb4c01807dfcf3f2b3152a7ee36f0d1ca Author: Francisco Jerez Date: Sat Dec 26 02:42:45 2009 +0100 drm/nouveau: Allocate a per-channel instance of NV_SW. It will be useful for various synchronization purposes, mostly stolen from "[PATCH] drm/nv50: synchronize user channel after buffer object move on kernel channel" by Maarten Maathuis. Signed-off-by: Francisco Jerez commit 0a2d090f99c9686e5107ed59533fc4210a9a47d1 Author: Maarten Maathuis Date: Sat Dec 26 21:46:36 2009 +0100 drm/nv50: make the blocksize depend on vram size - This should be better than what we have now. - I'm less sure about the non power of two path. Signed-off-by: Maarten Maathuis commit c2b82924bda0c3de2b49bd3a4d8b6725721820bc Author: Maarten Maathuis Date: Fri Dec 25 18:51:17 2009 +0100 drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGN - Aligning to block size should ensure that the extra size is enough. - Using roundup, because not all sizes are powers of two. Signed-off-by: Maarten Maathuis commit 8f71c29e442e013212a98e2b37eb1074c4d1134f Author: Francisco Jerez Date: Tue Dec 22 18:24:09 2009 +0100 drm/nouveau: Don't skip card take down on nv0x. Signed-off-by: Francisco Jerez commit b7f7e41b895afd110d1f5121161fd401eccd98c9 Author: Francisco Jerez Date: Thu Dec 17 18:57:44 2009 +0100 drm/nouveau: Implement nv42-nv43 TV load detection. Signed-off-by: Francisco Jerez commit 02076da97a15bbf7477bffed71d02f726de2afc2 Author: Francisco Jerez Date: Thu Dec 17 18:52:44 2009 +0100 drm/nouveau: Clean up the nv17-nv4x load detection code a bit. Signed-off-by: Francisco Jerez commit e55ca7e68efc7c2d320cd9975ebc5e0fd27debf0 Author: Marcin Slusarz Date: Mon Dec 21 23:00:41 2009 +0100 drm/nv50: fix fillrect color struct fb_fillrect->color is not a color, but index into pseudo_palette array Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit fbe36a7a069267b82b7b82a66d79a4406cfa90b2 Author: Ben Skeggs Date: Mon Dec 21 12:16:52 2009 +1000 drm/nv50: ignore vbios table's claim to the contrary if EDID says >8bpc Should fix dim panel issues reported on Dell M6400/M6500. Signed-off-by: Ben Skeggs commit aeca15e596eba284c727049d0b9b855b13c48856 Author: Francisco Jerez Date: Wed Dec 16 19:03:28 2009 +0100 drm/nouveau: Drop redundant placement initialization. Signed-off-by: Francisco Jerez commit 69a18c328b762eaec3f8ca3af8c7cbf10b536bf8 Author: Francisco Jerez Date: Wed Dec 16 19:05:38 2009 +0100 drm/nouveau: No need to force evict=true when swapping evicted BOs back in. Signed-off-by: Francisco Jerez commit c6af6053be60840dcbb037c3798557cbf71cbb08 Author: Francisco Jerez Date: Wed Dec 16 19:05:00 2009 +0100 drm/nouveau: Fix "general protection fault" in the flipd/flips eviction path. Signed-off-by: Francisco Jerez commit 73cb9276fd189c19558a97600456bd13fa5debe8 Author: Francisco Jerez Date: Wed Dec 16 12:27:11 2009 +0100 drm/i2c/ch7006: Drop build time dependency to nouveau. This partially reverts e4b41066, as this driver is intended to be useful with any KMS driver for suitable hardware. The missing build dependency that commit workarounded was DRM_KMS_HELPER. Signed-off-by: Francisco Jerez commit 287c1532145b63d394060d46c0309b123b862345 Author: Francisco Jerez Date: Fri Dec 11 16:51:09 2009 +0100 drm/nouveau: Make the MM aware of pre-G80 tiling. This commit has also the following 3 bugfix commits squashed into it from the nouveau git tree: drm/nouveau: Fix up the tiling alignment restrictions for nv1x. drm/nouveau: Fix up the nv2x tiling alignment restrictions. drm/nv50: fix align typo for g9x Signed-off-by: Francisco Jerez commit 0d87c100312ce75d9bb75a456d8a542e84a1722f Author: Francisco Jerez Date: Wed Dec 16 12:12:27 2009 +0100 drm/nouveau: Pre-G80 tiling support. Signed-off-by: Francisco Jerez commit 617e234b01757698ed5f8c9a5fbf12717b76e371 Author: Francisco Jerez Date: Sun Dec 13 20:07:42 2009 +0100 drm/nouveau: Add cache_flush/pull fifo engine functions. Signed-off-by: Francisco Jerez commit 94fd163d86b049842856864cdeac318131ec576d Author: Dave Airlie Date: Mon Jan 11 14:20:55 2010 +1000 drm: reduce WARN_ON to a printk. Lots of ppl keep thinking this is an oops, it was just a warning for me to see, just make it a printk now. Signed-off-by: Dave Airlie commit 509c7d83c3b18a50a0bd02afa43c8ee3c7605bc9 Author: Dave Airlie Date: Fri Jan 8 09:27:08 2010 +1000 drm/kms/fb: check for depth changes from userspace for resizing. If userspace (plymouth in this case) asks for a deeper depth, refuse it as well due to lack of resizing. This fixes an issue since < 32MB cards went to 8bpp and plymouth crashes on startup. Signed-off-by: Dave Airlie commit 89347bb8ef2d0af1ae8d847b7df91e9f04eccf2a Author: David John Date: Thu Dec 31 12:00:46 2009 +0530 drm: Keep disabled outputs disabled after suspend / resume With the current DRM code, an output that has been powered off from userspace will automatically power back on when resuming from suspend. This patch fixes this behaviour. Tested only with the Intel i915 driver on an Intel GM45 Express chipset. Signed-off-by: David John Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit 804c7559e9376c3ba78ae15a30337b1e24f8ae80 Author: Alex Deucher Date: Fri Jan 8 15:58:49 2010 -0500 drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xx - r4xx/rs6xx: add support for extended pixel shader instruction/temp regs - r5xx: add SM3 regs Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3dd3a156355e7e6bec0dc9a0bbb6eeecbd965d50 Author: Márton Németh Date: Sun Jan 10 20:52:35 2010 +0100 hwmon: Make PCI device ids constant The id_table field of the struct pci_driver is constant in so it is worth to make pci_device_id also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Signed-off-by: Jean Delvare commit 1fe63ab47a617ee95f562eaa7ddbbc59981ff8c6 Author: Yong Wang Date: Sun Jan 10 20:52:34 2010 +0100 hwmon: (coretemp) Fix TjMax for Atom N450/D410/D510 CPUs The max junction temperature of Atom N450/D410/D510 CPUs is 100 degrees Celsius. Since these CPUs are always coupled with Intel NM10 chipset in one package, the best way to verify whether an Atom CPU is N450/D410/D510 is to check the host bridge device. Signed-off-by: Yong Wang Acked-by: Huaxu Wan Signed-off-by: Jean Delvare commit c5114a1cd6d84b2b3144c1c3e093c80ca6c30f47 Author: Clemens Ladisch Date: Sun Jan 10 20:52:34 2010 +0100 hwmon: (k10temp) Blacklist more family 10h processors The latest version of the Revision Guide for AMD Family 10h Processors lists two more processor revisions which may be affected by erratum 319. Change the blacklisting code to correctly detect those processors, by implementing AMD's recommended algorithm. Signed-off-by: Clemens Ladisch Signed-off-by: Jean Delvare Cc: Andreas Herrmann commit 7e5eab1128a05b99b8c81c01ff6515a3ca25e5aa Author: Luca Tettamanti Date: Sun Jan 10 20:52:33 2010 +0100 hwmon: (asus_atk0110) Add debugfs interface Expose the raw GGRP/GITM interface via debugfs. The hwmon interface is reverse engineered and the driver tends to break on newer boards... Using this interface it's possible to poke directly at the ACPI methods without the need to recompile, reducing the guesswork and the round trips needed to support a new revision of the interface. Signed-off-by: Luca Tettamanti Signed-off-by: Jean Delvare commit 8ba406be53713efdd705666e2178cfe486fcfb27 Author: Luca Tettamanti Date: Sun Jan 10 20:52:33 2010 +0100 hwmon: (asus_atk0110) Refactor interface probe code The behaviour is unmodified, this makes easier to override the heuristic (which is probably needed for some boards). Signed-off-by: Luca Tettamanti Signed-off-by: Jean Delvare commit bb595c923bc51dff9cdd112de18deb57ac7945d2 Author: Roger Blofeld Date: Sun Jan 10 20:52:32 2010 +0100 hwmon: (adt7462) Fix pin 28 monitoring The ADT7462_PIN28_VOLT value is a 4-bit field, so the corresponding shift must be 4. Signed-off-by: Roger Blofeld Signed-off-by: Jean Delvare commit fd45e4784164d1017521086524e3442318c67370 Author: Dave Chinner Date: Sat Jan 2 02:38:56 2010 +0000 xfs: Ensure we force all busy extents in range to disk When we search for and find a busy extent during allocation we force the log out to ensure the extent free transaction is on disk before the allocation transaction. The current implementation has a subtle bug in it--it does not handle multiple overlapping ranges. That is, if we free lots of little extents into a single contiguous extent, then allocate the contiguous extent, the busy search code stops searching at the first extent it finds that overlaps the allocated range. It then uses the commit LSN of the transaction to force the log out to. Unfortunately, the other busy ranges might have more recent commit LSNs than the first busy extent that is found, and this results in xfs_alloc_search_busy() returning before all the extent free transactions are on disk for the range being allocated. This can lead to potential metadata corruption or stale data exposure after a crash because log replay won't replay all the extent free transactions that cover the allocation range. Modified-by: Alex Elder (Dropped the "found" argument from the xfs_alloc_busysearch trace event.) Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 44e08c45cc14e6190a424be8d450070c8e508fad Author: Dave Chinner Date: Sat Jan 2 02:39:40 2010 +0000 xfs: Don't flush stale inodes Because inodes remain in cache much longer than inode buffers do under memory pressure, we can get the situation where we have stale, dirty inodes being reclaimed but the backing storage has been freed. Hence we should never, ever flush XFS_ISTALE inodes to disk as there is no guarantee that the backing buffer is in cache and still marked stale when the flush occurs. Signed-off-by: Dave Chinner Signed-off-by: Alex Elder commit d6d59bada372bcf8bd36c3bbc71c485c29dd2a4b Author: Christoph Hellwig Date: Wed Dec 23 16:09:13 2009 +0000 xfs: fix timestamp handling in xfs_setattr We currently have some rather odd code in xfs_setattr for updating the a/c/mtime timestamps: - first we do a non-transaction update if all three are updated together - second we implicitly update the ctime for various changes instead of relying on the ATTR_CTIME flag - third we set the timestamps to the current time instead of the arguments in the iattr structure in many cases. This patch makes sure we update it in a consistent way: - always transactional - ctime is only updated if ATTR_CTIME is set or we do a size update, which is a special case - always to the times passed in from the caller instead of the current time The only non-size caller of xfs_setattr that doesn't come from the VFS is updated to set ATTR_CTIME and pass in a valid ctime value. Reported-by: Eric Blake Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit ea9a48881e093a41a79305fb1545ca0794b203dc Author: Christoph Hellwig Date: Mon Dec 21 14:03:03 2009 +0000 xfs: use DECLARE_EVENT_CLASS Using DECLARE_EVENT_CLASS allows us to to use trace event code instead of duplicating it in the binary. This was not available before 2.6.33 so it had to be done as a separate step once the prerequisite was merged. This only requires changes to xfs_trace.h and the results are rather impressive: hch@brick:~/work/linux-2.6/obj-kvm$ size fs/xfs/xfs.o* text data bss dec hex filename 607732 41884 3616 653232 9f7b0 fs/xfs/xfs.o 1026732 41884 3808 1072424 105d28 fs/xfs/xfs.o.old Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 50f411e34d623efbf4e4b4b0c1a4a20e04c5cc9e Author: Rafael J. Wysocki Date: Sat Jan 9 00:45:33 2010 +0100 DRM / i915: Fix resume regression on MSI Wind U100 w/o KMS Commit cbda12d77ea590082edb6d30bd342a67ebc459e0 (drm/i915: implement new pm ops for i915), among other things, removed the .suspend and .resume pointers from the struct drm_driver object in i915_drv.c, which broke resume without KMS on my MSI Wind U100. Fix this by reverting that part of commit cbda12d77ea59. [ The DRM layer will not use the class-specific suspend/resume functions if the driver is marked MODESET-aware, and conversely it will not register the PCI device if the drievr isn't so marked, so you always end up with _either_ the drm-class suspend/resume _or_ the PCI layer PM functionality, never both. - Linus ] Signed-off-by: Rafael J. Wysocki Acked-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 27dba4bcf87494e2909f6b0035f0a9a038e80f83 Merge: 342aa2c cdf1a91 Author: Tony Lindgren Date: Fri Jan 8 14:27:56 2010 -0800 Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus commit cdf1a915569ea9c3f6b9b4ef48a189d531d3954c Author: Paul Walmsley Date: Fri Jan 8 15:23:17 2010 -0700 OMAP2 clock: dynamically allocate CPUFreq frequency table Dynamically allocate the CPUFreq frequency table on OMAP2xxx chips. This fixes some compilation problems, since the kernel may not know what chip it is running on until boot-time. This also reduces the size of the CPUFreq frequency table. Problem originally reported by Felipe Balbi . Thanks also for comments on the patch from Felipe and Kevin. Signed-off-by: Paul Walmsley Cc: Felipe Balbi Cc: Kevin Hilman commit 4e37c10d8a721b19933491df7af296aac9281004 Author: Paul Walmsley Date: Fri Jan 8 15:23:16 2010 -0700 OMAP clock/CPUFreq: add clk_exit_cpufreq_table() A subsequent patch adds code on OMAP2xxx to dynamically allocate the CPUFreq frequency table in clk_init_cpufreq_table(), so for it to avoid a leak, it will need a corresponding function to free the memory. This patch adds clk_exit_cpufreq_table() with generic code to call a chip-specific variant inside the clockfw_lock spinlock via struct clk_functions. Signed-off-by: Paul Walmsley commit ca6eccb31ef63722b35ea695f75089adeec319d7 Author: Paul Walmsley Date: Fri Jan 8 15:23:15 2010 -0700 OMAP2xxx OPP: clean up comments in OPP data Revise some of the comments in the OMAP2xxx OPP data for clarity. Signed-off-by: Paul Walmsley Cc: Richard Woodruff commit 19fe458310915a216bbba32a210b6f29ac7c929f Author: Felipe Balbi Date: Fri Jan 8 15:23:15 2010 -0700 OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled if we enable CPUFREQ we can't build omap2 for two reasons, one of them is fixed by the patch below. It's failing because the __must_be_array() check in ARRAY_SIZE() is failing and printing the following message: arch/arm/mach-omap2/clock2xxx.c:453: error: negative width in bit-field '' Signed-off-by: Felipe Balbi [paul@pwsan.com: commit message updated; changed rate variable name] Signed-off-by: Paul Walmsley commit 9b11769f998e138cbc89ba822316aa3e63912856 Author: Cory Maccarrone Date: Fri Jan 8 15:23:14 2010 -0700 OMAP1 clock: remove __initdata from struct clk_functions to prevent crash Commit 52650505fbf3a6ab851c801f54e73e76c55ab8da added an __initdata decoration to the structure containing the clk_enable and clk_disable functions. Once init data was freed, these pointers went to null, and the next enable or disable call caused the kernel to crash. This change removes this decoration. Signed-off-by: Cory Maccarrone [paul@pwsan.com: patch manually split and commit message edited] Signed-off-by: Paul Walmsley commit e8ae6b6e4dec43db4ae6fc67550fe63f16247667 Author: Cory Maccarrone Date: Fri Jan 8 15:23:10 2010 -0700 OMAP1 clock: Add missing clocks for OMAP 7xx This change adds in some missing clocks that were needed as a result of 526505... (OMAP1 clock: convert mach-omap1/clock.h to mach-omap1/clock_data.c). Prior to this, it was just assumed that these clocks existed for all devices, and it was used directly instead of calling it out with a clock_get call or similar. So, not having the CK_7XX meant these clocks weren't being used anymore for omap 7xx devices, which broke things badly. Signed-off-by: Cory Maccarrone [paul@pwsan.com: commit message edited] Signed-off-by: Paul Walmsley commit d1e624982194e617b6f5c7d61305a3e8d9078952 Author: Paul Walmsley Date: Fri Jan 8 15:23:09 2010 -0700 OMAP clock: remove incorrect EXPORT_SYMBOL()s The only symbols that should be exported are symbols that are to be called from loadable kernel modules, e.g., device drivers. In the context of plat-omap/clock.c, these should only be the Linux clock interface symbols as defined by include/linux/clk.h. Core code doesn't need these symbols to be exported. Also, clean up an old comment while here. Signed-off-by: Paul Walmsley commit 3e3ee1560daaf09bb5dbe3afd35ca2f75e2e116a Author: Tuukka Toivonen Date: Fri Jan 8 15:23:08 2010 -0700 OMAP3 clock: Add capability to change rate of dpll4_m5_ck Add necessary definitions to clock framework to allow changing dpll4_m5_ck rate. This is used by the camera code. Signed-off-by: Jouni Högander Signed-off-by: Tuukka Toivonen Signed-off-by: Paul Walmsley commit 073463ca4011d4f6f8e2334273f3b062b2b19b85 Author: Paul Walmsley Date: Fri Jan 8 15:23:07 2010 -0700 OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK The correct parent of the McBSP 2, 3, and 4 functional clocks is PER_96M_FCLK, not CORE_96M_FCLK. Fix this in the OMAP clock tree. Reported by Nicole Chalhoub . Signed-off-by: Paul Walmsley Cc: Nicole Chalhoub commit 9b5bc5fa4b68fe2f51a5197786a8b5df82d1b8bf Author: Kevin Hilman Date: Fri Jan 8 15:23:06 2010 -0700 OMAP3: clock: add clockdomains for UART1 & 2 UART1 & 2 were missing clockdomains resulting in broken omap_hwmod init for these devices. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit 51e888d705d29824aebb22ddf8a1f478083386e7 Author: Paul Walmsley Date: Fri Jan 8 15:23:06 2010 -0700 OMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space Commit 10db25fea4c11661070b97832b8cc3d2af495092 causes the following kernel messages during N800 boot (and presumably all other 2420 boards): [ 0.000000] BUG: mapping for 0x58000000 at 0xe0000000 overlaps vmalloc space [ 0.000000] BUG: mapping for 0x59000000 at 0xe1000000 overlaps vmalloc space [ 0.000000] BUG: mapping for 0x5a000000 at 0xe2000000 overlaps vmalloc space Fix by remapping the IVA memory areas somewhere outside vmalloc space. Signed-off-by: Paul Walmsley Cc: Santosh Shilimkar Cc: Tony Lindgren commit 7adb9987177f7aa269505ef65f4b4ed84bbc17b5 Author: Paul Walmsley Date: Fri Jan 8 15:23:05 2010 -0700 OMAP2xxx IO mapping: mark DSP mappings as being 2420-only Out of the three major OMAP2 chip types, OMAP2420, OMAP2430, and OMAP3430, we only map the IVA on OMAP2420. The memory mapping is not shared between OMAP2420 and OMAP2430, so it is inappropriate to label those macros as '24XX'; this patch changes them to '2420'. Signed-off-by: Paul Walmsley commit 98bb155130aca96f26b12b50a38db806a0021e59 Author: Abhijit Pagare Date: Fri Jan 8 15:23:04 2010 -0700 ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access. In OMAP2/3 some of the clock-domains which did not have control facility were being falsely written to and read using the CM_CLKSTCTRL register though it did not exist for them. One check is added to remove this flaw. Signed-off-by: Abhijit Pagare Signed-off-by: Paul Walmsley Cc: Benoit Cousson Cc: Rajendra Nayak commit 48bca0e9c7f428dc75ea2a9c37601e6cb47dae6f Author: Huang Weiyi Date: Fri Jan 8 15:23:03 2010 -0700 OMAP2: remove duplicated #include Remove duplicated #include('s) in arch/arm/mach-omap2/clock34xx.c arch/arm/mach-omap2/io.c Signed-off-by: Huang Weiyi Signed-off-by: Paul Walmsley commit 3c8ad49b015eb115fbd6982f56d530f53cf57f84 Merge: 9993b36 0139fd7 Author: Linus Torvalds Date: Fri Jan 8 14:05:28 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/addr: Correct CONFIG_IPv6 to CONFIG_IPV6 mlx4_core: Fix cleanup in __mlx4_init_one() error path IB/mlx4: Fix queue overflow check in post_recv IB/mlx4: Initialize SRQ scatter entries when creating an SRQ commit 9993b364d2c42acc2949ddbc6371405e17829e32 Merge: 82062e7 b11e1ec Author: Linus Torvalds Date: Fri Jan 8 14:04:20 2010 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: Fix kernel-doc format error in kgdb.h blackfin,kgdb: Do not put PC in gdb_regs into retx. blackfin,kgdb,probe_kernel: Cleanup probe_kernel_read/write maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write) commit 82062e7b50280bcf0feca70ac35a44f375602976 Merge: dbd6a7c 31370f6 Author: Linus Torvalds Date: Fri Jan 8 14:03:55 2010 -0800 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks reiserfs: Fix unreachable statement reiserfs: Don't call reiserfs_get_acl() with the reiserfs lock reiserfs: Relax lock on xattr removing reiserfs: Relax the lock before truncating pages reiserfs: Fix recursive lock on lchown reiserfs: Fix mistake in down_write() conversion commit dbd6a7cfead4fa2d7ad3fefe47168fcb146ac5ba Merge: d86527d a539bd8 Author: Linus Torvalds Date: Fri Jan 8 13:57:32 2010 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: kill some warnings on i386 builds commit d86527ddcab4684d1a051b5f35f023b4374b1271 Merge: 0446e9d a651d80 Author: Linus Torvalds Date: Fri Jan 8 13:57:19 2010 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] move fnptr definition inside #ifdef __KERNEL__ commit 0446e9d46347344dd2d794927f22eb81e1d1c296 Merge: 80e23b7 87d26d2 Author: Linus Torvalds Date: Fri Jan 8 13:56:31 2010 -0800 Merge branch 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux * 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux: ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chains commit 80e23b7cea77fa29a4c902aa53e87c53c5e054c5 Merge: 00cd25b 7f41c2e Author: Linus Torvalds Date: Fri Jan 8 13:55:52 2010 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86, irq: Check move_in_progress before freeing the vector mapping x86: copy_from_user() should not return -EFAULT Revert "x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium" x86/pci: Intel ioh bus num reg accessing fix x86: Fix size for ex trampoline with 32bit commit 00cd25b29ba946b7d0907157577ab5cf421bd50e Merge: e2b6d02 b49bfd3 Author: Linus Torvalds Date: Fri Jan 8 13:55:39 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCIe AER: prevent AER injection if hardware masks error reporting PCI/PM: Use per-device D3 delays PCI: Check the node argument passed to cpumask_of_node PCI: AER: fix aer inject result in kernel oops PCI: pcie portdrv: style cleanup commit e2b6d02cca533715d6be40fdfc32d3cc47333358 Merge: 9035a64 5633593 Author: Linus Torvalds Date: Fri Jan 8 13:55:14 2010 -0800 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: nfs: fix oops in nfs_rename() sunrpc: fix build-time warning sunrpc: on successful gss error pipe write, don't return error SUNRPC: Fix the return value in gss_import_sec_context() SUNRPC: Fix up an error return value in gss_import_sec_context_kerberos() commit a539bd8c86549b545b4ed27a0cfaf53fe649054d Author: Dave Chinner Date: Thu Dec 17 00:20:07 2009 +0000 xfs: kill some warnings on i386 builds Randy Dunlap Reported printk() format-related warnings reported on i386 builds in his environment. Dave Chinner provided this patch to eliminate them. Signed-off by: Dave Chinner Acked-by: Randy Dunlap Signed-off-by: Alex Elder commit a651d80c7136029de3c044308fd63d88348915ff Author: Tony Luck Date: Fri Jan 8 10:53:28 2010 -0800 [IA64] move fnptr definition inside #ifdef __KERNEL__ Linus pointed out that this definition should not be exported to user space. Signed-off-by: Tony Luck commit 342aa2c1721e2714f43d957c3dd0bdaaa688c207 Author: Vaibhav Hiremath Date: Fri Jan 8 10:29:08 2010 -0800 omap3: EVM: Choose OMAP_PACKAGE_CBB Without this the kernel doesn't boot, it craches in omap_mux_package_fixup(), since the package_subset becomes NULL. Signed-off-by: Vaibhav Hiremath Signed-off-by: Tony Lindgren commit d04eb60066ed532d2e5da9f39cc0c79883d8a33c Author: Tony Lindgren Date: Fri Jan 8 10:29:08 2010 -0800 omap3: Fix booting if package is uninitialized Otherwise bringing up new boards can be harder: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.33-rc2-00015-g0bc9c93-dirty #37) PC is at omap_mux_init+0xa4/0x3d8 LR is at omap_mux_init+0x3c/0x3d8 ... Signed-off-by: Tony Lindgren commit 1b6e821f234f9e22ad1ef4919e140625af251935 Author: Roel Kluin Date: Fri Jan 8 10:29:07 2010 -0800 omap3: add missing parentheses `!' has a higher precedence than `&' so parentheses are required. Signed-off-by: Roel Kluin Signed-off-by: Tony Lindgren commit 83969bfa2022962c12272f4f860c05e28ee4509d Author: Roel Kluin Date: Fri Jan 8 10:29:07 2010 -0800 omap3: add missing parentheses not(!) has a higher precedence than bit and(&). Signed-off-by: Roel Kluin Signed-off-by: Tony Lindgren commit 6b06ebdfbd3100ffa789d3893bc7c08b1f91ea30 Author: Vimal Singh Date: Fri Jan 8 10:29:07 2010 -0800 omap2/3: ZOOM: Correcting key mapping for few keys Keys: 'right arrow', 'up arrow' and 'select' were mapped wrongly. This patch corrects them. This patch also adds one missing key present in the board, currently I added it as 'unknown' key, as I am not able to find proper description for this key. One key entry (r: 7, c: 5) is present in the keymap, which is really not present in the board, removing it. Signed-off-by: Vimal Singh Signed-off-by: Tony Lindgren commit 9230372aeecc0a634f708e9eb8668769daa1ed5a Author: Alexander Shishkin Date: Fri Jan 8 10:29:06 2010 -0800 omap2/3: make serial_in_override() address the right uart port Commit f62349ee9788b1d94c55eb6c291d74a1f69bdd9e makes it possible to have some other than first uart port as ttyS0, which breaks the workaround serial_in_override() function which will try to address the first uart port (for ttyS0) and not the one that was initialized. Signed-off-by: Alexander Shishkin CC: Mika Westerberg Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 66215949e6512f61c2c92b65ea79f8566e9e650a Author: Tony Lindgren Date: Fri Jan 8 10:29:06 2010 -0800 omap1: Fix compile for omap1_bl.c Commit 9905a43b made struct backlight_ops const. Omap was setting check_fb dynamically, which caused the following compile error: drivers/video/backlight/omap1_bl.c: In function 'omapbl_probe': drivers/video/backlight/omap1_bl.c:142: error: assignment of read-only variable 'omapbl_ops' Turns out pdata->check_fb is not being used, so just remove it to fix the compile. Cc: Emese Revfy Cc: Richard Purdie Signed-off-by: Tony Lindgren commit c5c4dce45d7538ada6e9aac4cdb2909bc1cb28f6 Author: Cory Maccarrone Date: Fri Jan 8 10:29:05 2010 -0800 omap1: Add 7xx clocks and pin muxes for SPI Commit 35c9049b27040d09461bc90928ad770be7ddf661 added drivers/spi/omap_spi_100k.c. This patch add the related clocks and pin muxing entries to make the driver work on omap7xx platforms. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 4cc6420c123317489e6c0d4bf7112f7098ac82ef Author: Tony Lindgren Date: Fri Jan 8 10:29:05 2010 -0800 omap: Remove uninitialized warning for gpio.c Flags is not used on 15xx. Signed-off-by: Tony Lindgren commit acf9d467dc951daa0071b5a1f4bed8c108f7ebec Author: Roel Kluin Date: Fri Jan 8 10:29:05 2010 -0800 omap: &&/|| confusion in iommu_put() obj can't be both NULL and be an error pointer. Signed-off-by: Roel Kluin Signed-off-by: Tony Lindgren commit 4318f36b7c93a60a100f43fc6b7f13bebc59d017 Author: Cory Maccarrone Date: Fri Jan 8 10:29:04 2010 -0800 omap: gpio: Simultaneously requested rising and falling edge Some chips, namely any OMAP1 chips using METHOD_MPUIO, OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO interrupts in both rising and falling edge directions -- they can only respond to one direction or the other, depending on how the ICR is configured. Additionally, current code forces rising edge detection if both flags are specified: if (trigger & IRQ_TYPE_EDGE_RISING) l |= 1 << gpio; else if (trigger & IRQ_TYPE_EDGE_FALLING) l &= ~(1 << gpio); else goto bad; This change implements a toggle function that will modify the ICR to flip the direction of interrupt for IRQs that are requested with both rising and falling flags. The toggle function is not called for chips and GPIOs it does not apply to through the use of a flip_mask that's added on a per-bank basis. The mask is only set for those GPIOs where a toggle is necessary. Edge detection starts out the same as above with FALLING mode first. The toggle happens on EACH interrupt; without it, we have the following sequence of actions on GPIO transition: ICR GPIO Result 0x1 0 -> 1 (rising) Interrupt 0x1 1 -> 0 (falling) No interrupt (set ICR to 0x0 manually) 0x0 0 -> 1 (rising) No interrupt 0x0 1 -> 0 (falling) Interrupt That is, with the ICR set to 1 for a gpio, only rising edge interrupts are caught, and with it set to 0, only falling edge interrupts are caught. If we add in the toggle, we get this: ICR GPIO Result 0x1 0 -> 1 (rising) Interrupt (ICR set to 0x0) 0x0 1 -> 0 (falling) Interrupt (ICR set to 0x1) 0x1 0 -> 1 ... so, both rising and falling are caught, per the request for both (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING). Signed-off-by: Cory Maccarrone Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 1866b54525d13402b2d129b906c4d189377f89c5 Author: Janusz Krzysztofik Date: Fri Jan 8 10:29:04 2010 -0800 omap: McBSP: Fix possible port lockout In its current form, the omap_mcbsp_request() function can return after irq_request() failure without any cleanups, effectively locking out the port forever with clocks left running. Fix it. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Acked-by: Peter Ujfalusi Signed-off-by: Tony Lindgren commit 9035a6450d124a7787e5e3272b630a79d201555f Merge: a07f523 c9c041f Author: Linus Torvalds Date: Fri Jan 8 09:32:50 2010 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: hp-wmi: remove double free caused by merge conflict commit a07f523f264095759c6bb6e0e7a81c4d15bc3336 Merge: 2c1f189 6c57a33 Author: Linus Torvalds Date: Fri Jan 8 09:32:15 2010 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] __per_cpu_idtrs[] is a memory hog [IA64] sanity in #include files. Move fnptr to types.h [IA64] use helpers for rlimits [IA64] cpumask_of_node() should handle -1 as a node commit e412bdb1260d13ec5e7b90b537fec2179d6f8989 Author: Steven Whitehouse Date: Mon Dec 21 13:55:28 2009 +0000 GFS2: Fix gfs2_xattr_acl_chmod() The ref counting for the bh returned by gfs2_ea_find() was wrong. This patch ensures that we always drop the ref count to that bh correctly. Signed-off-by: Steven Whitehouse commit 24b977b5fdea09bf356428870d32c09a275c8a3e Author: Steven Whitehouse Date: Wed Dec 9 13:55:12 2009 +0000 GFS2: Fix locking bug in rename The rename code was taking a resource group lock in cases where it wasn't actually needed, this caused problems if the rename was resulting in an inode being unlinked. The patch ensures that we only take the rgrp lock early if it is really needed. Signed-off-by: Steven Whitehouse commit 56aa616a03feca630d5afce647367a5d8cfc67b8 Author: Steven Whitehouse Date: Tue Dec 8 10:25:33 2009 +0000 GFS2: Ensure uptodate inode size when using O_APPEND The VFS reads the inode size during generic_file_aio_write() but with no locking around it. In order to get the expected result from O_APPEND opens, this patch updated the inode size before calling generic_file_aio_write() There is of course still a race here, in that there is nothing to prevent another node coming in and extending the file in the mean time. On the other hand, when used with file locking this will ensure that the expected results are obtained. Signed-off-by: Steven Whitehouse commit 003e69f9862bcda89a75c27750efdbc17ac02945 Author: Jerome Glisse Date: Thu Jan 7 15:39:14 2010 +0100 drm/radeon/kms: Don't try to enable IRQ if we have no handler installed If for any reason we haven't installed handler we shouldn't try to enable IRQ/MSI on the hw so we don't get unhandled IRQ/MSI which makes the kernel sad. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit e77cef9c2d87db835ad9d70cde4a9b00b0ca2262 Author: Jerome Glisse Date: Thu Jan 7 15:39:13 2010 +0100 drm: Avoid calling vblank function is vblank wasn't initialized In some case vblank might not be initialized and we shouldn't try to use associated function. This patch make sure this is the case. It also export drm_vblank_cleanup so driver can cleanup vblank if for any reason IRQ/MSI is not working. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 059d233f9c1183ed2f59d631e4daf486060e880d Author: Alexander Beregalov Date: Thu Jan 7 02:59:31 2010 +0300 drm/radeon: mkregtable.c: close a file before exit Signed-off-by: Alexander Beregalov Signed-off-by: Dave Airlie commit d0269ed8580b492df75dafb011dc51a1390bf200 Author: Jerome Glisse Date: Thu Jan 7 16:08:32 2010 +0100 drm/radeon/kms: Make sure we release AGP device if we acquired it In some case we weren't releasing the AGP device at module unloading. This leaded to unfunctional AGP at next module load. This patch make sure we release the AGP bus if we acquire it. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit cafe6609d6dc0a6a278f9fdbb59ce4d761a35ddd Author: Jerome Glisse Date: Thu Jan 7 12:39:21 2010 +0100 drm/radeon/kms: Schedule host path read cache flush through the ring V2 R300 family will hard lockup if host path read cache flush is done through MMIO to HOST_PATH_CNTL. But scheduling same flush through ring seems harmless. This patch remove the hdp_flush callback and add a flush after each fence emission which means a flush after each IB schedule. Thus we should have same behavior without the hard lockup. Tested on R100,R200,R300,R400,R500,R600,R700 family. V2: Adjust fence counts in r600_blit_prepare_copy() Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 62cdc0c20663ef840a94850892517b2b7f584904 Author: Corbin Simpson Date: Wed Jan 6 19:28:48 2010 +0100 drm/radeon/kms: Workaround RV410/R420 CP errata (V3) Long story short, this fixes sporadic hardlocks with my rv410 during times of intense 2D acceleration (Flash on Fx3). V2: Fix indentation and move errata_fini to suspend function so we don't leak scratch register over suspend/resume cycle. V3: Move scratch_reg to asic specific structure (aim is to slowly move stuff to asic specific structure and avoid poluting radeon_device struct with asic specific variables) Signed-off-by: Corbin Simpson Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 06b6476d6b291473d0928ed242158a001d50c0f0 Author: Alex Deucher Date: Tue Jan 5 11:27:29 2010 -0500 drm/radeon/kms: detect sideport memory on IGP chips This detects if the sideport memory is enabled and if it is VRAM is evicted on suspend/resume. This should fix s/r issues on some IGPs. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit fc9a89f97e532152ae614d5ce717b81c8f8b0e91 Author: Darren Jenkins Date: Thu Jan 7 01:35:21 2010 -0500 drm/radeon: fix a couple of array index errors There are a couple of array overruns, and some associated confusion in the code. This is just a wild guess at what the code should actually look like. Coverity CID: 13305 13306 agd5f: fix up the original intent of the timing code Signed-off-by: Darren Jenkins Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 196c58d21fc47fbabab6a98e23e5a6335f717e44 Author: Alex Deucher Date: Thu Jan 7 14:22:32 2010 -0500 drm/radeon/kms: add support for eDP (embedded DisplayPort) This is displayport used for internal connections such as laptop panels and systems with integrated monitors. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7970e677accb676f15e11468c60cb93ae477a513 Author: Alex Deucher Date: Thu Jan 7 13:47:47 2010 -0500 drm: Add eDP connector type Add a new connector type for eDP (embedded displayport) eDP is more or less the same as DP but there are some cases when you might want to handle it separately. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f0f480adcb6c44e76186c6d3036e06ed7e7e0202 Author: Alex Deucher Date: Thu Jan 7 11:39:07 2010 -0500 drm/radeon/kms: pull in the latest upstream ObjectID.h changes Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a7bc115fffb69a55cf2c332567ea6908d9026f22 Author: Alex Deucher Date: Thu Jan 7 11:35:48 2010 -0500 drm/radeon/kms: whitespace changes to ObjectID.h Makes it easier to keep in sync with ddx and the upstream AMD versions. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a5899fcc189e9357873ddf26d5e6e7e6ff84c2f4 Author: Alex Deucher Date: Thu Jan 7 14:19:47 2010 -0500 drm/radeon/kms: fix typo in atom connector type handling Also remove the problematic enums that were unused remnants from the ddx. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6c57a332901f851bd092aba7a2b4d8ef4e643829 Author: Tony Luck Date: Thu Jan 7 16:10:57 2010 -0800 [IA64] __per_cpu_idtrs[] is a memory hog __per_cpu_idtrs is statically allocated ... on CONFIG_NR_CPUS=4096 systems it hogs 16MB of memory. This is way too much for a quite probably unused facility (only KVM uses dynamic TR registers). Change to an array of pointers, and allocate entries as needed on a per cpu basis. Change the name too as the __per_cpu_ prefix is confusing (this isn't a classic type object). Signed-off-by: Tony Luck commit b11e1eca7ed9c0b5dab21a62c11acc711d9bdda0 Author: Randy Dunlap Date: Thu Jan 7 11:58:37 2010 -0600 kgdb: Fix kernel-doc format error in kgdb.h linux-next-20081022//include/linux/kgdb.h:308): duplicate section name 'Description' and fix typos in that file's kernel-doc comments. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Jason Wessel commit 7fe1a91281de095e4cc43868cc14ca4937154a0c Author: Sonic Zhang Date: Thu Jan 7 11:58:37 2010 -0600 blackfin,kgdb: Do not put PC in gdb_regs into retx. In blackfin, kgdb is running in delayed exception IRQ5 other than in exception IRQ3 directly. Register reti other than retx in pt_regs is the kgdb return address. So, don't put PC in gdb_regs into retx. CC: Mike Frysinger Signed-off-by: Sonic Zhang Signed-off-by: Jason Wessel commit 0fde663708c981189e4e62f3be51e02b1ad4eead Author: Jason Wessel Date: Thu Jan 7 11:58:36 2010 -0600 blackfin,kgdb,probe_kernel: Cleanup probe_kernel_read/write Blackfin needs it own arch specific probe_kernel_read() and probe_kernel_write(). This was moved out of the kgdb code and into the arch/blackfin/maccess.c, because it is a generic kernel api. The arch specific kgdb.c for blackfin was cleaned of all functions which exist in the kgdb core that do the same thing after resolving the probe_kernel_read() and probe_kernel_write(). This also eliminated the need for most of the #include's. CC: Sonic Zhang Signed-off-by: Jason Wessel Signed-off-by: Mike Frysinger commit 6144a85a0e018c19bc4b24f7eb6c1f3f7431813d Author: Jason Wessel Date: Thu Jan 7 11:58:36 2010 -0600 maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write) Some archs such as blackfin, would like to have an arch specific probe_kernel_read() and probe_kernel_write() implementation which can fall back to the generic implementation if no special operations are needed. CC: Thomas Gleixner CC: Ingo Molnar Signed-off-by: Jason Wessel Signed-off-by: Mike Frysinger commit 31370f62baa1460b785cee9944bdcaf63d19e567 Author: Frederic Weisbecker Date: Thu Jan 7 15:55:31 2010 +0100 reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks Fix remaining xattr locks acquired in reiserfs_xattr_set_handle() while we are holding the reiserfs lock to avoid lock inversions. Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit e0baec1b63632f25ea8101b76edaca0accc061ec Author: Jiri Slaby Date: Wed Jan 6 23:09:50 2010 +0100 reiserfs: Fix unreachable statement Stanse found an unreachable statement in reiserfs_ioctl. There is a if followed by error assignment and `break' with no braces. Add the braces so that we don't break every time, but only in error case, so that REISERFS_IOC_SETVERSION actually works when it returns no error. Signed-off-by: Jiri Slaby Cc: Reiserfs Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit 6c28705418de012216161b14a2ff1dda3da3d786 Author: Frederic Weisbecker Date: Thu Jan 7 12:57:47 2010 +0100 reiserfs: Don't call reiserfs_get_acl() with the reiserfs lock reiserfs_get_acl is usually not called under the reiserfs lock, as it doesn't need it. But it happens when it is called by reiserfs_acl_chmod(), which creates a dependency inversion against the private xattr inodes mutexes for the given inode. We need to call it without the reiserfs lock, especially since it's unnecessary. Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit 2c1f1895ef2aa8f0e5497893eff71304aef332e1 Merge: 635b3c9 a81406b Author: Linus Torvalds Date: Wed Jan 6 20:26:42 2010 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: rs600: use correct mask for SW interrupt gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL test drm/radeon/radeon_device.c: move a dereference below a NULL test drm/radeon/radeon_fence.c: move a dereference below the NULL test drm/radeon/radeon_connectors.c: add a NULL test before dereference drm/radeon/kms: fix memory leak drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line() drm/edid: Fix CVT width/height decode drm/edid: Skip empty CVT codepoints drm: remove address mask param for drm_pci_alloc() drm/radeon/kms: add missing breaks in i2c and ss lookups drm/radeon/kms: add primary dac adj values table drm/radeon/kms: fallback to default connector table commit a81406b4143ff07e586bbe03c50f089da94eefe1 Merge: 90520b7 43b19f1 Author: Dave Airlie Date: Thu Jan 7 14:00:29 2010 +1000 Merge remote branch 'korg/drm-radeon-next' into drm-linus * korg/drm-radeon-next: drm/radeon/kms: rs600: use correct mask for SW interrupt gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL test drm/radeon/radeon_device.c: move a dereference below a NULL test drm/radeon/radeon_fence.c: move a dereference below the NULL test drm/radeon/radeon_connectors.c: add a NULL test before dereference drm/radeon/kms: fix memory leak drm/radeon/kms: add missing breaks in i2c and ss lookups drm/radeon/kms: add primary dac adj values table drm/radeon/kms: fallback to default connector table commit 43b19f161c7a9941e3aa7db0e3ee19b93980e3d7 Author: Luca Tettamanti Date: Mon Dec 28 22:53:05 2009 +0100 drm/radeon/kms: rs600: use correct mask for SW interrupt The mask happens to be the same, but the IH is reading the status, not the not the control register. Signed-off-by: Luca Tettamanti Signed-off-by: Dave Airlie commit 65aa2f4e8d85b6145ef4834f440a63ab68bd7443 Author: Darren Jenkins Date: Wed Dec 30 12:16:35 2009 +1100 gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL test If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13338 Signed-off-by: Darren Jenkins Signed-off-by: Dave Airlie commit 875c186620e017e62b773c93e46af21bb704fe6b Author: Darren Jenkins Date: Wed Dec 30 12:18:30 2009 +1100 drm/radeon/radeon_device.c: move a dereference below a NULL test If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13335 Signed-off-by: Darren Jenkins Signed-off-by: Dave Airlie commit 3655d54af8dd85788c3e5088387469703a0f8f12 Author: Darren Jenkins Date: Wed Dec 30 12:20:05 2009 +1100 drm/radeon/radeon_fence.c: move a dereference below the NULL test If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13334 Signed-off-by: Darren Jenkins Signed-off-by: Dave Airlie commit d8a7f79246a447722bd90c2c4ba3ca068b2aa4c0 Author: Darren Jenkins Date: Wed Dec 30 12:22:55 2009 +1100 drm/radeon/radeon_connectors.c: add a NULL test before dereference The encoder variable can be NULL in this function so I believe it should be checked before dereference. Coverity CID: 13253 [airlied: extremely unlikely to happen] Signed-off-by: Darren Jenkins Signed-off-by: Dave Airlie commit 5eb226132f53d5ec36ce4e7ff9d6b49cceb50f3d Author: Jiri Slaby Date: Wed Jan 6 17:39:31 2010 +0100 drm/radeon/kms: fix memory leak Stanse found a memory leak in radeon_master_create. master_priv is not freed/assigned on all paths. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: Dave Airlie commit 90520b78a4f8ba1faef75961eddd8192077e0ac2 Merge: d94a510 e89a8c9 Author: Dave Airlie Date: Thu Jan 7 13:36:00 2010 +1000 Merge branch 'drm-core-next' into drm-linus * drm-core-next: drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line() drm/edid: Fix CVT width/height decode drm/edid: Skip empty CVT codepoints drm: remove address mask param for drm_pci_alloc() commit e89a8c901ca94a47c0e0b2fb335623d810e37545 Author: Roel Kluin Date: Thu Dec 31 13:06:29 2009 +0100 drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line() This always evaluates to true. Signed-off-by: Roel Kluin Signed-off-by: Dave Airlie commit 8e10ee9a0da12c586d3397150e34a946507c23f3 Author: Adam Jackson Date: Mon Jan 4 17:53:07 2010 -0500 drm/edid: Fix CVT width/height decode Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 69da301589b579f9619475e30cc449df9193410c Author: Adam Jackson Date: Mon Jan 4 17:53:06 2010 -0500 drm/edid: Skip empty CVT codepoints Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit e6be8d9d17bd44061116f601fe2609b3ace7aa69 Author: Zhenyu Wang Date: Tue Jan 5 11:25:05 2010 +0800 drm: remove address mask param for drm_pci_alloc() drm_pci_alloc() has input of address mask for setting pci dma mask on the device, which should be properly setup by drm driver. And leave it as a param for drm_pci_alloc() would cause confusion or mistake would corrupt the correct dma mask setting, as seen on intel hw which set wrong dma mask for hw status page. So remove it from drm_pci_alloc() function. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 87d26d2d119953d07fdaa6435f324e8cb2e6f475 Author: Ben Dooks Date: Thu Jan 7 11:05:55 2010 +0900 ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chains There is a possibility of a loop happening in the PLL output clock chain on the S3C64XX series. clk_mpll's parent was set to be clk_mout_mpll, but this is fed from clk_fout_epll (which is also clk_mpll). clk_mpll is meant to be the output from the MPLL, and clk_mout_mpll is a seperate clock derived from the mux of clk_mpll and clk_fin_mpll and thus should be considered a seperate clock. Anything using clk_mpll directly really should not be relying on this being the clock that is eventually routed to a peripheral, so remove the loop and ensure that the clocks accurately represent the clock chain in the device. The clk_mpll is not being used outside of the s3c6400-clock.c code, so this change should not break anything else. Do the same for the EPLL. Signed-off-by: Ben Dooks commit 635b3c9d5508d1dfe02ee5f882becea37e294111 Merge: 7959722 823f68f Author: Linus Torvalds Date: Wed Jan 6 18:16:17 2010 -0800 Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (23 commits) drm/i915: remove full registers dump debug drm/i915: Add DP dpll limit on ironlake and use existing DPLL search function drm/i915: Select the correct BPC for LVDS on Ironlake drm/i915: Make the BPC in FDI rx/transcoder be consistent with that in pipeconf on Ironlake drm/i915: Enable/disable the dithering for LVDS based on VBT setting drm/i915: Permit pinning whilst the device is 'suspended' drm/i915: Hold struct mutex whilst pinning power context bo. drm/i915: fix unused var drm/i915: Storage class should be before const qualifier drm/i915: remove render reclock support drm/i915: Fix RC6 suspend/resume drm/i915: execbuf2 support drm/i915: Reload hangcheck timer too for Ironlake drm/i915: only enable hotplug for detected outputs drm/i915: Track whether cursor needs physical address in intel_device_info drm/i915: Implement IS_* macros using static tables drm/i915: Move PCI IDs into i915 driver drm/i915: Update LVDS connector status when receiving ACPI LID event drm/i915: Add MALATA PC-81005 to ACPI LID quirk list drm/i915: implement new pm ops for i915 ... commit 7959722b951cffcd61a0a35229d007deeed8c2dd Author: Jie Zhang Date: Wed Jan 6 17:23:28 2010 +0000 NOMMU: Use copy_*_user_page() in access_process_vm() The MMU code uses the copy_*_user_page() variants in access_process_vm() rather than copy_*_user() as the former includes an icache flush. This is important when doing things like setting software breakpoints with gdb. So switch the NOMMU code over to do the same. This patch makes the reasonable assumption that copy_from_user_page() won't fail - which is probably fine, as we've checked the VMA from which we're copying is usable, and the copy is not allowed to cross VMAs. The one case where it might go wrong is if the VMA is a device rather than RAM, and that device returns an error which - in which case rubbish will be returned rather than EIO. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger Signed-off-by: David Howells Acked-by: David McCullough Acked-by: Paul Mundt Acked-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cfe79c00a2f4f687eed8b7534d1d3d3d35540c29 Author: Mike Frysinger Date: Wed Jan 6 17:23:23 2010 +0000 NOMMU: Avoiding duplicate icache flushes of shared maps When working with FDPIC, there are many shared mappings of read-only code regions between applications (the C library, applet packages like busybox, etc.), but the current do_mmap_pgoff() function will issue an icache flush whenever a VMA is added to an MM instead of only doing it when the map is initially created. The flush can instead be done when a region is first mmapped PROT_EXEC. Note that we may not rely on the first mapping of a region being executable - it's possible for it to be PROT_READ only, so we have to remember whether we've flushed the region or not, and then flush the entire region when a bit of it is made executable. However, this also affects the brk area. That will no longer be executable. We can mprotect() it to PROT_EXEC on MPU-mode kernels, but for NOMMU mode kernels, when it increases the brk allocation, making sys_brk() flush the extra from the icache should suffice. The brk area probably isn't used by NOMMU programs since the brk area can only use up the leavings from the stack allocation, where the stack allocation is larger than requested. Signed-off-by: David Howells Signed-off-by: Mike Frysinger Signed-off-by: Linus Torvalds commit 04e4f2b18c8de1389d1e00fef0f42a8099910daf Author: Mike Frysinger Date: Wed Jan 6 17:23:17 2010 +0000 FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack The current code will load the stack size and protection markings, but then only use the markings in the MMU code path. The NOMMU code path always passes PROT_EXEC to the mmap() call. While this doesn't matter to most people whilst the code is running, it will cause a pointless icache flush when starting every FDPIC application. Typically this icache flush will be of a region on the order of 128KB in size, or may be the entire icache, depending on the facilities available on the CPU. In the case where the arch default behaviour seems to be desired (EXSTACK_DEFAULT), we probe VM_STACK_FLAGS for VM_EXEC to determine whether we should be setting PROT_EXEC or not. For arches that support an MPU (Memory Protection Unit - an MMU without the virtual mapping capability), setting PROT_EXEC or not will make an important difference. It should be noted that this change also affects the executability of the brk region, since ELF-FDPIC has that share with the stack. However, this is probably irrelevant as NOMMU programs aren't likely to use the brk region, preferring instead allocation via mmap(). Signed-off-by: Mike Frysinger Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 93939f4e5df30e6229a0b5257fdcaf3faf88471c Merge: b1c0ec8 b292cf9 Author: Linus Torvalds Date: Wed Jan 6 18:10:15 2010 -0800 Merge branch 'for-2.6.33' of git://linux-nfs.org/~bfields/linux * 'for-2.6.33' of git://linux-nfs.org/~bfields/linux: sunrpc: fix peername failed on closed listener nfsd: make sure data is on disk before calling ->fsync nfsd: fix "insecure" export option commit 410dc0aac63d1500faeabcbaecce4f4266380ed1 Author: Tony Luck Date: Wed Jan 6 15:52:35 2010 -0800 [IA64] sanity in #include files. Move fnptr to types.h Signed-off-by: Tony Luck commit 02b763b8ccc88d030117851f2b76a119932f109e Author: Jiri Slaby Date: Wed Jan 6 16:24:30 2010 +0100 [IA64] use helpers for rlimits Make sure compiler won't do weird things with limits. E.g. fetching them twice may return 2 different values after writable limits are implemented. I.e. either use rlimit helpers added in 3e10e716abf3c71bdb5d86b8f507f9e72236c9cd or ACCESS_ONCE if not applicable. Signed-off-by: Jiri Slaby Cc: Fenghua Yu Signed-off-by: Tony Luck commit 56335936de1a41c8978fde62b2158af77ddc7258 Author: OGAWA Hirofumi Date: Wed Jan 6 18:48:26 2010 -0500 nfs: fix oops in nfs_rename() Recent change is missing to update "rehash". With that change, it will become the cause of adding dentry to hash twice. This explains the reason of Oops (dereference the freed dentry in __d_lookup()) on my machine. Signed-off-by: OGAWA Hirofumi Reported-by: Marvin Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 1d1e9f04216b379000128392b11edd7f5d0ebed1 Author: Anton Blanchard Date: Wed Jan 6 15:55:12 2010 +1100 [IA64] cpumask_of_node() should handle -1 as a node pcibus_to_node can return -1 if we cannot determine which node a pci bus is on. If passed -1, cpumask_of_node will negatively index the lookup array and pull in random data: # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpus 00000000,00000003,00000000,00000000 # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpulist 64-65 Change cpumask_of_node to check for -1 and return cpu_all_mask in this case: # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpus ffffffff,ffffffff,ffffffff,ffffffff # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpulist 0-127 Signed-off-by: Anton Blanchard Signed-off-by: Tony Luck commit b292cf9ce70d221c3f04ff62db5ab13d9a249ca8 Author: Xiaotian Feng Date: Thu Dec 31 10:52:36 2009 +0800 sunrpc: fix peername failed on closed listener There're some warnings of "nfsd: peername failed (err 107)!" socket error -107 means Transport endpoint is not connected. This warning message was outputed by svc_tcp_accept() [net/sunrpc/svcsock.c], when kernel_getpeername returns -107. This means socket might be CLOSED. And svc_tcp_accept was called by svc_recv() [net/sunrpc/svc_xprt.c] if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) { newxpt = xprt->xpt_ops->xpo_accept(xprt); So this might happen when xprt->xpt_flags has both XPT_LISTENER and XPT_CLOSE. Let's take a look at commit b0401d72, this commit has moved the close processing after do recvfrom method, but this commit also introduces this warnings, if the xpt_flags has both XPT_LISTENER and XPT_CLOSED, we should close it, not accpet then close. Signed-off-by: Xiaotian Feng Cc: J. Bruce Fields Cc: Neil Brown Cc: Trond Myklebust Cc: David S. Miller Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 7211a4e859ad070b28545c06e0a6cb60b3b8aa31 Author: Christoph Hellwig Date: Fri Dec 25 17:44:45 2009 +0100 nfsd: make sure data is on disk before calling ->fsync nfsd is not using vfs_fsync, so I missed it when changing the calling convention during the 2.6.32 window. This patch fixes it to not only start the data writeout, but also wait for it to complete before calling into ->fsync. Signed-off-by: Christoph Hellwig Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 6c8530993e1fdf1d6af0403e796fe14d80b4b097 Author: Randy Dunlap Date: Wed Jan 6 17:26:27 2010 -0500 sunrpc: fix build-time warning Fix auth_gss printk format warning: net/sunrpc/auth_gss/auth_gss.c:660: warning: format '%ld' expects type 'long int', but argument 3 has type 'ssize_t' Signed-off-by: Randy Dunlap Acked-by: Jeff Layton Signed-off-by: Trond Myklebust commit 0139fd7c2ffd830e571d56f60198306ac24b726e Merge: fd4582a b4f7726 Author: Roland Dreier Date: Wed Jan 6 13:16:47 2010 -0800 Merge branches 'misc' and 'mlx4' into for-next commit fd4582a3999e03fa9eae315bf14c88fd32d44035 Author: Robert P. J. Day Date: Wed Jan 6 13:16:30 2010 -0800 IB/addr: Correct CONFIG_IPv6 to CONFIG_IPV6 Correct misspelled "CONFIG_IPv6" that was introduced in commit d14714df ("IB/addr: Fix IPv6 routing lookup"). The config variable should be all uppercase. Signed-off-by: Robert P. J. Day [ This was my fault when I munged the original patch. - Roland ] Signed-off-by: Roland Dreier commit b4f77264cd1a858ee09da8dba5a2711a649adbf3 Author: Eli Cohen Date: Wed Jan 6 12:54:39 2010 -0800 mlx4_core: Fix cleanup in __mlx4_init_one() error path If mlx4_init_port_info() fails, cleanup the initialized ports only. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 2b946077423270f065013c45d78522a5fb9542ca Author: Or Gerlitz Date: Wed Jan 6 12:51:30 2010 -0800 IB/mlx4: Fix queue overflow check in post_recv In mlx4_ib_post_recv(), we should check the queue for overflow using recv_cq instead of send_cq (current code looks like a copy-and-paste mistake). Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 4c425588e0d72c9c55024752b0f6e709c96787ff Author: Jack Morgenstein Date: Wed Jan 6 12:48:55 2010 -0800 IB/mlx4: Initialize SRQ scatter entries when creating an SRQ As for memfree mthca hardware, ConnectX also requires SRQ WQE scatter entries to be initialized with the invalid L_Key at SRQ creation time. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 7f41c2e1523f628cc248e34192162aec5728bed7 Author: Suresh Siddha Date: Wed Jan 6 10:56:31 2010 -0800 x86, irq: Check move_in_progress before freeing the vector mapping With the recent irq migration fixes (post 2.6.32), Gary Hade has noticed "No IRQ handler for vector" messages during the 2.6.33-rc1 kernel boot on IBM AMD platforms and root caused the issue to this commit: > commit 23359a88e7eca3c4f402562b102f23014db3c2aa > Author: Suresh Siddha > Date: Mon Oct 26 14:24:33 2009 -0800 > > x86: Remove move_cleanup_count from irq_cfg As part of this patch, we have removed the move_cleanup_count check in smp_irq_move_cleanup_interrupt(). With this change, we can run into a situation where an irq cleanup interrupt on a cpu can cleanup the vector mappings associated with multiple irqs, of which one of the irq's migration might be still in progress. As such when that irq hits the old cpu, we get the "No IRQ handler" messages. Fix this by checking for the irq_cfg's move_in_progress and if the move is still in progress delay the vector cleanup to another irq cleanup interrupt request (which will happen when the irq starts arriving at the new cpu destination). Reported-and-tested-by: Gary Hade Signed-off-by: Suresh Siddha LKML-Reference: <1262804191.2732.7.camel@sbs-t61.sc.intel.com> Cc: Eric W. Biederman Signed-off-by: H. Peter Anvin commit b1c0ec8966fa79891b796f58bf2bda1026ca5566 Merge: 642a74e c92b29e Author: Linus Torvalds Date: Wed Jan 6 10:46:27 2010 -0800 Merge branch 'davinci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: DaVinci: DM365: Add the device_enable for the DaVinci Keyscan davinci: enable ARCH_HAS_HOLES_MEMORYMODEL for DaVinci davinci: da8xx/omap-l1: mark RTC as a wakeup source davinci: cp_intc: provide set_wake function Davinci VPFE Capture: Take i2c adapter id through platform data commit 642a74e7a411967ceea87d6ee720a436608696a0 Merge: c6f7afa 500af63 Author: Linus Torvalds Date: Wed Jan 6 10:45:50 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] lpfc 8.3.7: Update Driver version to 8.3.7 [SCSI] lpfc 8.3.7: Fix discovery failures. [SCSI] lpfc 8.3.7: Fix SCSI protocol related errors. [SCSI] lpfc 8.3.7: Fix hardware/SLI relates issues [SCSI] lpfc 8.3.7: Fix NPIV operation errors [SCSI] lpfc 8.3.7: Fix FC protocol errors [SCSI] stex: fix scan of nonexistent lun [SCSI] pmcraid: fix to avoid twice scsi_dma_unmap for a command [SCSI] qla2xxx: Update version number to 8.03.01-k9. [SCSI] qla2xxx: Added to EEH support. [SCSI] qla2xxx: Extend base EEH support in qla2xxx. [SCSI] qla2xxx: Fix for a multiqueue bug in CPU affinity mode [SCSI] qla2xxx: Get the link data rate explicitly during device resync. [SCSI] cxgb3i: Fix a login over vlan issue commit 823f68fd646da6a39a9c0d3eb4c60d69dab5aa13 Author: Zhenyu Wang Date: Mon Dec 28 13:23:36 2009 +0800 drm/i915: remove full registers dump debug This one reverts 9e3a6d155ed0a7636b926a798dd7221ea107b274. As reported by http://bugzilla.kernel.org/show_bug.cgi?id=14485, this dump will cause hang problem on some machine. If something really needs this kind of full registers dump, that could be done within intel-gpu-tools. Cc: Ben Gamari Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 4547668a050e7de3cd73a4c6736dfc2adebff67d Author: Zhao Yakui Date: Thu Dec 31 16:06:04 2009 +0800 drm/i915: Add DP dpll limit on ironlake and use existing DPLL search function For some clocks, the old Ironlake DPLL calculator wold give m/n/p combinations that didn't match the spreadsheet of what HW validation tests. Instead, use the G4X DPLL calculator, which does a better job at it. So we use the intel_g4x_find_best_pll to calculate the DPLL for CRT/HDMI/LVDS on ironlake. At the same time to consider the dpll setting for display port, we add the display port DPLL limit on ironlake, which will directly use the function of intel_find_pll_ironlake_dp to get the corresponding dpll setting. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit e5a95eb778690bc864eb330202d2c1b974caaeb4 Author: Zhao Yakui Date: Mon Jan 4 16:29:32 2010 +0800 drm/i915: Select the correct BPC for LVDS on Ironlake Select the correct BPC for LVDS on Ironlake. If it is 18-bit LVDS panel, the BPC will be 6. When it is 24-bit LVDS panel, the BPC will 8. At the same time the BPC will be 8 when the output device is CRT/HDMI/DP. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 8faf3b317471179c02db339aa80955a2e88c036d Author: Zhao Yakui Date: Mon Jan 4 16:29:31 2010 +0800 drm/i915: Make the BPC in FDI rx/transcoder be consistent with that in pipeconf on Ironlake Make the BPC in FDI rx/transcoder be consistent with that in pipeconf on Ironlake. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 898822ce9561ab9b58a7eb60580a162a83dadecd Author: Zhao Yakui Date: Mon Jan 4 16:29:30 2010 +0800 drm/i915: Enable/disable the dithering for LVDS based on VBT setting Enable/disable the dithering for LVDS based on VBT setting. On the 965/g4x platform the dithering flag is defined in LVDS register. And on the ironlake the dithering flag is defined in pipeconf register. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit e3d8affb0d2d95f2da61e30ce86b33177feb91e8 Author: Chris Wilson Date: Mon Jan 4 18:57:57 2010 +0000 drm/i915: Permit pinning whilst the device is 'suspended' As pinning (allocating and binding GTT memory) does not actually invoke GPU commands, it is safe, and indeed is attempted, during resumption from suspension: [drm:intel_init_clock_gating] *ERROR* failed to pin power context: -16 Signed-off-by: Chris Wilson Reported-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Eric Anholt commit 9ea8d05932c082a7ccbd9dc2e10687c88a70bd13 Author: Chris Wilson Date: Mon Jan 4 18:57:56 2010 +0000 drm/i915: Hold struct mutex whilst pinning power context bo. Hugh found an error path where we were attempting to unref a bo without holding the struct mutex: [drm:intel_init_clock_gating] *ERROR* failed to pin power context: -16 ------------[ cut here ]------------ WARNING: at drivers/gpu/drm/drm_gem.c:438 drm_gem_object_free+0x20/0x5e() Hardware name: ESPRIMO Mobile V5505 Modules linked in: snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device Pid: 3793, comm: s2ram Not tainted 2.6.33-rc2 #4 Call Trace: [<7815298e>] warn_slowpath_common+0x59/0x6b [<781529b3>] warn_slowpath_null+0x13/0x18 [<78317c1a>] ? drm_gem_object_free+0x20/0x5e [<78317c1a>] drm_gem_object_free+0x20/0x5e [<78317bfa>] ? drm_gem_object_free+0x0/0x5e [<7829df11>] kref_put+0x38/0x45 [<7833a5f0>] intel_init_clock_gating+0x232/0x271 [<78317bfa>] ? drm_gem_object_free+0x0/0x5e [<7832c307>] i915_restore_state+0x21a/0x2b3 [<7832379d>] i915_resume+0x3c/0xbb [<78174fe5>] ? trace_hardirqs_on_caller+0xfc/0x123 [<7831c756>] ? drm_class_resume+0x0/0x3e [<7831c78d>] drm_class_resume+0x37/0x3e [<78351e0a>] legacy_resume+0x1e/0x51 [<78351ece>] device_resume+0x91/0xab [<7831c756>] ? drm_class_resume+0x0/0x3e [<78352226>] dpm_resume+0x58/0x10f [<783522fb>] dpm_resume_end+0x1e/0x2c [<78180f80>] suspend_devices_and_enter+0x61/0x84 [<78180ff8>] enter_state+0x55/0x83 [<7818091c>] state_store+0x94/0xaa [<7829d09e>] kobj_attr_store+0x1e/0x23 [<782098e0>] sysfs_write_file+0x66/0x99 [<781cd2f0>] vfs_write+0x8a/0x108 [<781cd408>] sys_write+0x3c/0x63 [<78125c10>] sysenter_do_call+0x12/0x36 ---[ end trace a343537f29950fda ]--- It is in fact slightly more insiduous that first appears since we are attempting to not just free the object without the lock, but are trying to do the whole bo manipulation without holding the lock. Reported-by: Hugh Dickins Signed-off-by: Chris Wilson Cc: stable@kernel.org Signed-off-by: Eric Anholt commit 29bd0ae25f8cb96b63560c2cbccec77b425e1603 Author: Andrew Morton Date: Tue Nov 17 14:08:52 2009 -0800 drm/i915: fix unused var drivers/gpu/drm/i915/i915_dma.c: In function 'i915_driver_load': drivers/gpu/drm/i915/i915_dma.c:1114: warning: 'll_base' may be used uninitialized in this function Partly this is because gcc isn't smart enough. But `ll_base' does get used uninitialised in the DRM_DEBUG() call. Cc: Jesse Barnes Cc: Eric Anholt Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Eric Anholt commit 69e302a998ddfc3bd99033052f6d6152a46e7d6e Author: Tobias Klauser Date: Wed Dec 23 14:14:34 2009 +0100 drm/i915: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Eric Anholt commit cda9d05c499093c67b4a376a15009923acc2127a Author: Jesse Barnes Date: Thu Dec 17 11:11:13 2009 -0800 drm/i915: remove render reclock support This code generally fails to adjust the render clock, and when it does, it conflicts with some other register settings and can cause problems. So remove this code altogether. I'm reworking it now to do the right thing, but the only bit it will share is the VBT check for whether reclocking is supported, so I'm leaving that bit. Reverts most of 652c393a3368af84359da37c45afc35a91144960 ("add dynamic clock frequency control"), though for many the regressions showed up in the later 181a5336d6cc836f05507410d66988c483ad0154 ("Fix render reclock availability detection"). Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 1d3c36ad4122651018599d4e3c9be0cccfbfb939 Author: Andrew Lutomirski Date: Mon Dec 21 10:10:22 2009 -0500 drm/i915: Fix RC6 suspend/resume We restored RC6 twice on resume, even with modesetting off. Instead, only restore it once and skip RC6 initialization entirely in non-KMS mode. Signed-off-by: Andy Lutomirski Tested-by: Jeff Chua Signed-off-by: Eric Anholt commit 76446cac68568fc7f5168a27deaf803ed22a4360 Author: Jesse Barnes Date: Thu Dec 17 22:05:42 2009 -0500 drm/i915: execbuf2 support This patch adds a new execbuf ioctl, execbuf2, for use by clients that want to control fence register allocation more finely. The buffer passed in to the new ioctl includes a new relocation type to indicate whether a given object needs a fence register assigned for the command buffer in question. Compatibility with the existing execbuf ioctl is implemented in terms of the new code, preserving the assumption that fence registers are required for pre-965 rendering commands. Signed-off-by: Jesse Barnes [ickle: Remove pre-emptive clear_fence_reg()] Signed-off-by: Chris Wilson Signed-off-by: Kristian Høgsberg [anholt: Removed dmesg spam] Signed-off-by: Eric Anholt commit c92b29ec4a7a197199b8b937b909d80dc79d8e5b Author: Miguel Aguilar Date: Fri Nov 13 13:44:23 2009 -0600 DaVinci: DM365: Add the device_enable for the DaVinci Keyscan Adds the device_enable function to the DaVinci Keyscan platform data to setup the PINMUX configuration. It also removes #ifdef from the DM365 EVM board in order to load it properly as a module. Signed-off-by: Miguel Aguilar Signed-off-by: Kevin Hilman commit ae88e05a5adb5f6da2d1e1a852bea8c88cb2c9cb Author: Sekhar Nori Date: Thu Nov 19 15:34:01 2009 +0530 davinci: enable ARCH_HAS_HOLES_MEMORYMODEL for DaVinci All DaVinci platforms include a DSP or co-processor for audio/video acceleration. While creating memory for the DSP/co-processor, system integrator can end up creating a hole in the memory map of the sort: This sort of configuration needs ARCH_HAS_HOLES_MEMORYMODEL enabled. See further details see this discussion on ARM linux mailing list: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15262.html The patch is boot tested on OMAP-L138, DM6446 and DM355 EVMs Signed-off-by: Sekhar Nori CC: Sriramakrishnan CC: Khasim Syed Mohammed Signed-off-by: Kevin Hilman commit 75c99bb0006ee065b4e2995078d779418b0fab54 Author: Sekhar Nori Date: Mon Nov 16 17:21:31 2009 +0530 davinci: da8xx/omap-l1: mark RTC as a wakeup source On da850, RTC alarm is a wakeup source from deep sleep. Mark it as a wakeup source after the rtc platform device is registered. Without this patch, the rtc-omap driver suspends the RTC during the suspend sequence and hence it cannot wakeup the SoC. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 2d3f595016f982294c1669ee87aa91179d88502b Author: Sekhar Nori Date: Mon Nov 16 17:21:30 2009 +0530 davinci: cp_intc: provide set_wake function There is nothing special to be done for interrupts which can wakeup the device from sleep on CP-INTC, but not having a set_wake implemented prevents use of common drivers which expect this function to be implemented for all wakeup interrupt sources. This patch fixes the issue encountered when using the omap-rtc driver on DA850. On DA850 the RTC alarm interrupt is used to wake up the SoC from deep sleep mode. Without this patch, the disable_irq_wake throws an unbalanced wake disable warning while resuming because the previous enable call fails for lack of set_wake implementation. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 077639f443294a25b16e4040ca06a1611700a4ae Author: Vaibhav Hiremath Date: Tue Oct 13 15:08:54 2009 +0000 Davinci VPFE Capture: Take i2c adapter id through platform data The I2C adapter ID is actually depends on Board and may vary, Davinci uses id=1, but in case of AM3517 id=3. So modified respective davinci board files. Signed-off-by: Vaibhav Hiremath Signed-off-by: Kevin Hilman commit c6f7afaeeda5b3c42ea8d7b27e197d223a04675e Merge: 34e2fde efd124b Author: Linus Torvalds Date: Wed Jan 6 01:41:07 2010 -0800 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd * 'for-linus' of git://git.open-osd.org/linux-open-osd: exofs: simple_write_end does not mark_inode_dirty exofs: fix pnfs_osd re-definitions in pre-pnfs trees commit 34e2fde8a496cf9d7c184ef12eafd3dd854586f1 Merge: 10b465a dc2f9c5 Author: Linus Torvalds Date: Wed Jan 6 01:16:26 2010 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits) ARM: 5865/1: nuc900 ethernet driver needs mii ARM: 5864/1: Implement arch_reset() in NUC900 ARM: 5863/1: fix bugs of clock source of NUC900 ARM: 5858/1: Remove unused vma_vm_flags macro from v7wbi_flush_user_tlb_range imx/mx3: depend on USB_ULPI for otg_ulpi_create ARM: MX3: make CPU revision number detection work on all boards mx25: pdk: add platform code for FEC support mx25: add support for FEC on i.MX25 mx25: s/NO_PAD_CTL/NO_PAD_CTRL/ mx31moboard: fix usbh device names mx3: add support for the mt9v022 camera sensor to pcm037 platform mx27: mxt_td60: Remove not used UART pins [ARM] pxa/poodle: fix incorrect 'gpio_card_detect' of MMC [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot [ARM] pxa/ttc_dkb: remove duplicate macro definition [ARM] pxa/zeus: provide power-source information when APM is enabled [ARM] pxa/zeus: relax memory timings on Zeus ethernet ports [ARM] pxa/zeus: make internal zeus_get_pcb_info static [ARM] pxa/littleton: select CPU_PXA300 and CPU_PXA310 [ARM] pxa/littleton: add UART3 GPIO config ... commit 10b465aaf9536ee5a16652fa0700740183d48ec9 Author: Ben Hutchings Date: Sat Dec 19 14:43:01 2009 +0000 modules: Skip empty sections when exporting section notes Commit 35dead4 "modules: don't export section names of empty sections via sysfs" changed the set of sections that have attributes, but did not change the iteration over these attributes in add_notes_attrs(). This can lead to add_notes_attrs() creating attributes with the wrong names or with null name pointers. Introduce a sect_empty() function and use it in both add_sect_attrs() and add_notes_attrs(). Reported-by: Martin Michlmayr Signed-off-by: Ben Hutchings Tested-by: Martin Michlmayr Cc: stable@kernel.org Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 1d3d51b6d2d6fb51c6c30a8c7ed0fd939f6100bf Author: Alex Deucher Date: Mon Dec 28 13:45:23 2009 -0500 drm/radeon/kms: add missing breaks in i2c and ss lookups Should fix fdo bug 25741 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 246263ccc31e4ba2886cca17000bf09ea683eac5 Author: Alex Deucher Date: Tue Dec 29 12:09:17 2009 -0500 drm/radeon/kms: add primary dac adj values table Look up primary dac adj values from the table if there is no bios or bios dac table to reference. The lookup table may need to be adjusted for certain families. Should fix kernel bug 14945. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b9597a1c6fa6cbc938f14ab6a7fe09047b3a346b Author: Alex Deucher Date: Mon Jan 4 19:12:02 2010 -0500 drm/radeon/kms: fallback to default connector table if necessary for combios Some early combios radeon cards don't have a connector table or dac table in the bios, if they do not, fallback to the default tables. Should fix kernel bug 14963. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 409d02ef6d74f5e91f5ea4c587b2ee1375f106fc Author: Heiko Carstens Date: Tue Jan 5 14:19:11 2010 +0100 x86: copy_from_user() should not return -EFAULT Callers of copy_from_user() expect it to return the number of bytes it could not copy. In no case it is supposed to return -EFAULT. In case of a detected buffer overflow just return the requested length. In addition one could think of a memset that would clear the size of the target object. [ hpa: code is not in .32 so not needed for -stable ] Signed-off-by: Heiko Carstens Acked-by: Arjan van de Ven LKML-Reference: <20100105131911.GC5480@osiris.boeblingen.de.ibm.com> Signed-off-by: H. Peter Anvin commit dc2f9c5a13de4f9fd63f49f54add40b2924f66cd Author: Li Jie Date: Thu Dec 31 16:03:16 2009 +0100 ARM: 5865/1: nuc900 ethernet driver needs mii nuc900 ethernet driver uses mii_xx_xx serials api, so mii module should be selected. Signed-off-by: lijie Acked-by: Wan ZongShun Signed-off-by: Russell King commit 58b2e0a2dd8e460d3b7d7f8ec5d3042253b9e08a Author: Li Jie Date: Thu Dec 31 15:50:02 2009 +0100 ARM: 5864/1: Implement arch_reset() in NUC900 Implement arch_reset(), reboot from shell become possible. Signed-off-by: lijie Acked-by: Wan ZongShun Signed-off-by: Russell King commit 1368c51c501978e5c4148322b7c77d4f49549557 Author: Li Jie Date: Thu Dec 31 15:57:53 2009 +0100 ARM: 5863/1: fix bugs of clock source of NUC900 This patch fix following bugs: 1. typo error, CLOCK_EVT_MODE_PERIODIC -> CLOCK_EVT_FEAT_PERIODIC 2. TCSR register of timer1 missed PRESCALE 3. timer1 should be enabled before register it to clock source. Signed-off-by: lijie Acked-by: Wan ZongShun Signed-off-by: Russell King commit 070f1f178c4377c09f72e414513aeacd8403f6d6 Author: Bahadir Balban Date: Fri Dec 25 14:25:48 2009 +0100 ARM: 5858/1: Remove unused vma_vm_flags macro from v7wbi_flush_user_tlb_range Signed-off-by: Bahadir Balban Signed-off-by: Russell King commit efd124b999fb4d426b30675f1684521af0872789 Author: Boaz Harrosh Date: Sun Dec 27 17:01:42 2009 +0200 exofs: simple_write_end does not mark_inode_dirty exofs uses simple_write_end() for it's .write_end handler. But it is not enough because simple_write_end() does not call mark_inode_dirty() when it extends i_size. So even if we do call mark_inode_dirty at beginning of write out, with a very long IO and a saturated system we might get the .write_inode() called while still extend-writing to file and miss out on the last i_size updates. So override .write_end, call simple_write_end(), and afterwords if i_size was changed call mark_inode_dirty(). It stands to logic that since simple_write_end() was the one extending i_size it should also call mark_inode_dirty(). But it looks like all users of simple_write_end() are memory-bound pseudo filesystems, who could careless about mark_inode_dirty(). I might submit a warning-comment patch to simple_write_end() in future. CC: Stable Signed-off-by: Boaz Harrosh commit 89be503021f550575fc896671b569941140b2c2e Author: Boaz Harrosh Date: Mon Dec 21 16:36:23 2009 +0200 exofs: fix pnfs_osd re-definitions in pre-pnfs trees Some on disk exofs constants and types are defined in the pnfs_osd_xdr.h file. Since we needed these types before the pnfs-objects code was accepted to mainline we duplicated the minimal needed definitions into an exofs local header. The definitions where conditionally included depending on !CONFIG_PNFS defined. So if PNFS was present in the tree definitions are taken from there and if not they are defined locally. That was all good but, the CONFIG_PNFS is planed to be included upstream before the pnfs-objects is also included. (The first pnfs batch might be pnfs-files only) So condition exofs local definitions on the absence of pnfs_osd_xdr.h inclusion (__PNFS_OSD_XDR_H__ not defined). User code must make sure that in future pnfs_osd_xdr.h will be included before fs/exofs/pnfs.h, which happens to be so in current code. Once pnfs-objects hits mainline, exofs's local header will be removed. Signed-off-by: Boaz Harrosh commit 4f3be1b5a98587b86cae05aa5d129dd0b3fff466 Author: Frederic Weisbecker Date: Tue Jan 5 02:14:30 2010 +0100 reiserfs: Relax lock on xattr removing When we remove an xattr, we call lookup_and_delete_xattr() that takes some private xattr inodes mutexes. But we hold the reiserfs lock at this time, which leads to dependency inversions. We can safely call lookup_and_delete_xattr() without the reiserfs lock, where xattr inodes lookups only need the xattr inodes mutexes. Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit 108d3943c021f0b66e860ba98ded40b82b677bd7 Author: Frederic Weisbecker Date: Tue Jan 5 00:15:38 2010 +0100 reiserfs: Relax the lock before truncating pages While truncating a file, reiserfs_setattr() calls inode_setattr() that will truncate the mapping for the given inode, but for that it needs the pages locks. In order to release these, the owners need the reiserfs lock to complete their jobs. But they can't, as we don't release it before calling inode_setattr(). We need to do that to fix the following softlockups: INFO: task flush-8:0:2149 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. flush-8:0 D f51af998 0 2149 2 0x00000000 f51af9ac 00000092 00000002 f51af998 c2803304 00000000 c1894ad0 010f3000 f51af9cc c1462604 c189ef80 f51af974 c1710304 f715b450 f715b5ec c2807c40 00000000 0005bb00 c2803320 c102c55b c1710304 c2807c50 c2803304 00000246 Call Trace: [] ? schedule+0x434/0xb20 [] ? resched_task+0x4b/0x70 [] ? mark_held_locks+0x62/0x80 [] ? mutex_lock_nested+0x1fd/0x350 [] mutex_lock_nested+0x169/0x350 [] ? reiserfs_write_lock+0x2e/0x40 [] reiserfs_write_lock+0x2e/0x40 [] do_journal_end+0xc2/0xe70 [] journal_end+0xb2/0x120 [] ? pathrelse+0x33/0xb0 [] reiserfs_end_persistent_transaction+0x64/0x70 [] reiserfs_get_block+0x12ba/0x15f0 [] ? mark_held_locks+0x62/0x80 [] reiserfs_writepage+0xa74/0xe80 [] ? _raw_spin_unlock_irq+0x27/0x50 [] ? radix_tree_gang_lookup_tag_slot+0x95/0xc0 [] ? find_get_pages_tag+0x127/0x1a0 [] ? mark_held_locks+0x62/0x80 [] ? trace_hardirqs_on_caller+0x124/0x170 [] __writepage+0x10/0x40 [] write_cache_pages+0x16b/0x320 [] ? __writepage+0x0/0x40 [] generic_writepages+0x28/0x40 [] do_writepages+0x35/0x40 [] writeback_single_inode+0xc7/0x330 [] writeback_inodes_wb+0x2c2/0x490 [] wb_writeback+0x106/0x1b0 [] wb_do_writeback+0x106/0x1e0 [] ? wb_do_writeback+0x28/0x1e0 [] bdi_writeback_task+0x3a/0xb0 [] bdi_start_fn+0x63/0xc0 [] ? bdi_start_fn+0x0/0xc0 [] kthread+0x74/0x80 [] ? kthread+0x0/0x80 [] kernel_thread_helper+0x6/0x10 3 locks held by flush-8:0/2149: #0: (&type->s_umount_key#30){+++++.}, at: [] writeback_inodes_wb+0x27f/0x490 #1: (&journal->j_mutex){+.+...}, at: [] do_journal_end+0xba/0xe70 #2: (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x2e/0x40 INFO: task fstest:3813 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. fstest D 00000002 0 3813 3812 0x00000000 f5103c94 00000082 f5103c40 00000002 f5ad5450 00000007 f5103c28 011f3000 00000006 f5ad5450 c10bb005 00000480 c1710304 f5ad5450 f5ad55ec c2907c40 00000001 f5ad5450 f5103c74 00000046 00000002 f5ad5450 00000007 f5103c6c Call Trace: [] ? free_hot_cold_page+0x1d5/0x280 [] io_schedule+0x74/0xc0 [] sync_page+0x35/0x60 [] __wait_on_bit_lock+0x4a/0x90 [] ? sync_page+0x0/0x60 [] __lock_page+0x85/0x90 [] ? wake_bit_function+0x0/0x60 [] truncate_inode_pages_range+0x1e4/0x2d0 [] truncate_inode_pages+0x1f/0x30 [] truncate_pagecache+0x5f/0xa0 [] vmtruncate+0x5a/0x70 [] inode_setattr+0x5d/0x190 [] reiserfs_setattr+0x1f7/0x2f0 [] ? down_write+0x49/0x70 [] notify_change+0x151/0x330 [] do_truncate+0x6d/0xa0 [] do_filp_open+0x9a2/0xcf0 [] ? _raw_spin_unlock+0x2c/0x50 [] ? alloc_fd+0xe0/0x100 [] do_sys_open+0x6d/0x130 [] ? sysenter_exit+0xf/0x16 [] sys_open+0x2e/0x40 [] sysenter_do_call+0x12/0x32 3 locks held by fstest/3813: #0: (&sb->s_type->i_mutex_key#4){+.+.+.}, at: [] do_truncate+0x63/0xa0 #1: (&sb->s_type->i_alloc_sem_key#3){+.+.+.}, at: [] notify_change+0x257/0x330 #2: (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock_once+0x2e/0x50 Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit 5fe1533fda8ae005541bd418a7a8bc4fa0cda522 Author: Frederic Weisbecker Date: Mon Jan 4 22:04:01 2010 +0100 reiserfs: Fix recursive lock on lchown On chown, reiserfs will call reiserfs_setattr() to change the owner of the given inode, but it may also recursively call reiserfs_setattr() to propagate the owner change to the private xattr files for this inode. Hence, the reiserfs lock may be acquired twice which is not wanted as reiserfs_setattr() calls journal_begin() that is going to try to relax the lock in order to safely acquire the journal mutex. Using reiserfs_write_lock_once() from reiserfs_setattr() solves the problem. This fixes the following warning, that precedes a lockdep report. WARNING: at fs/reiserfs/lock.c:95 reiserfs_lock_check_recursive+0x3f/0x50() Hardware name: MS-7418 Unwanted recursive reiserfs lock! Pid: 4189, comm: fsstress Not tainted 2.6.33-rc2-tip-atom+ #195 Call Trace: [] ? reiserfs_lock_check_recursive+0x3f/0x50 [] ? reiserfs_lock_check_recursive+0x3f/0x50 [] warn_slowpath_common+0x6c/0xc0 [] ? reiserfs_lock_check_recursive+0x3f/0x50 [] warn_slowpath_fmt+0x2b/0x30 [] reiserfs_lock_check_recursive+0x3f/0x50 [] do_journal_begin_r+0x83/0x350 [] journal_begin+0x7d/0x140 [] ? in_group_p+0x2a/0x30 [] ? inode_change_ok+0x91/0x140 [] reiserfs_setattr+0x15d/0x2e0 [] ? dput+0xe3/0x140 [] ? _raw_spin_unlock+0x2c/0x50 [] chown_one_xattr+0xd/0x10 [] reiserfs_for_each_xattr+0x113/0x2c0 [] ? chown_one_xattr+0x0/0x10 [] ? mutex_lock_nested+0x2a9/0x350 [] reiserfs_chown_xattrs+0x1f/0x60 [] ? in_group_p+0x2a/0x30 [] ? inode_change_ok+0x91/0x140 [] reiserfs_setattr+0x126/0x2e0 [] ? reiserfs_getxattr+0x0/0x90 [] ? cap_inode_need_killpriv+0x37/0x50 [] notify_change+0x151/0x330 [] chown_common+0x6f/0x90 [] sys_lchown+0x6d/0x80 [] sysenter_do_call+0x12/0x32 ---[ end trace 7c2b77224c1442fc ]--- Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit f4b825bde98938f160315d655597bc9731521cae Author: Rusty Russell Date: Tue Jan 5 12:48:49 2010 +1030 Revert "x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium" This reverts commit ae1b22f6e46c03cede7cea234d0bf2253b4261cf. As Linus said in 982d007a6ee: "There was something really messy about cmpxchg8b and clone CPU's, so if you enable it on other CPUs later, do it carefully." This breaks lguest for those configs, but we can fix that by emulating if we have to. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=14884 Signed-off-by: Rusty Russell LKML-Reference: <201001051248.49700.rusty@rustcorp.com.au> Cc: stable@kernel.org Signed-off-by: H. Peter Anvin commit b49bfd32901625e4adcfee011d2b32a43b4db67d Author: Youquan,Song Date: Thu Dec 17 08:22:48 2009 -0500 PCIe AER: prevent AER injection if hardware masks error reporting The Correcteable/Uncorrectable Error Mask Registers are used by PCIe AER driver which will controls the reporting of individual errors to PCIe RC via PCIe error messages. If hardware masks special error reporting to RC, the aer_inject driver should not inject aer error. Acked-by: Andi Kleen Signed-off-by: Youquan, Song Acked-by: Ying, Huang Signed-off-by: Jesse Barnes commit 1ae861e652b5457e7fa98ccbc55abea1e207916e Author: Rafael J. Wysocki Date: Thu Dec 31 12:15:54 2009 +0100 PCI/PM: Use per-device D3 delays It turns out that some PCI devices require extra delays when changing power state from D3 to D0 (and the other way around). Although this is against the PCI specification, we can handle it quite easily by allowing drivers to define arbitrary D3 delays for devices known to require extra time for switching power states. Introduce additional field d3_delay in struct pci_dev and use it to store the value of the device's D0->D3 delay, in miliseconds. Make the PCI PM core code use the per-device d3_delay unless pci_pm_d3_delay is greater (in which case the latter is used). [This also allows the driver to specify d3_delay shorter than the 10 ms required by the PCI standard if the device is known to be able to handle that.] Make the sky2 driver set d3_delay to 150 for devices handled by it. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14730 which is a listed regression from 2.6.30. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 6be954d1f91b81ca85c74792b13654069278c577 Author: David John Date: Mon Jan 4 20:28:57 2010 +0530 PCI: Check the node argument passed to cpumask_of_node Commit e0cd516 "PCI: derive nearby CPUs from device's instead of bus' NUMA information" causes an null pointer dereference when reading from the sysfs attributes local_cpu* on Intel machines with no ACPI NUMA proximity info, since dev->numa_node gets set to -1 for all PCI devices, which then gets passed to cpumask_of_node. Add a check to prevent this. Signed-off-by: David John Signed-off-by: Jesse Barnes commit a557aae29cf5916295c234d4b10ba3f8f29b8a96 Author: Yinghai Lu Date: Tue Dec 22 15:40:40 2009 -0800 x86/pci: Intel ioh bus num reg accessing fix It is above 0x100 (PCI-Express extended register space), so if mmconf is not enable, we can't access it. [ hpa: changed the bound from 0x200 to 0x120, which is the tight bound. ] Reported-by: Jens Axboe Signed-off-by: Yinghai Lu LKML-Reference: <1261525263-13763-3-git-send-email-yinghai@kernel.org> Signed-off-by: H. Peter Anvin commit 9dad0fd5a73d4048dff18069733c0b515f68df74 Author: Yinghai Lu Date: Tue Dec 22 15:40:39 2009 -0800 x86: Fix size for ex trampoline with 32bit fix for error that is introduced by | x86: Use find_e820() instead of hard coded trampoline address it should end with PAGE_SIZE + PAGE_SIZE Signed-off-by: Yinghai Lu LKML-Reference: <1261525263-13763-2-git-send-email-yinghai@kernel.org> Signed-off-by: H. Peter Anvin commit 500af638b3f378e5d1f04dfe5043a377cdc234de Author: James Smart Date: Mon Dec 21 17:03:47 2009 -0500 [SCSI] lpfc 8.3.7: Update Driver version to 8.3.7 Update Driver version to 8.3.7 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9795724476860069ce183ead59d0a5958f882037 Author: James Smart Date: Mon Dec 21 17:03:15 2009 -0500 [SCSI] lpfc 8.3.7: Fix discovery failures. Fix discovery failures: - Move all accesses to the fc_flag field inside the host lock. - Restore link state after going through linkdown processing for FCF DEAD event. Signed-off-by: James Smart Signed-off-by: James Bottomley commit aacc20e35edfb86cf66c5ee8d9f3d06a98362fd1 Author: James Smart Date: Mon Dec 21 17:02:51 2009 -0500 [SCSI] lpfc 8.3.7: Fix SCSI protocol related errors. Fix SCSI protocol related errors: - Avoid I/O failures during EEH and HBA/CNA reset by correcting when we block the targets on the adapter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit def9c7a994f194377a23e687e6fd39b46c3ce631 Author: James Smart Date: Mon Dec 21 17:02:28 2009 -0500 [SCSI] lpfc 8.3.7: Fix hardware/SLI relates issues Fix hardware/SLI relates issues: - Fix CNA uses more than one EQ when in INTx interrupt mode. - Fix driver tries to process failed read FCF record mailbox request. - Fix allocating single receive buffer breaks FCoE receive queue. - Support new read FCF record mailbox error case. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 1987807d4a7f52ca86034865283b207ab9be79c8 Author: James Smart Date: Mon Dec 21 17:02:00 2009 -0500 [SCSI] lpfc 8.3.7: Fix NPIV operation errors Fix NPIV operation errors: - Fix vport not logging out of fabric when being deleted - Fix vport fails to discover targets after devloss timeout. Signed-off-by: James Smart Signed-off-by: James Bottomley commit eeead8115276a76675dc7cfc823a2461745edd27 Author: James Smart Date: Mon Dec 21 17:01:23 2009 -0500 [SCSI] lpfc 8.3.7: Fix FC protocol errors Fix FC protocol errors: - Fix multi-frame unsolicited sequences not queued properly - Fix frames for unsolicited sequences not being associated with sequence. - Fix unsolicited frame buffer sizes are not set properly - Fix Sequence count for unsolicited frame headers not byte swapped. - Fix Multi-frame sequence response frames go to wrong DID. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 91e6ecada757a6e2ef7b937634af8a04376772a1 Author: Ed Lin Date: Fri Dec 18 17:34:51 2009 -0800 [SCSI] stex: fix scan of nonexistent lun During a manual scan, a user can send command to a nonexistent lun, precisely at the point of max_lun. Normally it's possible (but not required) that the firmware has the knowledge that it is an invalid lun. In the particular case when max_lun is 256, however, the nonexistent lun 256 will be confused with lun 0, because the lun member in a request message is only u8, and 256 will become 0. So we need to fix the problem, at least, at the driver level. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 46256f83d0d066f99ffde547f27473dfd2a78009 Author: Youquan,Song Date: Fri Dec 11 18:42:35 2009 -0500 PCI: AER: fix aer inject result in kernel oops If the BIOS does not export _OSC to allow OS take over the PCIe AER, the pcie aer driver will not initialize the aer service. However, the aer_inject driver does not check this scenario, which results in a kernel oops when injecting an aer error into OS. For example: BUG: unable to handle kernel NULL pointer dereference at 0000000000000350 IP: [] _spin_lock_irqsave+0xc/0x23 PGD 155c41067 PUD 157fe0067 PMD 0 Oops: 0002 [#1] SMP Pid: 5119, comm: aer-inject Not tainted 2.6.32-rc8-mce #2 RIP: 0010:[] [] _spin_lock_irqsave+0xc/0x23 RSP: 0018:ffff880157f81e28 EFLAGS: 00010096 RAX: 0000000000000296 RBX: 0000000000000000 RCX: 0000000000000100 RDX: 0000000000010000 RSI: 0000000000000246 RDI: 0000000000000350 RBP: ffff880157f81e28 R08: 0000000000000004 R09: ffff880157f81dac R10: ffff88015a666f60 R11: ffff88015a666f40 R12: ffff88015758cc00 R13: 0000000000000350 R14: 0000000000000000 R15: 0000000000000100 FS: 00007f4d4a66e6f0(0000) GS:ffff8800282e0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000350 CR3: 000000015661a000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process aer-inject (pid: 5119, threadinfo ffff880157f80000, task ffff8801585f4340) Stack: ffff880157f81e78 ffffffff811b1615 ffff880157f81e78 ffffffff81222823 Call Trace: [] aer_irq+0x38/0x117 [] ? device_for_each_child+0x5f/0x6f [] aer_inject_write+0x409/0x45e [aer_inject] [] vfs_write+0xae/0x16a [] sys_write+0x47/0x6e [] system_call_fastpath+0x16/0x1b RIP [] _spin_lock_irqsave+0xc/0x23 RSP CR2: 0000000000000350 So check the _OSC before assuming that AER is available to the OS. Signed-off-by: Youquan, Song Acked-by: Ying, Huang Signed-off-by: Jesse Barnes commit 40da4186a53e59d801130156ecb89fc5830ff227 Author: Hidetoshi Seto Date: Tue Dec 15 11:38:04 2009 +0900 PCI: pcie portdrv: style cleanup No change in logic. Before: drivers/pci/pcie/portdrv_core.c: total: 7 errors, 2 warnings, 508 lines checked drivers/pci/pcie/portdrv_pci.c: total: 4 errors, 2 warnings, 300 lines checked After: drivers/pci/pcie/portdrv_core.c: total: 0 errors, 0 warnings, 506 lines checked drivers/pci/pcie/portdrv_pci.c: total: 0 errors, 0 warnings, 299 lines checked Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 3ac584317adcc4be4466db967f3355c3e42cbda3 Merge: 1df4bb4 f9ffaa9 Author: Russell King Date: Mon Jan 4 15:51:38 2010 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit f9ffaa9ca9889f17ef30b82bc0bf954d141280f8 Author: Uwe Kleine-König Date: Tue Dec 22 17:31:05 2009 +0100 imx/mx3: depend on USB_ULPI for otg_ulpi_create otg_ulpi_create is defined in drivers/usb/otg/ulpi.c which depends on CONFIG_USB_ULPI. So protect its usage by the same symbol. Moreover mxc_ulpi_access_ops needs CONFIG_MXC_ULPI. Signed-off-by: Uwe Kleine-König Cc: Sascha Hauer Cc: Valentin Longchamp Cc: Daniel Mack Signed-off-by: Sascha Hauer commit e94c4c34495e194d778e9ab20044c723280a54e7 Author: Wolfgang Denk Date: Tue Dec 15 00:27:42 2009 +0100 ARM: MX3: make CPU revision number detection work on all boards Commit 52939c03 (ARM: MX3: fix CPU revision number detection) started using the CPU's SREV register for revision number detection. This makes it mandatory to have a valid SPBA0 mapping. Add this to the global map_io code instead of adding multiple copies for each board. Signed-off-by: Wolfgang Denk Cc: Daniel Mack Cc: Sascha Hauer Tested on Qong (EVB-Lite) Tested-by: Wolfgang Denk Signed-off-by: Sascha Hauer commit e71fbaf7660cefb49459e66a12bbb928a86958c9 Author: Baruch Siach Date: Mon Dec 21 13:44:32 2009 +0200 mx25: pdk: add platform code for FEC support Signed-off-by: Sascha Hauer commit a759544ff95c14dac93759e02a84e233da0dc25a Author: Baruch Siach Date: Mon Dec 21 13:44:31 2009 +0200 mx25: add support for FEC on i.MX25 Signed-off-by: Sascha Hauer commit dda71f1612bd6644714ab5c801d2f6d390b5318f Author: Baruch Siach Date: Mon Dec 14 12:19:39 2009 +0200 mx25: s/NO_PAD_CTL/NO_PAD_CTRL/ NO_PAD_CTL is not defined anywhere. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 4c21186bd8b1ecf46a7cc20d8ad26476afe14f8c Author: Valentin Longchamp Date: Fri Dec 4 16:50:29 2009 +0100 mx31moboard: fix usbh device names Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 9d00278d481b148fa99222553bb2339bc5f65036 Author: Guennadi Liakhovetski Date: Fri Dec 11 14:29:06 2009 +0100 mx3: add support for the mt9v022 camera sensor to pcm037 platform Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 2243b649aa9e5669bea5413c5b520f333f96be07 Author: Alan Carvalho de Assis Date: Fri Dec 4 15:44:06 2009 -0200 mx27: mxt_td60: Remove not used UART pins Signed-off-by: Alan Carvalho de Assis Signed-off-by: Sascha Hauer commit f3e22f48f37c1e14441c9f72ca8e63b1d4516745 Author: Frederic Weisbecker Date: Sun Jan 3 03:44:53 2010 +0100 reiserfs: Fix mistake in down_write() conversion Fix a mistake in commit 0719d3434747889b314a1e8add776418c4148bcf (reiserfs: Fix reiserfs lock <-> i_xattr_sem dependency inversion) that has converted a down_write() into a down_read() accidentally. Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Alexander Beregalov Cc: Chris Mason Cc: Ingo Molnar commit 1df4bb4af42459a4a10e7b21794a6f44463534e6 Merge: cd6e125 91a86a9 Author: Russell King Date: Sat Jan 2 11:16:20 2010 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit c9c041fcb1a4d69ed4791f00b57554eeb341d148 Author: Anisse Astier Date: Thu Dec 31 16:41:33 2009 +0100 hp-wmi: remove double free caused by merge conflict Commit 3e9b988e4edf065d39c1343937f717319b1c1065 "wmi: Free the allocated acpi objects through wmi_get_event_data" had the same purpose as commit 44ef00e6482e755f36629773abc2aee83a6f53e3 "hp-wmi: Fix two memleaks" This should solve this regression: http://bugzilla.kernel.org/show_bug.cgi?id=14890 Signed-off-by: Anisse Astier Reported-by: Sedat Dilek Signed-off-by: Len Brown commit a70757ba9a3719f99760713c3b72134b21016c6e Author: Anil Ravindranath Date: Thu Dec 17 14:51:53 2009 -0800 [SCSI] pmcraid: fix to avoid twice scsi_dma_unmap for a command For a particular driver error condition, driver was doing double scsi_dma_unmaps. Driver was calling scsi_dma_unmap in pmcraid_error_handler and return 0. This pmcraid_error_handler is called by pmcraid_io_done which will do scsi_dma_unmap again when it has return 0 from pmcraid_error_handler. Signed-off-by: James Bottomley commit 3b9c212a5cbb1e13ced92639ce83f7a48b8b2331 Author: Giridhar Malavali Date: Tue Dec 15 21:29:48 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.01-k9. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit ca79cf664806d833e28c8c05824b2361f59b8bc8 Author: Duane Grigsby Date: Tue Dec 15 21:29:47 2009 -0800 [SCSI] qla2xxx: Added to EEH support. Added fundamental reset and pci save state. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 858808019313f217d63ec4ad26686e6fb7b08c19 Author: Andrew Vasquez Date: Tue Dec 15 21:29:46 2009 -0800 [SCSI] qla2xxx: Extend base EEH support in qla2xxx. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 5c66f5d193f68c2a7da0f2ad3535ed30ab14307b Author: Anirban Chakraborty Date: Tue Dec 15 21:29:45 2009 -0800 [SCSI] qla2xxx: Fix for a multiqueue bug in CPU affinity mode Hold the hardware lock while do the response completion in work queue threads as it involves sharing a common request queue among multiple threads. Signed-off-by: Anirban Chakraborty Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 3064ff39b8121acbd731f64d046218ebf3c2f9c0 Author: Michael Hernandez Date: Tue Dec 15 21:29:44 2009 -0800 [SCSI] qla2xxx: Get the link data rate explicitly during device resync. When the hba port gets logged out of the fabric, or other such transitional state when the physical link is still present, the driver doesn't receive a loop up asyn event (where the link data rate currently gets set). Hence send a explicit mailbox command to get the link rate in such conditions. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 44214ab474671e1ab5a860954db413bce52f7e04 Author: Rakesh Ranjan Date: Tue Dec 15 12:19:19 2009 +0530 [SCSI] cxgb3i: Fix a login over vlan issue Fix a target login issue, when parent interface is vlan and we are using cxgb3i sepecific private ip address in '/etc/iscsi/ifaces/' iface file. Signed-off-by: Rakesh Ranjan Acked-by: Karen Xie Signed-off-by: James Bottomley commit 91a86a964f0773fdf466fe02577c8494ca8e2083 Author: Eric Miao Date: Fri Dec 25 09:21:34 2009 +0800 [ARM] pxa/poodle: fix incorrect 'gpio_card_detect' of MMC Signed-off-by: Eric Miao commit f91e4906e26c053ab2ea6067c6354e49b71d8fa9 Author: Haojian Zhuang Date: Tue Dec 22 07:29:40 2009 -0500 [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot PXA mmc host driver supports card detect, read only and power gpio pin setting already. Zylonite platform driver needn't implement this any more. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit c57b9343437a801f0a93b272df8eabf1df102034 Author: Uwe Kleine-König Date: Thu Dec 17 14:56:57 2009 +0100 [ARM] pxa/ttc_dkb: remove duplicate macro definition ARRAY_AND_SIZE is already defined arch/arm/mach-mmp/common.h which is already included. Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Bin Yang Acked-by: Haojian Zhuang Signed-off-by: Eric Miao commit a1916eb0ea142c5ac67289e65a022d5253a8ec92 Author: Marc Zyngier Date: Sat Dec 26 21:24:13 2009 +0100 [ARM] pxa/zeus: provide power-source information when APM is enabled Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 5f86cebaa56268f1afa2321e6d424530b1a49a12 Author: Marc Zyngier Date: Sat Dec 26 21:24:12 2009 +0100 [ARM] pxa/zeus: relax memory timings on Zeus ethernet ports DM9000s on Zeus sometime fail under heavy load. Relaxing the timings a bit seems to be of a great help. Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 100627b4bacd0bd669aab5a68f8a0bfd0d28d002 Author: Marc Zyngier Date: Sat Dec 26 21:24:11 2009 +0100 [ARM] pxa/zeus: make internal zeus_get_pcb_info static Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 9a8a0c46de1fac06e9b78d13edd7612a97d0061d Author: Marek Vasut Date: Sun Dec 27 18:14:25 2009 +0100 [ARM] pxa/littleton: select CPU_PXA300 and CPU_PXA310 This has to be selected, otherwise some peripherals don't get initialized. Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 6d26ce68e034fb3dc93e8d56452c85f57b322101 Author: Marek Vasut Date: Sun Dec 27 16:04:35 2009 +0100 [ARM] pxa/littleton: add UART3 GPIO config Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 1692231cfda6577d411945ea1dacce548e63a0a4 Author: H Hartley Sweeten Date: Mon Nov 23 12:24:32 2009 -0500 [ARM] pxa: use resource_size() in pwm.c Use resource_size for {request/release}_mem_region and ioremap. Signed-off-by: H Hartley Sweeten Signed-off-by: Eric Miao commit da2c3f0ead336c04b4d1ad36ff42d8d264f44f65 Author: Eric Miao Date: Sat Dec 26 16:25:18 2009 +0800 [ARM] pxafb: fix building issue of incorrect reference Commit "d2a34c1 drivers/video: Move dereference after NULL test" introduced a build error of "fbi->dev->platform_data->smart_update" being unknown type to the compiler, fix this by removing the unnecessary test of 'fbi'. Cc: Julia Lawall Signed-off-by: Eric Miao commit f69ac2f5a36948e1adf071074414c5d1907b89b7 Author: J. Bruce Fields Date: Fri Dec 18 16:31:34 2009 -0500 nfsd: fix "insecure" export option A typo in 12045a6ee9908b "nfsd: let "insecure" flag vary by pseudoflavor" reversed the sense of the "insecure" flag. Reported-by: Michael Guntsche Signed-off-by: J. Bruce Fields commit 486bad2e40e938cd68fd853b7a9fa3115a9d3a4a Author: Jeff Layton Date: Fri Dec 18 16:28:20 2009 -0500 sunrpc: on successful gss error pipe write, don't return error When handling the gssd downcall, the kernel should distinguish between a successful downcall that contains an error code and a failed downcall (i.e. where the parsing failed or some other sort of problem occurred). In the former case, gss_pipe_downcall should be returning the number of bytes written to the pipe instead of an error. In the event of other errors, we generally want the initiating task to retry the upcall so we set msg.errno to -EAGAIN. An unexpected error code here is a bug however, so BUG() in that case. Signed-off-by: Jeff Layton Cc: stable@kernel.org Signed-off-by: Trond Myklebust commit b891e4a05ef6beac85465295a032431577c66b16 Author: Trond Myklebust Date: Fri Dec 18 16:28:12 2009 -0500 SUNRPC: Fix the return value in gss_import_sec_context() If the context allocation fails, it will return GSS_S_FAILURE, which is neither a valid error code, nor is it even negative. Return ENOMEM instead... Reported-by: Jeff Layton Cc: stable@kernel.org Signed-off-by: Trond Myklebust commit 14ace024b1e16d2bb9445c8387494fbbd820a738 Author: Trond Myklebust Date: Fri Dec 18 16:28:05 2009 -0500 SUNRPC: Fix up an error return value in gss_import_sec_context_kerberos() If the context allocation fails, the function currently returns a random error code, since the variable 'p' still points to a valid memory location. Ensure that it returns ENOMEM... Cc: stable@kernel.org Signed-off-by: Trond Myklebust commit c566ec49159b806db95a90fd8f37448376cd0ad2 Author: Zhenyu Wang Date: Thu Dec 17 16:12:56 2009 +0800 drm/i915: Reload hangcheck timer too for Ironlake Make sure hangcheck timer won't beat us unexpectedly on Ironlake. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit b01f2c3a4a37d09a47ad73ccbb46d554d21cfeb0 Author: Jesse Barnes Date: Fri Dec 11 11:07:17 2009 -0800 drm/i915: only enable hotplug for detected outputs This patch changes around our hotplug enable code a bit to only enable it for ports we actually detect and initialize. This prevents problems with stuck or spurious interrupts on outputs that aren't actually wired up, and is generally more correct. Fixes FDO bug #23183. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit b295d1b6e3e3f240d27cbe556d33ff5eb54721a7 Author: Kristian Høgsberg Date: Wed Dec 16 15:16:17 2009 -0500 drm/i915: Track whether cursor needs physical address in intel_device_info Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit cfdf1fa23f4074c9f8766dc67a928bbf680b1ac9 Author: Kristian Høgsberg Date: Wed Dec 16 15:16:16 2009 -0500 drm/i915: Implement IS_* macros using static tables Instead of using the IS_I9XX etc macros that expand to a ton of comparisons, use new struct intel_device_info to capture the capabilities of the different chipsets. The drm_i915_private struct will be initialized to point to the device info that correspond to the actual device and this way, testing for a specific capability is just a matter of checking a bit field. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit 49ae35f2dd1ff78ee88d5f8a38d0af63c3ad9f71 Author: Kristian Høgsberg Date: Wed Dec 16 15:16:15 2009 -0500 drm/i915: Move PCI IDs into i915 driver The old include/drm/drm_pciids.h used to be generated from the libdrm git repo. We don't use that anymore so just use a local list in the driver like everybody else. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit a2565377a5c31e25c77c7cabaf6752abe9a2d83a Author: Zhao Yakui Date: Fri Dec 11 09:26:11 2009 +0800 drm/i915: Update LVDS connector status when receiving ACPI LID event Dirk reports that nothing is displayed on LVDS when using ubuntu 9.1 after close/reopen the LID. And I also reproduce this issue on another laptop. After some tests and debug, it seems that it is related with that the LVDS status is not updated in time in course of suspend/resume. Now the LID state is used to check whether the LVDS is connected or disconnected. And when the LID is closed, it means that the LVDS is disconnected. When it is reopened, it means that the LVDS is connected. At the same time on some distributions the LID event is also used to put the system into suspend state. When the LID is closed, the system will enter the suspend state. When the LID is reopened, the system will be resumed. In such case when the LID is closed, user-space script will receive the LID notification event and detect the LVDS as disconnected. Then the system will enter the suspended state. When the LID is reopened, the system will be resumed. As the LVDS status is not updated in course of resume, it will cause that the LVDS connector is marked as unused and disabled. After the resume is finished,user-space script will try to configure the display mode for LVDS. But unfortunately as the LVDS status is not updated in time and it is still marked as disconnected, the LVDS and its corresponding CRTC will be disabled again in the function of drm_helper_disable_unused_functions after changing mode for LVDS. So we had better check and update the status of LVDS connector after receiving the LID notication event. Then after the system is resumed from suspended state, we can set the display mode for LVDS correctly. Signed-off-by: Zhao Yakui Reported-by: Dirk Hohndel Reviewed-by: Jesse Barnes CC: stable@kernel.org Signed-off-by: Eric Anholt commit a3cb5195f6db58dbebd8a31b877ddce082c9b63d Author: Zhao Yakui Date: Fri Dec 11 09:26:10 2009 +0800 drm/i915: Add MALATA PC-81005 to ACPI LID quirk list The MALATA PC-81005 laptop always reports that the LID status is closed and we can't use it reliabily for LVDS detection. So add this box into the quirk list. https://bugs.freedesktop.org/show_bug.cgi?id=25523 Signed-off-by: Zhao Yakui Review-by: Jesse Barnes Tested-by: Hector Signed-off-by: Eric Anholt commit cbda12d77ea590082edb6d30bd342a67ebc459e0 Author: Zhenyu Wang Date: Wed Dec 16 13:36:10 2009 +0800 drm/i915: implement new pm ops for i915 One problem in i915 hibernate with current legacy pci pm ops is that after we do freeze, we'll be forced to do resume once again, which re-init some resources and do modesetting again, that is unnecessary for hibernate. This patch trys to bypass that. We can't resolve this within legacy pm framework, but can do it easily with new pm ops. Suspend (S3) process has also been kept without change. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 11ba159288f1bfc1a475c994e598f5fe423fde9d Author: Matthew Garrett Date: Tue Dec 15 13:55:24 2009 -0500 drm/i915: Don't check for lid presence when detecting LVDS Checking for the presence of a lid in order to validate whether or not an LVDS display exists fails on some development platforms that implement a lid device but allow the LVDS to be disabled. The VBT is correctly updated, but Linux assumes that an LVDS is still present and lies to userspace. Remove the lid check and trust the VBT. Signed-off-by: Matthew Garrett Signed-off-by: Eric Anholt commit 96b47b65594fe2365f73aede060cb5203561fed3 Author: Daniel Vetter Date: Tue Dec 15 17:50:00 2009 +0100 drm/i915: fix order of fence release wrt flushing i915_gem_object_unbind had the ordering wrong. The other user, i915_gem_object_put_fence_reg already has the correct ordering. Results was usually corrupted pixmaps, especially garbled font glyphs after a suspend/resume (because this evicts everything). I'm still waiting for the feedback from the bug-reporters, but because this obviously fixes a bug (at least for me) I'm already submitting it. Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=25406 Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt CC: stable@kernel.org commit 656cb79322319a7bbafec7912d262142e9a38bc0 Author: Eric Anholt Date: Mon Dec 14 13:12:45 2009 -0800 drm/i915: In the debugfs interface, unmap our address instead of the page's. Fixes a BUG_ON in kmap_atomic for the following atomic mapping with USER0 type. Signed-off-by: Eric Anholt