commit be8cde8b24c9dca1e54598690115eee5b1476519 Merge: 981a2ed 534ef05 Author: Linus Torvalds Date: Wed Jan 27 09:54:08 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] aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree [SCSI] zfcp: Set hardware timeout as requested by BSG request. [SCSI] zfcp: Introduce bsg_timeout callback. [SCSI] scsi_transport_fc: Allow LLD to reset FC BSG timeout [SCSI] zfcp: add missing compat ptr conversion [SCSI] zfcp: Fix linebreak in hba trace [SCSI] zfcp: Issue zfcp_fc_wka_port_put after FC CT BSG request [SCSI] qla2xxx: Update version number to 8.03.01-k10. [SCSI] fc-transport: Use packed modifier for fc_bsg_request structure. [SCSI] qla2xxx: Perform fast mailbox read of flash regardless of size nor address alignment. [SCSI] qla2xxx: Correct FCP2 recovery handling. [SCSI] scsi_lib: Fix bug in completion of bidi commands [SCSI] mptsas: Fix issue with chain pools allocation on katmai [SCSI] aacraid: fix File System going into read-only mode [SCSI] lpfc: fix file permissions commit 981a2edd1922c00e747680f30734ea50c86af28d Merge: 4bdadb9 21ec7f6 Author: Linus Torvalds Date: Wed Jan 27 09:27:44 2010 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] fix single stepped svcs with TRACE_IRQFLAGS=y [S390] zcrypt: Do not remove coprocessor for error 8/72 [S390] sclp_vt220: set initial terminal window size [S390] use set_current_state in sigsuspend [S390] irqflags: add missing types.h include [S390] dasd: fix possible NULL pointer errors commit 4bdadb9785696439c6e2b3efe34aa76df1149c83 Author: Chris Wilson Date: Wed Jan 27 13:36:32 2010 +0000 drm/i915: Selectively enable self-reclaim Having missed the ENOMEM return via i915_gem_fault(), there are probably other paths that I also missed. By not enabling NORETRY by default these paths can run the shrinker and take memory from the system (but not from our own inactive lists because our shrinker can not run whilst we hold the struct mutex) and this may allow the system to survive a little longer whilst our drivers consume all available memory. References: OOM killer unexpectedly called with kernel 2.6.32 http://bugzilla.kernel.org/show_bug.cgi?id=14933 v2: Pass gfp into page mapping. v3: Use new read_cache_page_gfp() instead of open-coding. Signed-off-by: Chris Wilson Cc: KOSAKI Motohiro Cc: Hugh Dickins Cc: Jesse Barnes Cc: Eric Anholt Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 0531b2aac59c2296570ac52bfc032ef2ace7d5e1 Author: Linus Torvalds Date: Wed Jan 27 09:20:03 2010 -0800 mm: add new 'read_cache_page_gfp()' helper function It's a simplified 'read_cache_page()' which takes a page allocation flag, so that different paths can control how aggressive the memory allocations are that populate a address space. In particular, the intel GPU object mapping code wants to be able to do a certain amount of own internal memory management by automatically shrinking the address space when memory starts getting tight. This allows it to dynamically use different memory allocation policies on a per-allocation basis, rather than depend on the (static) address space gfp policy. The actual new function is a one-liner, but re-organizing the helper functions to the point where you can do this with a single line of code is what most of the patch is all about. Tested-by: Chris Wilson Signed-off-by: Linus Torvalds commit caf0801e0cc482497c14a9ce349469c33c60beec Merge: 5bc6d79 da48247 Author: Linus Torvalds Date: Wed Jan 27 02:49:10 2010 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, msr/cpuid: Pass the number of minors when unregistering MSR and CPUID drivers. x86: Remove "x86 CPU features in debugfs" (CONFIG_X86_CPU_DEBUG) Revert "x86: ucode-amd: Load ucode-patches once ..." x86: Disable HPET MSI on ATI SB700/SB800 x86: Set hotpluggable nodes in nodes_possible_map commit 5bc6d799e1158b0a9d99fe1d92b397214fa76f91 Merge: b04da8b 6abce77 Author: Linus Torvalds Date: Wed Jan 27 02:47:24 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix UP build. commit 21ec7f6dbf10492ce9a21718040677d3e68bd57d Author: Martin Schwidefsky Date: Wed Jan 27 10:12:40 2010 +0100 [S390] fix single stepped svcs with TRACE_IRQFLAGS=y If irq flags tracing is enabled the TRACE_IRQS_ON macros expands to a function call which clobbers registers %r0-%r5. The macro is used in the code path for single stepped system calls. The argument registers %r2-%r6 need to be restored from the stack before the system call function is called. Cc: stable@kernel.org Signed-off-by: Martin Schwidefsky commit 19b123ebacacdce5e75045bfe82122b01c821a5b Author: Felix Beck Date: Wed Jan 27 10:12:39 2010 +0100 [S390] zcrypt: Do not remove coprocessor for error 8/72 In a case where the number of the input data is bigger than the modulus of the key, the coprocessor adapters will report an 8/72 error. This case is not caught yet, thus the adapter will be taken offline. To prevent this, we return an -EINVAL instead. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 0b665d770d2d4dca8e9ea53129735fe214838ec9 Author: Hendrik Brueckner Date: Wed Jan 27 10:12:38 2010 +0100 [S390] sclp_vt220: set initial terminal window size When opening a SCLP VT220 terminal, the terminal window size is not initialized (defaults to zero). Since the SCLP VT220 terminal supports only 80x24, explicitly set the window size to prevent (n)curses applications from guessing the default setting. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 0b4d78903bf48fe6b125c4c9f0755437a4f21d47 Author: Martin Schwidefsky Date: Wed Jan 27 10:12:37 2010 +0100 [S390] use set_current_state in sigsuspend Use set_current_state instead of a direct assignment to set the task state of the current process. Signed-off-by: Martin Schwidefsky commit 428aecf67cf673d546627b2813bd4acabd20e3a9 Author: Heiko Carstens Date: Wed Jan 27 10:12:36 2010 +0100 [S390] irqflags: add missing types.h include Add missing types.h include. Otherwise would cause build breakages on hw breakpoint support, because of undefined BITS_PER_LONG. Also fix up the copyright line and remove the superfluous __KERNEL__ ifdef. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 294001a80c9810e2fe27aaaad7df8be12a103065 Author: Stefan Haberland Date: Wed Jan 27 10:12:35 2010 +0100 [S390] dasd: fix possible NULL pointer errors Fix possible NULL pointer in DASD messages and correct discipline checking. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit da482474b8396e1a099c37ffc6541b78775aedb4 Author: Russ Anderson Date: Tue Jan 26 20:37:22 2010 -0600 x86, msr/cpuid: Pass the number of minors when unregistering MSR and CPUID drivers. Pass the number of minors when unregistering MSR and CPUID drivers. Reported-by: Dean Nelson Signed-off-by: Dean Nelson LKML-Reference: <20100127023722.GA22305@sgi.com> Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit b04da8bfdfbbd79544cab2fadfdc12e87eb01600 Author: Greg Kroah-Hartman Date: Tue Jan 26 15:04:02 2010 -0800 fnctl: f_modown should call write_lock_irqsave/restore Commit 703625118069f9f8960d356676662d3db5a9d116 exposed that f_modown() should call write_lock_irqsave instead of just write_lock_irq so that because a caller could have a spinlock held and it would not be good to renable interrupts. Cc: Eric W. Biederman Cc: Al Viro Cc: Alan Cox Cc: Tavis Ormandy Cc: stable Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 6abce7711fcbd72b42f0c9632c1beccf4e674663 Author: David S. Miller Date: Tue Jan 26 04:16:49 2010 -0800 sparc64: Fix UP build. Can't reference irq_desc[].affinity when !SMP. Reported-by: Alexander Beregalov Signed-off-by: David S. Miller commit 9a3cbe3265c7714e8ee423feb6e27a080af79608 Merge: 01974ea 1296cc8 Author: Linus Torvalds Date: Mon Jan 25 19:05:06 2010 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag ext4: Fix quota accounting error with fallocate ext4: Handle -EDQUOT error on write commit 01974ea61fc22f086d2987b4b717cbda055f0d03 Merge: 7c1c05a ef39a1b Author: Linus Torvalds Date: Mon Jan 25 19:03:58 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] sbc_fitpc2_wdt: fix I/O space access technique. [WATCHDOG] ixp2000: Fix build failure caused by missing include commit 7c1c05afddf6bb0a4804cb506f3885248a749aa2 Merge: 486d35e 86f2ce0 Author: Linus Torvalds Date: Mon Jan 25 19:03:45 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: fix a memory-leak in wm8903 ALSA: hda - add possibility to choose speakers configuration for 4930g ALSA: hda - Fix HP T5735 automute ALSA: hda - Turn on EAPD only if available for Realtek codecs ALSA: hda - Fix parsing pin node 0x21 on ALC259 commit 486d35e2220acfe45d85131c557d94fe889184a2 Merge: a8d0b66 443c39b Author: Linus Torvalds Date: Mon Jan 25 19:02:31 2010 -0800 Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: x86: Fix leak of free lapic date in kvm_arch_vcpu_init() KVM: x86: Fix probable memory leak of vcpu->arch.mce_banks KVM: S390: fix potential array overrun in intercept handling KVM: fix spurious interrupt with irqfd eventfd - allow atomic read and waitqueue remove KVM: MMU: bail out pagewalk on kvm_read_guest error KVM: properly check max PIC pin in irq route setup KVM: only allow one gsi per fd KVM: x86: Fix host_mapping_level() KVM: powerpc: Show timing option only on embedded KVM: Fix race between APIC TMR and IRR commit a8d0b6666ecfe14226f1e46d693d5e2cde072337 Merge: c799d15 ebddd63 Author: Linus Torvalds Date: Mon Jan 25 19:02:06 2010 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: fix memory leak in update path UBI: add more checks to chdev open UBI: initialise update marker commit c799d15333ff52a3f19ca926636a7774a16cca58 Merge: abefedd c453615 Author: Linus Torvalds Date: Mon Jan 25 19:00:56 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: (fschmd) Fix a memleak on multiple opens of /dev/watchdog hwmon: (asus_atk0110) Do not fail if MBIF is missing hwmon: (amc6821) Double unlock bug hwmon: (smsc47m1) Fix section mismatch commit abefedd538f57f63199d821ade33f282e7fe0921 Merge: 840f51f 7087e16 Author: Linus Torvalds Date: Mon Jan 25 18:59:47 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: (95 commits) drm/radeon/kms: preface warning printk with driver name drm/radeon/kms: drop unnecessary printks. drm: fix regression in fb blank handling drm/radeon/kms: make hibernate work on IGPs drm/vmwgfx: Optimize memory footprint for DMA buffers. drm/ttm: Allow system memory as a busy placement. drm/ttm: Fix race condition in ttm_bo_delayed_delete (v3, final) drm/nv50: prevent switching off SOR when in use for DVI-over-DP drm/nv50: fail auxch transaction if reply count not what we expect drm/nouveau: fix failure path if userspace specifies no valid memtypes drm/nouveau: report LVDS as disconnected if lid closed drm/radeon/kms: fix legacy get_engine/memory clock drm/radeon/kms/atom: atom parser fixes drm/radeon/kms: clean up atombios pll code drm/radeon/kms: clean up pll struct drm/radeon/kms/atom: fix crtc lock ordering drm/radeon: r6xx/r7xx possible security issue, system ram access drm/radeon/kms: r600/r700 don't test ib if ib initialization fails drm/radeon/kms: Forbid creation of framebuffer with no valid GEM object drm/radeon/kms: r600 handle irq vector ring overflow ... commit 840f51ffe126123e748df0f36c411a90db1efd93 Merge: e219778 1091ce6 Author: Linus Torvalds Date: Mon Jan 25 18:57:25 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix IRQ ->set_affinity() methods. sparc: cpumask_of_node() should handle -1 as a node sparc64: Update defconfig. sparc: Add missing SW perf fault events. sparc64: Fully support both performance counters. sparc64: Add perf callchain support. sparc: convert to arch_gettimeoffset() sparc: leds_resource.end assigned to itself in clock_board_probe() sparc32: Fix page_to_phys(). sparc: Simplify param.h by simply including sparc32: Update defconfig. SPARC: use helpers for rlimits sparc: copy_from_user() should not return -EFAULT commit e2197787efe54c0dcbdc4f6acb6dabb65f27f347 Merge: 4f4e65d 39d3215 Author: Linus Torvalds Date: Mon Jan 25 18:57:07 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits) virtio_net: Make delayed refill more reliable sfc: Use fixed-size buffers for MCDI NVRAM requests sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer tcp_probe: avoid modulus operation and wrap fix qlge: Only free resources if they were allocated netns xfrm: deal with dst entries in netns sky2: revert config space change vlan: fix vlan_skb_recv() netns xfrm: fix "ip xfrm state|policy count" misreport sky2: Enable/disable WOL per hardware device net: Fix IPv6 GSO type checks in Intel ethernet drivers igb/igbvf: cleanup exception handling in tx_map_adv MAINTAINERS: Add Intel igbvf maintainer e1000/e1000e: don't use small hardware rx buffers fmvj18x_cs: add new id (Panasonic lan & modem card) be2net: swap only first 2 fields of mcc_wrb Please add support for Microsoft MN-120 PCMCIA network card be2net: fix bug in rx page posting wimax/i2400m: Add support for more i6x50 SKUs e1000e: enhance frame fragment detection ... commit 4f4e65d2484811210a2826fa9d59712c7fcf1b49 Merge: f6760aa 5c3db36 Author: Linus Torvalds Date: Mon Jan 25 18:56:12 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: (25 commits) OMAP2/3: DMTIMER: Clear pending interrupts when stopping a timer PM debug: Fix warning when no CONFIG_DEBUG_FS OMAP3: PM: DSS PM_WKEN to refill DMA OMAP: timekeeping: time should not stop during suspend OMAP3: PM: Force write last pad config register into save area OMAP: omap3_pm_get_suspend_state() error ignored in pwrdm_suspend_get() OMAP3: PM: Enable wake-up from McBSP2, 3 and 4 modules OMAP3: PM debug: fix build error when !CONFIG_DEBUG_FS OMAP3: PM: Removing redundant and potentially dangerous PRCM configration OMAP3: Fixed ARM aux ctrl register save/restore OMAP3: CPUidle: Fixed timer resolution OMAP3: PM: Remove duplicate code blocks OMAP3: PM: Disable interrupt controller AUTOIDLE before WFI OMAP3: PM: Enable system control module autoidle OMAP3: PM: Ack pending interrupts before entering suspend omap: Enable GPMC clock in gpmc_init OMAP1 clock: fix for "BUG: spinlock lockup on CPU#0" OMAP4: clocks: Fix the clksel_rate struct DPLL divs OMAP4: PRCM: Fix the base address for CHIRONSS reg defines OMAP: dma_chan[lch_head].flag & OMAP_DMA_ACTIVE tested twice in omap_dma_unlink_lch() ... commit 39d321577405e8e269fd238b278aaf2425fa788a Author: Herbert Xu Date: Mon Jan 25 15:51:01 2010 -0800 virtio_net: Make delayed refill more reliable I have seen RX stalls on a machine that experienced a suspected OOM. After the stall, the RX buffer is empty on the guest side and there are exactly 16 entries available on the host side. As the number of entries is less than that required by a maximal skb, the host cannot proceed. The guest did not have a refill job scheduled. My diagnosis is that an OOM had occured, with the delayed refill job scheduled. The job was able to allocate at least one skb, but not enough to overcome the minimum required by the host to proceed. As the refill job would only reschedule itself if it failed completely to allocate any skbs, this would lead to an RX stall. The following patch removes this stall possibility by always rescheduling the refill job until the ring is totally refilled. Testing has shown that the RX stall no longer occurs whereas previously it would occur within a day. Signed-off-by: Herbert Xu Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 5a27e86babe79cf5f575394bb1055448458df6c7 Author: Ben Hutchings Date: Mon Jan 25 15:49:59 2010 -0800 sfc: Use fixed-size buffers for MCDI NVRAM requests The low-level MCDI code always uses 32-bit MMIO operations, and callers must pad input and output buffers to multiples of 4 bytes. The MCDI NVRAM functions are not doing this. Also, their buffers are declared as variable-length arrays with no explicit maximum length. Switch to a fixed buffer size based on the chunk size used by the MTD driver (which is a multiple of 4). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8704a2c8e9db24157a7b08d1678bf840f2318779 Author: Guido Barzini Date: Mon Jan 25 15:49:19 2010 -0800 sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer Due to a hardware bug in the SFC9000 family, the firmware must transfer raw GMAC statistics to host memory before aggregating them into the cooked (speed-independent) MAC statistics. Extend the stats buffer to support this. The length of the buffer is explicit in the MAC_STATS command, so this change is backward-compatible on both sides. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f81074f86176605bfbfafb9944e27628a4e26ce6 Author: Stephen Hemminger Date: Mon Jan 25 15:47:50 2010 -0800 tcp_probe: avoid modulus operation and wrap fix By rounding up the buffer size to power of 2, several expensive modulus operations can be avoided. This patch also solves a bug where the gap need when ring gets full was not being accounted for. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4f9a91c81273b66afe0b6a9be460b47581b28246 Author: Breno Leitao Date: Mon Jan 25 15:46:58 2010 -0800 qlge: Only free resources if they were allocated Currently qlge tries to release regions even if they were not allocated. This causes messages like the following in the kernel log Trying to free nonexistent resource <00000000006af400-00000000006af4ff> Trying to free nonexistent resource <00003c04ff9f4000-00003c04ff9f7fff> Trying to free nonexistent resource <00003c04ffc00000-00003c04ffcfffff> This patch fixes the goto logic in order to not release the resources if they were not allocated. Signed-off-by: Breno Leitao Signed-off-by: David S. Miller commit ef39a1bf3c4fbdea085c618be424cc88b803f248 Author: Denis Turischev Date: Thu Jan 21 16:10:07 2010 +0200 [WATCHDOG] sbc_fitpc2_wdt: fix I/O space access technique. The mdelay function was used between I/O access commands, that causes peak in CPU usage. Fix it by substitution mdelay to msleep. Expand usage on fitPC2 compatible boards according to DMI identification. Signed-off-by: Denis Turischev Signed-off-by: Wim Van Sebroeck commit 86f2ce0347e9abae23e9106259602298f6732a90 Merge: 40aa703 973b8cb Author: Takashi Iwai Date: Mon Jan 25 17:00:01 2010 +0100 Merge branch 'fix/hda' into for-linus commit 40aa7030e5213a43e9e0554fd7f95534ea310bf3 Author: Guennadi Liakhovetski Date: Fri Jan 22 18:00:03 2010 +0100 ASoC: fix a memory-leak in wm8903 Remember to free the temporary register-cache. Signed-off-by: Guennadi Liakhovetski Acked-by: Liam Girdwood Signed-off-by: Mark Brown Cc: stable@kernel.org commit 443c39bc9ef7d8f648408d74c97e943f3bb3f48a Author: Wei Yongjun Date: Fri Jan 22 14:21:29 2010 +0800 KVM: x86: Fix leak of free lapic date in kvm_arch_vcpu_init() In function kvm_arch_vcpu_init(), if the memory malloc for vcpu->arch.mce_banks is fail, it does not free the memory of lapic date. This patch fixed it. Cc: stable@kernel.org Signed-off-by: Wei Yongjun Signed-off-by: Marcelo Tosatti commit 36cb93fd6b6bf7e9163a69a8bf20207aed5fea44 Author: Wei Yongjun Date: Fri Jan 22 14:18:47 2010 +0800 KVM: x86: Fix probable memory leak of vcpu->arch.mce_banks vcpu->arch.mce_banks is malloc in kvm_arch_vcpu_init(), but never free in any place, this may cause memory leak. So this patch fixed to free it in kvm_arch_vcpu_uninit(). Cc: stable@kernel.org Signed-off-by: Wei Yongjun Signed-off-by: Marcelo Tosatti commit 062d5e9b0d714f449b261bb522eadaaf6f00f438 Author: Christian Borntraeger Date: Thu Jan 21 12:19:07 2010 +0100 KVM: S390: fix potential array overrun in intercept handling kvm_handle_sie_intercept uses a jump table to get the intercept handler for a SIE intercept. Static code analysis revealed a potential problem: the intercept_funcs jump table was defined to contain (0x48 >> 2) entries, but we only checked for code > 0x48 which would cause an off-by-one array overflow if code == 0x48. Use the compiler and ARRAY_SIZE to automatically set the limits. Cc: stable@kernel.org Signed-off-by: Christian Borntraeger Signed-off-by: Marcelo Tosatti commit b6a114d27273c37cd0107b0f49af208168498f05 Author: Michael S. Tsirkin Date: Wed Jan 13 19:12:30 2010 +0200 KVM: fix spurious interrupt with irqfd kvm didn't clear irqfd counter on deassign, as a result we could get a spurious interrupt when irqfd is assigned back. this leads to poor performance and, in theory, guest crash. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit cb289d6244a37cf932c571d6deb0daa8030f931b Author: Davide Libenzi Date: Wed Jan 13 09:34:36 2010 -0800 eventfd - allow atomic read and waitqueue remove KVM needs a wait to atomically remove themselves from the eventfd ->poll() wait queue head, in order to handle correctly their IRQfd deassign operation. This patch introduces such API, plus a way to read an eventfd from its context. Signed-off-by: Davide Libenzi Signed-off-by: Avi Kivity commit a6085fbaf65ab09bfb5ec8d902d6d21680fe1895 Author: Marcelo Tosatti Date: Thu Jan 14 17:41:27 2010 -0200 KVM: MMU: bail out pagewalk on kvm_read_guest error Exit the guest pagetable walk loop if reading gpte failed. Otherwise its possible to enter an endless loop processing the previous present pte. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti commit d72118cecabbb76b96b77107a50c74d1bb36c0c1 Author: Marcelo Tosatti Date: Tue Jan 12 16:42:09 2010 -0200 KVM: properly check max PIC pin in irq route setup Otherwise memory beyond irq_states[16] might be accessed. Noticed by Juan Quintela. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Acked-by: Juan Quintela Signed-off-by: Avi Kivity commit f1d1c309f35e9b0fb961cffd70fbd04f450ec47c Author: Michael S. Tsirkin Date: Wed Jan 13 18:58:09 2010 +0200 KVM: only allow one gsi per fd Looks like repeatedly binding same fd to multiple gsi's with irqfd can use up a ton of kernel memory for irqfd structures. A simple fix is to allow each fd to only trigger one gsi: triggering a storm of interrupts in guest is likely useless anyway, and we can do it by binding a single gsi to many interrupts if we really want to. Cc: stable@kernel.org Signed-off-by: Michael S. Tsirkin Acked-by: Acked-by: Gregory Haskins Signed-off-by: Avi Kivity commit 82b7005f0e72d8d1a8226e4c192cbb0850d10b3f Author: Sheng Yang Date: Tue Jan 5 19:02:28 2010 +0800 KVM: x86: Fix host_mapping_level() When found a error hva, should not return PAGE_SIZE but the level... Also clean up the coding style of the following loop. Cc: stable@kernel.org Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit e1f829b6f453c7985cfdfab616994b4051c3d788 Author: Alexander Graf Date: Sun Dec 20 22:24:06 2009 +0100 KVM: powerpc: Show timing option only on embedded Embedded PowerPC KVM has an exit timing implementation to track and evaluate how much time was spent in which exit path. For Book3S, we don't implement it. So let's not expose it as a config option either. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit a5d36f82c4f3e852b61fdf1fee13463c8aa91b90 Author: Avi Kivity Date: Tue Dec 29 12:42:16 2009 +0200 KVM: Fix race between APIC TMR and IRR When we queue an interrupt to the local apic, we set the IRR before the TMR. The vcpu can pick up the IRR and inject the interrupt before setting the TMR, and perhaps even EOI it, causing incorrect behaviour. The race is really insignificant since it can only occur on the first interrupt (usually following interrupts will not change TMR), but it's better closed than open. Fixed by reordering setting the TMR vs IRR. Cc: stable@kernel.org Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit c453615f77aa51593c1c9c9031b4278797d3fd19 Author: Hans de Goede Date: Mon Jan 25 15:00:50 2010 +0100 hwmon: (fschmd) Fix a memleak on multiple opens of /dev/watchdog When /dev/watchdog gets opened a second time we return -EBUSY, but we already have got a kref then, so we end up leaking our data struct. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 5542482b9c61c2588f1178f315310a794988051a Author: Luca Tettamanti Date: Mon Jan 25 15:00:49 2010 +0100 hwmon: (asus_atk0110) Do not fail if MBIF is missing MBIF (motherboard identification) is only used to print the name of the board, it's not essential for the driver; do not fail if it's missing. Based on Juan's patch. Signed-off-by: Luca Tettamanti Acked-by: Juan RP Signed-off-by: Jean Delvare commit 316e2664dcc82e9c5f73360a4fb8f9279a8152ed Author: Dan Carpenter Date: Mon Jan 25 15:00:49 2010 +0100 hwmon: (amc6821) Double unlock bug The mutex gets unlocked after we goto EXIT. Signed-off-by: Dan Carpenter Signed-off-by: Jean Delvare commit a00d643a2a841e76dfb76ec4f8a1e71844252974 Author: Jeff Mahoney Date: Mon Jan 25 15:00:48 2010 +0100 hwmon: (smsc47m1) Fix section mismatch smsc47m1_restore is called from sm_smsc47m1_exit, which is an __exit function, so it can't be __init. Signed-off-by: Jeff Mahoney Signed-off-by: Jean Delvare commit 973b8cb0ead3e0b1dd3ee7b2df52e4dff1ffc707 Author: Łukasz Wojniłowicz Date: Sun Jan 24 14:12:37 2010 +0100 ALSA: hda - add possibility to choose speakers configuration for 4930g Now one can choose speaker configuration in e.g. PulseAudio mixer Signed-off-by: Łukasz Wojniłowicz Signed-off-by: Takashi Iwai commit d7c7544c3d5f59033d1bf3236bc7b289f5f26b75 Author: Alexey Dobriyan Date: Sun Jan 24 22:47:53 2010 -0800 netns xfrm: deal with dst entries in netns GC is non-existent in netns, so after you hit GC threshold, no new dst entries will be created until someone triggers cleanup in init_net. Make xfrm4_dst_ops and xfrm6_dst_ops per-netns. This is not done in a generic way, because it woule waste (AF_MAX - 2) * sizeof(struct dst_ops) bytes per-netns. Reorder GC threshold initialization so it'd be done before registering XFRM policies. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a40ccc6868943e74ec12f26a266ce1d0373b2b32 Author: stephen hemminger Date: Sun Jan 24 18:46:06 2010 +0000 sky2: revert config space change Obviously, this register had some other impact that is causing the regression. Either it is masking some other access or needs to be reset in some path. Either, way it is best to just revert the change for 2.6.33 This reverts commit 166a0fd4c788ec7f10ca8194ec6d526afa12db75. Signed-off-by: David S. Miller commit 7087e16286913b41ba9a5186360645b57b8508dd Author: Dave Airlie Date: Mon Jan 25 16:13:55 2010 +1000 drm/radeon/kms: preface warning printk with driver name This just adds a little more info to the warning for old -ati/mesa userspaces. Signed-off-by: Dave Airlie commit f2ab3a13d2cbe19426c27c35a014c98212e914a5 Author: Dave Airlie Date: Mon Jan 25 16:13:12 2010 +1000 drm/radeon/kms: drop unnecessary printks. These printks aren't required anymore. Signed-off-by: Dave Airlie commit 5fd4df4d475a7fee96fff54f6341192f547984e0 Author: Zhenyu Wang Date: Mon Jan 18 16:47:04 2010 +0800 drm: fix regression in fb blank handling commit 731b5a15a3b1474a41c2ca29b4c32b0f21bc852e Author: James Simmons Date: Thu Oct 29 20:39:07 2009 +0000 drm/kms: properly handle fbdev blanking uses DRM_MODE_DPMS_ON for FB_BLANK_NORMAL, but DRM_MODE_DPMS_ON is actually for turning output on instead of blank. This makes fb blank broken on my T61, it put LVDS on but leave pipe disabled which made screen totally white or caused some 'burning' effect. [airlied: James objects to this but at this point in 2.6.33, I can't see a patch that will fix this properly like he wants coming in time and otherwise this is a regression - proper fix for 2.6.34 hopefully.] Cc: James Simmons Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit d796d8446fe0ff4442c1a1d0b10c861f17ac8168 Author: Dave Airlie Date: Mon Jan 25 13:08:08 2010 +1000 drm/radeon/kms: make hibernate work on IGPs This is the least invasive fix without migrating the radeon driver to pm_ops from what I can see. We just always migrate VRAM objects on IGPs for now and we can fix it up later to migrate depending on STR vs STD. Signed-off-by: Dave Airlie commit 8ba5152a3acd5914cade42a1c8c9dc58ad8d1a89 Author: Thomas Hellstrom Date: Sat Jan 16 16:05:05 2010 +0100 drm/vmwgfx: Optimize memory footprint for DMA buffers. Use VRAM whenever there is free space for DMA buffers, but use system GMR memory if using VRAM would cause an eviction. This significantly reduces the guest system memory usage for VMs with a large amount of VRAM allocated. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 0eaddb28d3460f13102cd82cf58af875bfb1bd53 Author: Thomas Hellstrom Date: Sat Jan 16 16:05:04 2010 +0100 drm/ttm: Allow system memory as a busy placement. This is needed to fix a vmwgfx memory usage bug. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 9299795c6e1e11b2d1e6f53a03902dc80cfb3320 Merge: 8d586fe 38678d3 Author: Dave Airlie Date: Mon Jan 25 16:04:21 2010 +1000 Merge remote branch 'korg/drm-radeon-next' into drm-linus * korg/drm-radeon-next: drm/radeon/kms: fix legacy get_engine/memory clock drm/radeon/kms/atom: atom parser fixes drm/radeon/kms: clean up atombios pll code drm/radeon/kms: clean up pll struct drm/radeon/kms/atom: fix crtc lock ordering drm/radeon: r6xx/r7xx possible security issue, system ram access drm/radeon/kms: r600/r700 don't test ib if ib initialization fails drm/radeon/kms: Forbid creation of framebuffer with no valid GEM object drm/radeon/kms: r600 handle irq vector ring overflow drm/radeon/kms: r600/r700 don't process IRQ if not initialized drm/radeon/kms: r600/r700 disable irq at suspend drm/radeon/kms/r4xx: cleanup atom path drm/radeon/kms: fix atombios_crtc_set_base drm/radeon/kms/atom: upstream parser updates drm/radeon/kms/atom: fix some parser bugs drm/radeon/kms: fix hardcoded mmio size in register functions drm/radeon/kms/r100: fix bug in CS parser drm/radeon/kms/r200: fix bug in CS parser drm/radeon/kms/r200: fix bug in CS parser commit 8d586fe65a33b1a3a2a2539119248ce12f4bab50 Merge: 1a961ce 1622653 Author: Dave Airlie Date: Mon Jan 25 16:04:11 2010 +1000 Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus * 'nouveau/for-airlied' of ../drm-nouveau-next: drm/nv50: prevent switching off SOR when in use for DVI-over-DP drm/nv50: fail auxch transaction if reply count not what we expect drm/nouveau: fix failure path if userspace specifies no valid memtypes drm/nouveau: report LVDS as disconnected if lid closed drm/nv50: prevent accidently turning off encoders we're actually using drm/nv50: fix alignment of per-channel fifo cache drm/nouveau: Evict buffers in VRAM before freeing sgdma drm/nouveau: Acknowledge DMA_VTX_PROTECTION PGRAPH interrupts drm/nouveau: fix thinko in nv04_instmem.c drm/nouveau: fix a race condition in nouveau_dma_wait() commit 2dc85e91d05be91343033df78e4e6d99dc7ea50e Author: Eric Dumazet Date: Sun Jan 24 19:52:24 2010 -0800 vlan: fix vlan_skb_recv() Bruno Prémont found commit 9793241fe92f7d930 (vlan: Precise RX stats accounting) added a regression for non hw accelerated vlans. [ 26.390576] BUG: unable to handle kernel NULL pointer dereference at (null) [ 26.396369] IP: [] vlan_skb_recv+0x89/0x280 [8021q] vlan_dev_info() was used with original device, instead of skb->dev. Also spotted by Américo Wang. Reported-By: Bruno Prémont Tested-By: Bruno Prémont Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1a961ce09fe39df9a1b796df98794fd32c76c413 Author: Luca Barbieri Date: Wed Jan 20 20:01:30 2010 +0100 drm/ttm: Fix race condition in ttm_bo_delayed_delete (v3, final) Resending this with Thomas Hellstrom's signoff for merging into 2.6.33 ttm_bo_delayed_delete has a race condition, because after we do: kref_put(&nentry->list_kref, ttm_bo_release_list); we are not holding the list lock and not holding any reference to objects, and thus every bo in the list can be removed and freed at this point. However, we then use the next pointer we stored, which is not guaranteed to be valid. This was apparently the cause of some Nouveau oopses I experienced. This patch rewrites the function so that it keeps the reference to nentry until nentry itself is freed and we already got a reference to nentry->next. v2 updated by me according to Thomas Hellstrom's feedback. v3 proposed by Thomas Hellstrom. Commit comment updated by me. Both updates fixed minor efficiency/style issues only and all three versions should be correct. Signed-off-by: Luca Barbieri Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 162265367a96d381f07066581d65e52627b08618 Author: Ben Skeggs Date: Fri Jan 22 10:57:01 2010 +1000 drm/nv50: prevent switching off SOR when in use for DVI-over-DP Another hack because of us exposing each encoder block's function as an encoder rather than exposing a single encoder that deals with them all. A proper fix will come, it's just rather invasive so this hack will do until then. Signed-off-by: Ben Skeggs commit 0107bae01add219e1a146f2b412d64a7f1946028 Author: Ben Skeggs Date: Fri Jan 22 09:10:05 2010 +1000 drm/nv50: fail auxch transaction if reply count not what we expect Signed-off-by: Ben Skeggs commit 0208843dd59330c30e0773c77d5362260aa340e0 Author: Ben Skeggs Date: Thu Jan 21 15:03:23 2010 +1000 drm/nouveau: fix failure path if userspace specifies no valid memtypes We need to add the buffer to the list even if we fail, otherwise the validate_fini() call won't unreserve + unreference the GEM object, making TTM very unhappy. Signed-off-by: Ben Skeggs commit a1470890f29da73783e932078ed911f5871e3ad3 Author: Ben Skeggs Date: Mon Jan 18 11:42:37 2010 +1000 drm/nouveau: report LVDS as disconnected if lid closed Also adds a module option to ignore the status reported via ACPI, in case we hit systems with broken ACPI. Signed-off-by: Ben Skeggs commit f6760aa024199cfbce564311dc4bc4d47b6fb349 Merge: 90ea301 ea9d8e3 Author: Linus Torvalds Date: Sun Jan 24 10:38:07 2010 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: Don't remove broadcast device when cpu is dead commit 90ea301916688d010862395b00817f3c1c8e09a4 Merge: b8be634 4927fbf Author: Linus Torvalds Date: Sun Jan 24 10:37:51 2010 -0800 Merge branch 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux * 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux: i2c: imx: call ioremap only after request_mem_region i2c: mxc: let time to generate stop bit commit b8be634e01b400fa2528848ad0cd6a5580a15bc4 Merge: 298a4c3 f5e2bae Author: Linus Torvalds Date: Sun Jan 24 10:31:34 2010 -0800 Merge git://git.infradead.org/~dwmw2/mtd-2.6.33 * git://git.infradead.org/~dwmw2/mtd-2.6.33: mtd: tests: fix read, speed and stress tests on NOR flash mtd: Really add ARM pismo support kmsg_dump: Dump on crash_kexec as well commit 4927fbf11dc1057cd9c94dd40358e5f98c999311 Author: Uwe Kleine-König Date: Fri Jan 8 17:23:17 2010 +0100 i2c: imx: call ioremap only after request_mem_region accordingly adapt order of release_mem_region and release_mem_region on remove. Signed-off-by: Uwe Kleine-König Cc: Ben Dooks Cc: Wolfram Sang Cc: Richard Zhao Cc: Darius Augulis Cc: Sascha Hauer Cc: linux-i2c@vger.kernel.org Acked-by: Wolfram Sang Signed-off-by: Ben Dooks commit a1ee06b72968d80ab9362ec61143c4f090cc2d1b Author: Valentin Longchamp Date: Thu Jan 21 18:55:32 2010 +0100 i2c: mxc: let time to generate stop bit After generating the stop bit by changing MSTA from 1 to 0, the i2c_imx->stopped was immediatly set to 1. The second test on i2c_imx->stopped then is correct and the controller never waits if the bus is busy. This patch corrects this. On mx31moboard, stop bit was not generated on single write transfers. This was kept unnoticed as other transfers are made afterwards that help the write recipient to resynchronize. Thanks to Philippe and Michael for the debugging. Signed-off-by: Valentin Longchamp Signed-off by: Philippe Rétornaz Reported-by: Michael Bonani Acked-by; Wolfram Sang Signed-off-by: Ben Dooks commit 38678d3557420a1c40f7ad5a04a46a7de7a305b9 Author: Alex Deucher Date: Thu Jan 21 19:28:18 2010 -0500 drm/radeon/kms: fix legacy get_engine/memory clock Fix a bad shift in the post div. Should fix fdo bug 26145 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 947bfc83043181e86e3e3134da158e479c9bcc51 Author: Alex Deucher Date: Thu Jan 21 17:14:49 2010 -0500 drm/radeon/kms/atom: atom parser fixes Only reset the reg block on the initial execute table call; nested calls require the reg block not be reset on each call. Also reset the fb window and io mode. This matches the upstream parser behavior. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 4eaeca33512b9774c25507b9a9bdcfe3791a5cc5 Author: Alex Deucher Date: Tue Jan 19 17:32:27 2010 -0500 drm/radeon/kms: clean up atombios pll code - split pll adjust into a separate function - use a union for SetPixelClock params Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit fc10332b8ac5ca32d11f898027d84c007543bd80 Author: Alex Deucher Date: Tue Jan 19 17:16:10 2010 -0500 drm/radeon/kms: clean up pll struct - add a new flag for fixed post div - pull the pll flags into the struct Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a348c84d953f61c776e53cde0a63a4e407a23c18 Author: Alex Deucher Date: Thu Jan 21 16:50:30 2010 -0500 drm/radeon/kms/atom: fix crtc lock ordering This makes crtc_prepare and crtc_commit match. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit e071041be037eca208b62b84469a06bdfc692bea Author: Alexey Dobriyan Date: Sat Jan 23 13:37:10 2010 +0000 netns xfrm: fix "ip xfrm state|policy count" misreport "ip xfrm state|policy count" report SA/SP count from init_net, not from netns of caller process. Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b160091802d4a76dd063facb09fcf10bf5d5d747 Author: H. Peter Anvin Date: Sat Jan 23 18:27:47 2010 -0800 x86: Remove "x86 CPU features in debugfs" (CONFIG_X86_CPU_DEBUG) CONFIG_X86_CPU_DEBUG, which provides some parsed versions of the x86 CPU configuration via debugfs, has caused boot failures on real hardware. The value of this feature has been marginal at best, as all this information is already available to userspace via generic interfaces. Causes crashes that have not been fixed + minimal utility -> remove. See the referenced LKML thread for more information. Reported-by: Ozan Çağlayan Signed-off-by: H. Peter Anvin LKML-Reference: Cc: Jaswinder Singh Rajput Cc: Linus Torvalds Cc: Rafael J. Wysocki Cc: Yinghai Lu Cc: commit 2ca4231de7f7a5fd7137bac152030ba71f15e8c3 Author: Mike McCormack Date: Sat Jan 23 02:09:26 2010 -0800 sky2: Enable/disable WOL per hardware device Y2_HW_WOL_ON/Y2_HW_WOL_OFF should be set and cleared per chip, not per port. On dual port cards, Y2_HW_WOL_ON should be enabled if either sky2 port has WOL enabled. Found while reviewing code for a WOL regression, though this is probably not the cause of the regression. Signed-off-by: Mike McCormack Signed-off-by: David S. Miller commit 8e1e8a4779cb23c1d9f51e9223795e07ec54d77a Author: Sridhar Samudrala Date: Sat Jan 23 02:02:21 2010 -0800 net: Fix IPv6 GSO type checks in Intel ethernet drivers Found this problem when testing IPv6 from a KVM guest to a remote host via e1000e device on the host. The following patch fixes the check for IPv6 GSO packet in Intel ethernet drivers to use skb_is_gso_v6(). SKB_GSO_DODGY is also set when packets are forwarded from a guest. Signed-off-by: Sridhar Samudrala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8581145f39c39b00cd1b6a2dcb4ce5bf7d8d6070 Author: Alexander Duyck Date: Sat Jan 23 01:35:00 2010 -0800 igb/igbvf: cleanup exception handling in tx_map_adv After removing the skb_dma_map/unmap calls the exception handling in igb_tx_map_adv is not correct. The issue is that the count value was not being correctly handled so as a result we were not rewinding the ring as back as we should have been. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit de4fc07aff770743b2c3e3ee30a23a691450a4f6 Author: Jeff Kirsher Date: Sat Jan 23 01:20:22 2010 -0800 MAINTAINERS: Add Intel igbvf maintainer Add igbvf to the list of supported Intel drivers and Alex to the list of maintainers. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9926146b15fd96d78a4f7c32e7a26d50639369f4 Author: Jesse Brandeburg Date: Fri Jan 22 22:56:16 2010 +0000 e1000/e1000e: don't use small hardware rx buffers When testing the "e1000: enhance frame fragment detection" (and e1000e) patches we found some bugs with reducing the MTU size. The 1024 byte descriptor used with the 1000 mtu test also (re) introduced the (originally) reported bug, and causes us to need the e1000_clean_tx_irq "enhance frame fragment detection" fix. So what has occured here is that 2.6.32 is only vulnerable for mtu < 1500 due to the jumbo specific routines in both e1000 and e1000e. So, 2.6.32 needs the 2kB buffer len fix for those smaller MTUs, but is not vulnerable to the original issue reported. It has been pointed out that this vulnerability needs to be patched in older kernels that don't have the e1000 jumbo routine. Without the jumbo routines, we need the "enhance frame fragment detection" fix the e1000, old e1000e is only vulnerable for < 1500 mtu, and needs a similar fix. We split the patches up to provide easy backport paths. There is only a slight bit of extra code when this fix and the original "enhance frame fragment detection" fixes are applied, so please apply both, even though it is a bit of overkill. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 33d7959a7a9ef36573bfd0cc85ebef29ed4b846d Author: Ken Kawasaki Date: Fri Jan 22 11:56:25 2010 +0000 fmvj18x_cs: add new id (Panasonic lan & modem card) fmvj18x_cs, serial_cs: add new id Panasonic lan & modem card (model name:AL-VML101) Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit fa4281bbbcb44d1f8bdac894ad0696535272cc43 Author: Sathya Perla Date: Thu Jan 21 22:51:36 2010 +0000 be2net: swap only first 2 fields of mcc_wrb Only the first two fields of mcc wrb - embedded, payload_len need to be cpu_to_le32() swapped while issuing a cmd to the hw. The fields tag0, tag1 are opaque and returned back to cpu as is... Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 60abe78279568a7109db2bcbc71131766a91c2e5 Author: Ron Murray Date: Tue Jan 19 08:02:48 2010 +0000 Please add support for Microsoft MN-120 PCMCIA network card Please add support for Microsoft MN-120 PCMCIA network card. It's an old card, I know, but adding support is very easy. You just need to get tulip_core.c to recognise its vendor/device ID. Patch for kernel 2.6.32.4 (and many previous) attached. .....Ron Murray Signed-off-by: Ron Murray Signed-off-by: David S. Miller commit f9fd2394b194b6dcc596961021d16dbc5b222265 Merge: 6be3257 b811246 Author: David S. Miller Date: Sat Jan 23 01:08:39 2010 -0800 Merge branch 'linux-2.6.33.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit 6be325719b3e54624397e413efd4b33a997e55a3 Merge: 26d92f9 92dcffb Author: David S. Miller Date: Fri Jan 22 22:45:46 2010 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 3b2e3d85aeb80769fb96c15ee4f6e14135328471 Author: Andreas Herrmann Date: Fri Jan 22 21:34:56 2010 +0100 Revert "x86: ucode-amd: Load ucode-patches once ..." Commit d1c84f79a6ba992dc01e312c44a21496303874d6 leads to a regression when microcode_amd.c is compiled into the kernel. It causes a big boot delay because the firmware is not available. See http://marc.info/?l=linux-kernel&m=126267290920060 It also renders the reload sysfs attribute useless. Fixing this is too intrusive for an -rc5 kernel. Thus I'd like to restore the microcode loading behaviour of kernel 2.6.32. CC: Gene Heskett Signed-off-by: Andreas Herrmann LKML-Reference: <20100122203456.GB13792@alberich.amd.com> Signed-off-by: H. Peter Anvin commit 73472a46b5b28116b145fb5fc05242c1aa8e1461 Author: Pallipadi, Venkatesh Date: Thu Jan 21 11:09:52 2010 -0800 x86: Disable HPET MSI on ATI SB700/SB800 HPET MSI on platforms with ATI SB700/SB800 as they seem to have some side-effects on floppy DMA. Do not use HPET MSI on such platforms. Original problem report from Mark Hounschell http://lkml.indiana.edu/hypermail/linux/kernel/0912.2/01118.html [ This patch needs to go to stable as well. But, there are some conflicts that prevents the patch from going as is. I can rebase/resubmit to stable once the patch goes upstream. hpa: still Cc:'ing stable@ as an FYI. ] Tested-by: Mark Hounschell Signed-off-by: Venkatesh Pallipadi Cc: LKML-Reference: <20100121190952.GA32523@linux-os.sc.intel.com> Signed-off-by: H. Peter Anvin commit 3a5fc0e40cb467e692737bc798bc99773c81e1e2 Author: David Rientjes Date: Wed Jan 20 12:10:47 2010 -0800 x86: Set hotpluggable nodes in nodes_possible_map nodes_possible_map does not currently include nodes that have SRAT entries that are all ACPI_SRAT_MEM_HOT_PLUGGABLE since the bit is cleared in nodes_parsed if it does not have an online address range. Unequivocally setting the bit in nodes_parsed is insufficient since existing code, such as acpi_get_nodes(), assumes all nodes in the map have online address ranges. In fact, all code using nodes_parsed assumes such nodes represent an address range of online memory. nodes_possible_map is created by unioning nodes_parsed and cpu_nodes_parsed; the former represents nodes with online memory and the latter represents memoryless nodes. We now set the bit for hotpluggable nodes in cpu_nodes_parsed so that it also gets set in nodes_possible_map. [ hpa: Haicheng Li points out that this makes the naming of the variable cpu_nodes_parsed somewhat counterintuitive. However, leave it as is in the interest of keeping the pure bug fix patch small. ] Signed-off-by: David Rientjes Tested-by: Haicheng Li LKML-Reference: Cc: Signed-off-by: H. Peter Anvin commit 26d92f9276a56d55511a427fb70bd70886af647a Author: Sathya Perla Date: Thu Jan 21 22:52:08 2010 -0800 be2net: fix bug in rx page posting Pages are posted to the rxq in such a way that more than one frag can share the page. The last frag that uses the page unmaps the page. In the case when a page is not fully used (due to lack of space in rxq) the last frag that uses the page is not being set as a "last_page_user"; instead, the next frag in the rxq is incorrectly being set. The fix has also been tested on ppc64 with 64k pages... Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 5c3db36bf68bb9f682a0188d81dc184f5e62a6e4 Author: Tero Kristo Date: Fri Oct 23 19:03:47 2009 +0300 OMAP2/3: DMTIMER: Clear pending interrupts when stopping a timer OMAP GP timers keep running for a few cycles after they are stopped, which can cause the timer to expire and generate an interrupt. The pending interrupt will prevent e.g. OMAP from entering suspend, thus we ack it manually. Only applicable on OMAP2/3/4. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 298a4c3a57fed38df365a6807728d1930a72c728 Merge: 92dcffb 1619ce1 Author: Linus Torvalds Date: Thu Jan 21 17:33:23 2010 -0800 Merge branch 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux * 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux: hmt: adjust for new pwm_backlight->notify prototype commit 1619ce111492d733d425acbacec9a2cb2ba16ed9 Author: Peter Korsgaard Date: Thu Jan 21 22:56:58 2010 +0100 hmt: adjust for new pwm_backlight->notify prototype Commit cfc38999f (backlight: Pass device through notify callback) added a struct device argument to the notify callback, but didn't update the user of it in mach-hmt.c Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit b81124696e6a47d5db02b2b3561d66d1392b0f2f Author: Inaky Perez-Gonzalez Date: Wed Jan 20 12:41:13 2010 -0800 wimax/i2400m: Add support for more i6x50 SKUs The Intel WiMax Wireless Link 6050 can show under more than one USB ID. Add support for all, introducing a generic flag (i2400mu->i6050) that denotes a 6x50 based device. Signed-off-by: Inaky Perez-Gonzalez commit 1091ce6215a1cab60c3a4601a569cb727ca8637a Author: David S. Miller Date: Wed Jan 20 19:30:49 2010 -0800 sparc64: Fix IRQ ->set_affinity() methods. As noted by Benjamin Herrenschmidt, the generic IRQ layer only sets irq_desc[irq].affinity after ->set_affinity() succeeds. So we have to use the passed in cpumask. Signed-off-by: David S. Miller commit e5981fd6d77c63c003cac44ab52da72994e7ead3 Author: Anton Blanchard Date: Wed Jan 6 04:55:14 2010 +0000 sparc: 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: David S. Miller commit b2d959173fea3e04229b2ff33473b5a031669f66 Merge: ccaae27 1daa8c1 Author: Tony Lindgren Date: Wed Jan 20 18:21:01 2010 -0800 Merge branch 'omap-fixes' into omap-fixes-for-linus commit ccaae273c3f92d7e7acb796d6747077a93dcca4b Merge: fa8d1d6 6b34f9d Author: Tony Lindgren Date: Wed Jan 20 18:20:47 2010 -0800 Merge branch 'pm-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-fixes-for-linus commit 6b34f9d4e60a4fb9f847533a207e31316603e840 Author: Sergio Aguirre Date: Thu Jan 14 11:01:15 2010 -0600 PM debug: Fix warning when no CONFIG_DEBUG_FS Fix following warning when CONFIG_DEBUG_FS wasn't selected: arch/arm/mach-omap2/pm-debug.c:57: warning: 'pm_dbg_init' declared 'static' but never defined Signed-off-by: Sergio Aguirre Signed-off-by: Kevin Hilman commit b92c5721d28507738d294e9a582eb6232ec6abad Author: Subramani Venkatesh Date: Tue Dec 22 15:07:50 2009 +0530 OMAP3: PM: DSS PM_WKEN to refill DMA Currently, DSS does not wakeup when there is a DMA request. DSS wake up event must be enabled so that the DMA request to refill the FIFO will wake up the CORE domain. Signed-off-by: Subramani Venkatesh Signed-off-by: Kevin Hilman commit d92cfcbe39fdb2328a28b5505f31cb8be40fc339 Author: Kevin Hilman Date: Thu Sep 24 16:35:48 2009 -0700 OMAP: timekeeping: time should not stop during suspend During suspend, the kernel timekeeping subsystem is shut down. Before suspend and upon resume, it uses a weak function read_persistent_clock() to determine the amount of time that elapsed during suspend. This function was not implemented on OMAP, so from the timekeeping subsystem perspective (and thus userspace as well) it appeared that no time elapsed during suspend. This patch uses the 32k sync timer as a the persistent clock. NOTE: This does *NOT* fully handle wrapping of the 32k sync timer, so more than one wrapping of the 32k sync timer during suspend may cause problems. Also note there are not interrupts when the 32k sync timer wraps, so something else has to be done. Reported-by: Jon Hunter Signed-off-by: Kevin Hilman commit dccaad895094a699c37c065bff3fa9bb997daeb9 Author: Tero Kristo Date: Tue Nov 17 18:34:53 2009 +0200 OMAP3: PM: Force write last pad config register into save area Due to OMAP3 erratas 1.157, 1.185 the save of the last pad register (ETK_D14 and ETK_D15) can fail sometimes when there is simultaneous OCP access to the SCM register area. Fixed by writing the last register to the save area. Also, optimized the delay loop for the HW save to include an udelay(1), which limits the number of unnecessary HW accesses to SCM register area during the save. Signed-off-by: Tero Kristo Acked-by: Nishanth Menon Reviewed-by: Anand Gadiyar Signed-off-by: Kevin Hilman commit 61b17d972f60fb8097592cadee2a2dd594285ff6 Author: Roel Kluin Date: Wed Dec 16 17:22:04 2009 +0100 OMAP: omap3_pm_get_suspend_state() error ignored in pwrdm_suspend_get() val is an u64 pointer, we need an int to check the error. Signed-off-by: Roel Kluin Signed-off-by: Kevin Hilman commit e3d9329640e4b291cdd2c6d178774c28bba47d59 Author: Peter Ujfalusi Date: Thu Nov 26 15:18:50 2009 +0200 OMAP3: PM: Enable wake-up from McBSP2, 3 and 4 modules Wake-up from McBSP ports are needed, especially when the THRESHOLD dma mode is in use for audio playback. Signed-off-by: Peter Ujfalusi Signed-off-by: Kevin Hilman commit ae559d8769531ab8895d241107a10fbe320b3b7f Author: Manjunatha GK Date: Mon Nov 16 20:16:52 2009 +0530 OMAP3: PM debug: fix build error when !CONFIG_DEBUG_FS The PM debug code fails to build on when CONFIG_DEBUG_FS is not enabled. Build error log: arch/arm/mach-omap2/built-in.o: In function `omap_sram_idle': arch/arm/mach-omap2/pm34xx.c:449: undefined reference to `pm_dbg_regset_save' arch/arm/mach-omap2/pm34xx.c:460: undefined reference to `pm_dbg_regset_save' arch/arm/mach-omap2/built-in.o: In function `configure_vc': arch/arm/mach-omap2/pm34xx.c:1237: undefined reference to `pm_dbg_regset_init' arch/arm/mach-omap2/pm34xx.c:1238: undefined reference to `pm_dbg_regset_init' make: *** [.tmp_vmlinux1] Error 1 This patch fixes the above errors. Kernel booting is tested on omap zoom2 and zoom3 boards. Signed-off-by: Manjunatha GK Signed-off-by: Kevin Hilman commit 8640425b265752a1b7bae041815872cda5b72a2f Author: Sripathy, Vishwanath Date: Mon Nov 16 16:41:40 2009 +0530 OMAP3: PM: Removing redundant and potentially dangerous PRCM configration As part of Core domain context restoration while coming out of off mode there are some registers being restored which are not required to be restored. ROM code will have restored them already. Overwriting some of them can have potential side effect. Eg: CM_CLKEN_PLL register should not be written while dpll is locked. Tested on OMAP 3430 SDP for suspend/resume and off mode with sleep_while_idle enabled. Signed-off-by: Vishwanath BS Signed-off-by: Kevin Hilman commit a087cad92c0d83f096024d6ec8c8a8f6b6286811 Author: Tero Kristo Date: Thu Nov 12 12:07:20 2009 +0200 OMAP3: Fixed ARM aux ctrl register save/restore Current value is stored on SDRAM and it is written back during wakeup. Previously a static value of 0x72 was written there. Signed-off-by: Tero Kristo Acked-by: Thara Gopinath Signed-off-by: Kevin Hilman commit afbcf6197d78aed814e90bad6099ecfbeb756ec1 Author: Tero Kristo Date: Mon Oct 26 15:10:40 2009 +0200 OMAP3: CPUidle: Fixed timer resolution Previously used u32 as temporary data storage that wraps around at 4.294s. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit a174e609b5b9b3bc1c5859402be8d8d88f6e098c Author: Sanjeev Premi Date: Mon Nov 2 20:23:38 2009 +0530 OMAP3: PM: Remove duplicate code blocks This patch removes code blocks that are repeated in function prcm_setup_regs(). Signed-off-by: Sanjeev Premi Signed-off-by: Kevin Hilman commit f18cc2ff5e18e8eb6df5284866331ef4a2db58d6 Author: Tero Kristo Date: Fri Oct 23 19:03:50 2009 +0300 OMAP3: PM: Disable interrupt controller AUTOIDLE before WFI OMAP interrupt controller goes to unknown state when there is right combination of l3,l4 sleep/wake-up transitions, l4 autoidle in interrupt controller and some interrupt. When this happens, interrupts are not delivered to ARM anymore and ARM will remain in WFI (wait for interrupt) until interrupt controller is forced to wake-up (i.e. lauterbach). Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit b296c8118b26a359b027b8c9bb9f5f41dc7693fa Author: Tero Kristo Date: Fri Oct 23 19:03:49 2009 +0300 OMAP3: PM: Enable system control module autoidle Enable the auto-idle feature of the SCM block to save some additional power. Signed-off-by: Mika Westerberg Signed-off-by: Kevin Hilman commit 2bbe3af3f1e1c1d0992c984e05d061ef5469edb4 Author: Tero Kristo Date: Fri Oct 23 19:03:48 2009 +0300 OMAP3: PM: Ack pending interrupts before entering suspend Suspending drivers may still generate interrupts just before their suspend is completed. Any pending interrupts here will prevent sleep. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit fa8d1d6c2a72659f773f919c4356b68884c875d0 Merge: 7284ce6 af022fa Author: Tony Lindgren Date: Wed Jan 20 17:34:29 2010 -0800 Merge branch 'for_2.6.33rc_d' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus commit 1daa8c1d75876f690ed8d3f13c806034af5984eb Author: Olof Johansson Date: Wed Jan 20 22:39:29 2010 +0000 omap: Enable GPMC clock in gpmc_init Don't assume that gpmc_l3_clk is on, enable it before touching configuration registers. Note that the current code assumes that this clock is always enabled. We are already setting smart idle and L3 autogating for GPMC clock in gpmc_init. Signed-off-by: Olof Johansson Signed-off-by: Tony Lindgren commit 3583cbd951d31517de015eab85eb0b5705bce8a9 Author: David S. Miller Date: Wed Jan 20 16:32:21 2010 -0800 sparc64: Update defconfig. Signed-off-by: David S. Miller commit a084b6678a89a106a350c12e4845f42ccc9811f0 Author: David S. Miller Date: Wed Jan 20 03:04:14 2010 -0800 sparc: Add missing SW perf fault events. Signed-off-by: David S. Miller commit e7bef6b04ca2e8e4cf667c43d7e2ab3034a869d5 Author: David S. Miller Date: Wed Jan 20 02:59:47 2010 -0800 sparc64: Fully support both performance counters. Add the rest of the conflict detection and resolution logic necessary to support more than one counter at a time on sparc64. The structure and implementation closely mimicks that of powerpc. Signed-off-by: David S. Miller commit 4f6dbe4ac01d2664231d3f3eceadd33a44cde993 Author: David S. Miller Date: Tue Jan 19 00:26:13 2010 -0800 sparc64: Add perf callchain support. Pretty straightforward, and it should be easy to add accurate walk through of signal stack frames in userspace. Signed-off-by: David S. Miller Tested-by: Jens Axboe commit b94b50289622e816adc9f94111cfc2679c80177c Author: Jesse Brandeburg Date: Tue Jan 19 14:15:59 2010 +0000 e1000e: enhance frame fragment detection Originally patched by Neil Horman e1000e could with a jumbo frame enabled interface, and packet split disabled, receive a packet that would overflow a single rx buffer. While in practice very hard to craft a packet that could abuse this, it is possible. this is related to CVE-2009-4538 Signed-off-by: Jesse Brandeburg CC: Neil Horman Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 40a14deaf411592b57cb0720f0e8004293ab9865 Author: Jesse Brandeburg Date: Tue Jan 19 14:15:38 2010 +0000 e1000: enhance frame fragment detection Originally From: Neil Horman Modified by: Jesse Brandeburg Hey all- A security discussion was recently given: http://events.ccc.de/congress/2009/Fahrplan//events/3596.en.html And a patch that I submitted awhile back was brought up. Apparently some of their testing revealed that they were able to force a buffer fragment in e1000 in which the trailing fragment was greater than 4 bytes. As a result the fragment check I introduced failed to detect the fragement and a partial invalid frame was passed up into the network stack. I've written this patch to correct it. I'm in the process of testing it now, but it makes good logical sense to me. Effectively it maintains a per-adapter state variable which detects a non-EOP frame, and discards it and subsequent non-EOP frames leading up to _and_ _including_ the next positive-EOP frame (as it is by definition the last fragment). This should prevent any and all partial frames from entering the network stack from e1000. Signed-off-by: Jesse Brandeburg Acked-by: Neil Horman Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c1fa347f20f17f14a4a1575727fa24340e8a9117 Author: Roel Kluin Date: Tue Jan 19 14:21:45 2010 +0000 e1000/e1000e/igb/igbvf/ixgb/ixgbe: Fix tests of unsigned in *_tx_map() The variable count and i are unsigned so the (<|>=)0 tests do not work. Signed-off-by: Roel Kluin Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fc Author: Jerome Glisse Date: Mon Jan 18 13:01:36 2010 +0100 drm/radeon: r6xx/r7xx possible security issue, system ram access This patch workaround a possible security issue which can allow user to abuse drm on r6xx/r7xx hw to access any system ram memory. This patch doesn't break userspace, it detect "valid" old use of CB_COLOR[0-7]_FRAG & CB_COLOR[0-7]_TILE registers and overwritte the address these registers are pointing to with the one of the last color buffer. This workaround will work for old mesa & xf86-video-ati and any old user which did use similar register programming pattern as those (we expect that there is no others user of those ioctl except possibly a malicious one). This patch add a warning if it detects such usage, warning encourage people to update their mesa & xf86-video-ati. New userspace will submit proper relocation. Fix for xf86-video-ati / mesa (this kernel patch is enough to prevent abuse, fix for userspace are to set proper cs stream and avoid kernel warning) : http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=95d63e408cc88b6934bec84a0b1ef94dfe8bee7b http://cgit.freedesktop.org/mesa/mesa/commit/?id=46dc6fd3ed5ef96cda53641a97bc68c3bc104a9f Abusing this register to perform system ram memory is not easy, here is outline on how it could be achieve. First attacker must have access to the drm device and be able to submit command stream throught cs ioctl. Then attacker must build a proper command stream for r6xx/r7xx hw which will abuse the FRAG or TILE buffer to overwrite the GPU GART which is in VRAM. To achieve so attacker as to setup CB_COLOR[0-7]_FRAG or CB_COLOR[0-7]_TILE to point to the GPU GART, then it has to find a way to write predictable value into those buffer (with little cleverness i believe this can be done but this is an hard task). Once attacker have such program it can overwritte GPU GART to program GPU gart to point anywhere in system memory. It then can reusse same method as he used to reprogram GART to overwritte the system ram through the GART mapping. In the process the attacker has to be carefull to not overwritte any sensitive area of the GART table, like ring or IB gart entry as it will more then likely lead to GPU lockup. Bottom line is that i think it's very hard to use this flaw to get system ram access but in theory one can achieve so. Side note: I am not aware of anyone ever using the GPU as an attack vector, nevertheless we take great care in the opensource driver to try to detect and forbid malicious use of GPU. I don't think the closed source driver are as cautious as we are. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit db96380ea26fcc31ab37189aedeabd12894b1431 Author: Jerome Glisse Date: Sun Jan 17 21:21:56 2010 +0100 drm/radeon/kms: r600/r700 don't test ib if ib initialization fails If ib initialization failed don't try to test ib as it will result in an oops (accessing NULL ib buffer ptr). Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 7e71c9e2e7704ebf044d4a964e02fbd2098a173f Author: Jerome Glisse Date: Sun Jan 17 21:21:41 2010 +0100 drm/radeon/kms: Forbid creation of framebuffer with no valid GEM object This will avoid oops if at later point the fb is use. Trying to create a framebuffer with no valid GEM object is bogus and should be forbidden as this patch does. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 7924e5eb8fe422d6b1ce3b3e2be749a480dfcdd9 Author: Jerome Glisse Date: Fri Jan 15 14:44:39 2010 +0100 drm/radeon/kms: r600 handle irq vector ring overflow In some rare case i faced an irq overflow quickly followed by a GPU lockup (hard hang) this patch try to deal with irq vector ring overflow, so far haven't been able to reproduce it with the patch. Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 79c2bbc505751bb5130ac753251fc9a0eb37bb12 Author: Jerome Glisse Date: Fri Jan 15 14:44:38 2010 +0100 drm/radeon/kms: r600/r700 don't process IRQ if not initialized In some rare case the wptr returned from the hw wasn't 0 and leaded to trick r600_process_irq that their were irq to process. Add a check to bail out if irq hasn't been initialized this will avoid oops provoqued by the rare wptr != 0 on initialization. Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 0c45249f419d8b86abe0e51c6627ca4b085e8c23 Author: Jerome Glisse Date: Fri Jan 15 14:44:37 2010 +0100 drm/radeon/kms: r600/r700 disable irq at suspend To avoid hw doing anythings after we disabled PCIE GART, fully disable IRQ at suspend. Also cleanup a bit the ih structure and process function. Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 615e0cb67968c94fd9e53797985843a5b816dec4 Author: Alex Deucher Date: Wed Jan 20 16:22:53 2010 -0500 drm/radeon/kms/r4xx: cleanup atom path most of radeon_legacy_atom_set_surface() is taken care of in atombios_set_base(), so remove the duplicate setup and move the remaining bits (DISP_MERGE setup and FP2 sync) to atombios_crtc.c where they are used. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 54f088a9603dbee88809cb2ddfd8dc1ef8a74be5 Author: Alex Deucher Date: Tue Jan 19 16:34:01 2010 -0500 drm/radeon/kms: fix atombios_crtc_set_base Make it call the proper backend depending on the GPU family. Right now r4xx cards with atombios modesetting enabled were using the avivo crtc base code. This also allows us to add support for new asics more easily. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit e2f8e87089427d3a203538dc73058b90e82b11f6 Author: Alex Deucher Date: Tue Jan 19 12:45:29 2010 -0500 drm/radeon/kms/atom: upstream parser updates Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9f53e7931610cbd1715fd2d2c0f9a853e17f02d8 Author: Alex Deucher Date: Tue Jan 19 12:38:48 2010 -0500 drm/radeon/kms/atom: fix some parser bugs - add support for inline src params - fix shift_left/shift_right and shl/shr ops shift_* ops use inline src params, shl/r use full params - fix mask op (uses inline params) Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 07bec2df01cde5590a1700b992d12de3f46b12bc Author: Alex Deucher Date: Wed Jan 13 19:09:12 2010 -0500 drm/radeon/kms: fix hardcoded mmio size in register functions newer asics have large mmio apertures Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit cf57fc7aa2ac61d02a29550b99db6a01ccd7917c Author: Alex Deucher Date: Mon Jan 18 20:20:07 2010 -0500 drm/radeon/kms/r100: fix bug in CS parser The first dword of PACKET3_3D_DRAW_IMMD maps to SE_VTX_FMT so the vertex size is part of the draw packet. This patch fixes a possible case where you have a command buffer that does not contain SE_VTX_FMT register write, but does contain PACKET3_3D_DRAW_IMMD. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 828153e29206196552c2cc34461ad7e5b93e3f22 Author: Andrew Randrianasulu Date: Wed Jan 20 11:56:07 2010 -0500 drm/radeon/kms/r200: fix bug in CS parser Add missing vertex shader regs for r200. fixed fdo bug 26061 agd5f: use official reg names Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f3d1ccc14f37a07614c67a270f05a8d94ec3667c Author: Andrew Randrianasulu Date: Wed Jan 20 11:36:30 2010 -0500 drm/radeon/kms/r200: fix bug in CS parser The checks for CUBE and 3D textures were inverted. fixes fdo bug 24159 agd5f: added comments for clarity. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit af022fafa89cca5731da3e3325dc027ed8d57bcd Author: Paul Walmsley Date: Tue Jan 19 17:30:55 2010 -0700 OMAP1 clock: fix for "BUG: spinlock lockup on CPU#0" Commit 52650505fbf3a6ab851c801f54e73e76c55ab8da caused clock initialization to fail on OMAP1 with "BUG: spinlock lockup on CPU#0" -- this is because omap1_select_table_rate() and omap1_round_to_table_rate() call clk_get_rate() with the clockfw spinlock held. Fix by accessing the rate directly from the internal clock framework functions. Thanks to Tony Lindgren for reporting and testing the fix. Signed-off-by: Paul Walmsley Cc: Tony Lindgren commit ecbb06594744b72c362cb2252cb5f6de7cf1b394 Author: Rajendra Nayak Date: Tue Jan 19 17:30:55 2010 -0700 OMAP4: clocks: Fix the clksel_rate struct DPLL divs For all DPLL's the valid dividers are same as the values to be programmed in the register. 0 is an invalid value. The changes are generated by updating the script which autogenerates the file modifed in the patch. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley commit 0324f59fc945b76337dbc18f4ad4b4383f683ae5 Author: Rajendra Nayak Date: Tue Jan 19 17:30:54 2010 -0700 OMAP4: PRCM: Fix the base address for CHIRONSS reg defines The CHIRONSS has its own local PRCM module and the register defines need to use the CHIRONSS base and not the PRM base. The changes are generated by updating the script which autogenerates the file modifed in the patch. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley commit dc99be47667c56046555e89e62f1ac17fa06329a Author: Takashi Iwai Date: Wed Jan 20 08:35:06 2010 +0100 ALSA: hda - Fix HP T5735 automute This patch fixes the aut-mute setup on HP T5735 with ALC262 codec. Instead of wrong amp, use pin control toggling for muting the speaker now. Tested-by: Lee Trager Cc: Signed-off-by: Takashi Iwai commit 247421fda7a9612f03150aacb90fdad55e9f63d2 Author: Roel Kluin Date: Wed Jan 13 18:10:29 2010 -0800 OMAP: dma_chan[lch_head].flag & OMAP_DMA_ACTIVE tested twice in omap_dma_unlink_lch() The same flag and bits were tested twice. Signed-off-by: Roel Kluin Signed-off-by: Tony Lindgren commit e9acb9b64d7fb16c7f69efa85c5707cffd0c7275 Author: Tony Lindgren Date: Tue Jan 19 15:40:26 2010 -0800 omap3: Fix cpu detection We need to set the omap_chip.oc carefully for the clocks to work. To fix this, set the omap_chip.oc in omap3_check_features() based on the CONTROL_IDCODE and silicon revision registers. Also add handling for 34xx es3.1.2 as es3.1 for now. Fixes booting on at least overo board. Based on an earlier patch by Paul Walmsley . Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d4bb72e50a0c4b6790dec127a38fd06d06e561cc Author: Tony Lindgren Date: Tue Jan 19 15:15:24 2010 -0800 omap: Fix functions for dynamic remuxing of pins Make the omap_mux_read and write available for board code, and rename omap_mux_set_board_signals into omap_mux_write_array. Also add the related prototypes and comments into mux.h. In some cases we want to change the signals dynamically, mostly for power management. Note that we cannot use the signal names as they are set __init to save memory. Signed-off-by: Tony Lindgren commit 2cb0c54f3a696351b81e6670f8419120c94b5e0b Author: Tony Lindgren Date: Tue Jan 19 18:17:07 2010 -0800 omap: Fix cmdline muxing Looks like cmdline muxing got broken at some point when we decided to limit muxing to __init code. Currently omap_mux_entry list is not yet initialized when we try to initialize cmdline muxing. Fix this by calling omap_mux_init_list() before calling omap_mux_set_cmdline_signals(). Reported-by: Philip Balister Tested-by: Philip Balister Signed-off-by: Tony Lindgren commit 6468e3b18777ecfffa6738e365896be9f17403f2 Author: Russell King Date: Tue Jan 19 17:30:52 2010 -0700 OMAP3: clock: Remove unnecessarily .init initializers from OMAP3 clocks The first thing that omap2_init_clksel_parent() does is check for a non-zero .clksel field in the struct clk. Therefore, it is pointless calling this function on clocks where the clksel field is unset. Remove init calls to omap2_init_clksel_parent() on clocks without a clksel field. Signed-off-by: Russell King Signed-off-by: Paul Walmsley commit 883edfdd58419b0cc298db14ba25c26d55c6d1af Author: Thara Gopinath Date: Tue Jan 19 17:30:51 2010 -0700 OMAP3: hwmod: Adding flag to prevent caching of sysconfig register. In the current implementation the sysconfig value is read into _sysc_cache once and an actual update to the sysconfig register happens only if the new value paased is differnt from the one in _sysc_cache. _sysc_cache is updated only if _HWMOD_SYSCONFIG_LOADED is not set. This can lead to the follwing issue if off mode is enabled in modules which employs "always-retore" mechanism of context save and restore. a. The module sets the sysconfig register through omap_device_enable. Here _sysc_cache is updated with the value written to the sysconfig register and left. b. The power domain containig the module enters off mode and the module context is lost. c. The module in use becomes active and calls omap_device_enable to enable itself. Here a read of sysconfig register does not happen as _HWMOD_SYSCONFIG_LOADED flag is set. The value to be written to the sysconfig register will be same as the one written in step a. Since _sysc_cache reflects the previous written value an update of the sysconfig register does not happen. This means in modules which employs "always-restore" mechanism after off , the sysconfig regsiters will never get updated. This patch introduces a flag SYSC_NO_CACHE which if set ensures that the sysconfig register is always read into _sysc_cache before an update is attempted. This flags need to be set only by modules which does not do a context save but re-initializes the registers every time the module is accessed. This includes modules like i2c, smartreflex etc. Signed-off-by: Thara Gopinath [paul@pwsan.com: tweaked to apply on a different head, added flag comment] Signed-off-by: Paul Walmsley commit b4ced2b768ab6c580148d1163c82a655fe147edc Author: Roel Kluin Date: Tue Jan 19 14:12:20 2010 -0800 netlink: With opcode INET_DIAG_BC_S_LE dport was compared in inet_diag_bc_run() The s-port should be compared. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e605d554ec17be55741b066387ae9f341777f52c Author: Peter Huewe Date: Thu Jan 7 03:35:49 2010 +0100 [WATCHDOG] ixp2000: Fix build failure caused by missing include This patch fixes a build failure[1] caused by the missing include of timer.h and thus fixes the build failure. Notably the build failure existed since October 2009! [2] References: [1] http://kisskb.ellerman.id.au/kisskb/buildresult/1983339/ [2] http://kisskb.ellerman.id.au/kisskb/buildresult/1351737/ Signed-off-by: Peter Huewe Signed-off-by: Wim Van Sebroeck commit 2d146eb172d5f754e3973a3f761f7619ebb12df9 Author: Ram Vepa Date: Tue Jan 19 12:36:20 2010 -0800 S2io: two branches the same in wait_for_cmd_complete() Fix check to verify if a register bit is set. We have not hit this bug because wait_for_cmd_complete() is always called with S2IO_BIT_RESET. Reported by Roel Kluin . Signed-off-by: Ram Vepa Signed-off-by: David S. Miller commit 3fb4a508b8e7957aa899f32cd6d9d462e102c7ca Author: Takashi Iwai Date: Tue Jan 19 15:46:37 2010 +0100 ALSA: hda - Turn on EAPD only if available for Realtek codecs Some codecs disable widgets used for output pins and reserve as vendor- spec widgets. Thus we need to check the widget type and pin cap before actually sending SET_EAPD verbs in the auto-configuration mode. Signed-off-by: Takashi Iwai commit 4feabefe53eb3742f0b2773a43200d1686f3a288 Author: Takashi Iwai Date: Tue Jan 19 15:38:44 2010 +0100 ALSA: hda - Fix parsing pin node 0x21 on ALC259 ALC259 has a widget NID 0x21 for the output pin, but it wasn't handled properly in alc268_new_analog_output(). Signed-off-by: Takashi Iwai commit dad48a4ef20774732e53840f371b0cc27981c43a Merge: 98f672c ad580db Author: David S. Miller Date: Tue Jan 19 02:03:09 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 98f672ca9978c6e5997dbe905c91a73593148a7e Author: Mike Frysinger Date: Mon Jan 18 21:14:12 2010 +0000 bfin_mac: use the newer CLKBUFOE bit name via asm/dpmc.h This driver tweaks VR_CTL, so pull in the header for the bit defines. Also switch to the new define name as the old one has gone away. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 357d46a17e54c9a87e0e6ef3930ff4ab2d232b81 Author: Matthew Slattery Date: Mon Jan 18 05:47:16 2010 +0000 sfc: QT202x: Remove unreliable MMD check at initialisation Checking the PHY XS MMD here is unnecessary and can give false negatives. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 34692421bc7d6145ef383b014860f4fde10b7505 Author: Jiajun Wu Date: Mon Jan 18 05:47:50 2010 +0000 ucc_geth: Fix full TX queue processing commit 7583605b6d29f1f7f6fc505b883328089f3485ad ("ucc_geth: Fix empty TX queue processing") fixed empty TX queue mishandling, but didn't account another corner case: when TX queue becomes full. Without this patch the driver will stop transmiting when TX queue becomes full since 'bd == ugeth->txBd[txQ]' actually checks for two things: queue empty or full. Let's better check for NULL skb, which unambiguously signals an empty queue. Signed-off-by: Jiajun Wu Signed-off-by: Anton Vorontsov Cc: Stable [2.6.32] Signed-off-by: David S. Miller commit 4f9c85a1b03bfa5c0a0d8488a3a7766f3c9fb756 Author: Anton Vorontsov Date: Mon Jan 18 05:37:16 2010 +0000 phylib: Move workqueue initialization to a proper place commit 541cd3ee00a4fe975b22fac6a3bc846bacef37f7 ("phylib: Fix deadlock on resume") caused TI DaVinci EMAC ethernet driver to oops upon resume: PM: resume of devices complete after 237.098 msecs Restarting tasks ... done. kernel BUG at kernel/workqueue.c:354! Unable to handle kernel NULL pointer dereference at virtual address 00000000 [...] Backtrace: [] (__bug+0x0/0x2c) from [] (queue_delayed_work_on+0x74/0xf8) [] (queue_delayed_work_on+0x0/0xf8) from [] (queue_delayed_work+0x2c/0x30) The oops pops up because TI DaVinci EMAC driver detaches PHY on suspend and attaches it back on resume. Attaching makes phylib call phy_start_machine() that initializes a workqueue. On the other hand, PHY's resume routine will call phy_start_machine() again, and that will cause the oops since we just destroyed the already scheduled workqueue. This patch fixes the issue by moving workqueue initialization to phy_device_create(). p.s. We don't see this oops with ucc_geth and gianfar drivers because they perform a fine-grained suspend, i.e. they just stop the PHYs without detaching. Reported-by: Sekhar Nori Signed-off-by: Anton Vorontsov Tested-by: Sekhar Nori Signed-off-by: David S. Miller commit de4ef86cfce60d2250111f34f8a084e769f23b16 Author: Neil Horman Date: Sun Jan 17 17:16:12 2010 +0000 dccp: fix dccp rmmod when kernel configured to use slub Hey all- I was tinkering with dccp recently and noticed that I BUG halted the kernel when I rmmod-ed the dccp module. The bug halt occured because the page that I passed to kfree failed the PageCompound and PageSlab test in the slub implementation of kfree. I tracked the problem down to the following set of events: 1) dccp, unlike all other uses of kmem_cache_create, allocates a string dynamically when registering a slab cache. This allocated string is freed when the cache is destroyed. 2) Normally, (1) is not an issue, but when Slub is in use, it is possible that caches are 'merged'. This process causes multiple caches of simmilar configuration to use the same cache data structure. When this happens, the new name of the cache is effectively dropped. 3) (2) results in kmem_cache_name returning an ambigous value (i.e. ccid_kmem_cache_destroy, which uses this fuction to retrieve the name pointer for freeing), is no longer guaranteed that the string it assigned is what is returned. 4) If such merge event occurs, ccid_kmem_cache_destroy frees the wrong pointer, which trips over the BUG in the slub implementation of kfree (since its likely not a slab allocation, but rather a pointer into the static string table section. So, what to do about this. At first blush this is pretty clearly a leak in the information that slub owns, and as such a slub bug. Unfortunately, theres no really good way to fix it, without exposing slub specific implementation details to the generic slab interface. Also, even if we could fix this in slub cleanly, I think the RCU free option would force us to do lots of string duplication, not only in slub, but in every slab allocator. As such, I'd like to propose this solution. Basically, I just move the storage for the kmem cache name to the ccid_operations structure. In so doing, we don't have to do the kstrdup or kfree when we allocate/free the various caches for dccp, and so we avoid the problem, by storing names with static memory, rather than heap, the way all other calls to kmem_cache_create do. I've tested this out myself here, and it solves the problem quite well. Signed-off-by: Neil Horman Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ad580db50ee8dccd069ffcd76d6f70fa6d4a62a8 Author: Hin-Tak Leung Date: Mon Jan 18 01:24:11 2010 +0000 zd1211rw: adding 0409:0248 to supported device list Yasuhiro ABE reported success in sourceforge zd1211-dev list. The device is a NEC Aterm WL54GU usb wireless stick. The brand and retail product name NEC, Aterm PA-WL54GU The USB ID's (duh) ID 0409:0248 The chip ID string zd1211rw 1-1:1.0: zd1211b chip 0409:0248 v4810 high 00-1b-8b AL2230S_RF pa0 g--N- The FCC ID unknown Signed-off-by: Hin-Tak Leung Signed-off-by: Yasuhiro ABE Signed-off-by: John W. Linville commit f5300e04df78feae8107c1846dd3a9e27c071b2f Author: Christian Lamparter Date: Mon Jan 18 00:07:38 2010 +0100 p54pci: rx frame length check A long time ago, a user reported several crashes due to data corruptions which are likely the result of a not-100%-supported, or faulty? PCI bridge. ( http://patchwork.kernel.org/patch/53004/ ) This patch fixes entry #1. "1. p54p_check_rx_ring - skb_over_panic: Under a ping flood or just left running for a bit would panic with a skb_over_panic." As described in the mail: The invalid frame length causes skb_put to bailout and trigger a crash. Note: Simply dropping the frame is problematic, because if its content contains a tx feedback we would lose some portion of the device memory space.... And the driver/mac80211 should handle all other invalid data. Reported-by: Quintin Pitts Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e850f68b8f27a76c4377c34f2e216b8e7e10db3d Author: Bob Copeland Date: Sat Jan 16 14:36:52 2010 -0500 mac80211: fix sign error in pid controller While testing the pid rate controller in mac80211_hwsim, I noticed that once the controller reached 54 Mbit rates, it would fail to lower the rate when necessary. The debug log shows: 1945 186786 pf_sample 50 3534 3577 50 My interpretation is that the fixed point scaling of the target error value (pf) is incorrect: the error value of 50 compared to a target of 14 case should result in a scaling value of (14-50) = -36 * 256 or -9216, but instead it is (14 * 256)-50, or 3534. Correct this by doing fixed point scaling after subtraction. Signed-off-by: Bob Copeland Acked-by: Stefano Brivio Acked-by: Mattias Nissler Signed-off-by: John W. Linville commit bb5d2db5709e469f4a8c01eaaee9a275ed9772aa Author: Reinette Chatre Date: Fri Jan 15 13:42:59 2010 -0800 iwlwifi: add license to tracing files Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1152dcc28c66a74b5b3f1a3ede0aa6729bfd48e4 Author: Wey-Yi Guy Date: Fri Jan 15 13:42:58 2010 -0800 iwlwifi: Fix throughput stall issue in HT mode for 5000 Similar to 6000 and 1000 series, RTS/CTS is the recommended protection mechanism for 5000 series in HT mode based on the HW design. Using RTS/CTS will better protect the inner exchange from interference, especially in highly-congested environment, it also prevent uCode encounter TX FIFO underrun and other HT mode related performance issues. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre CC: stable@kernel.org Signed-off-by: John W. Linville commit ebddd63b74dcf1cb676d14328d5852f1fee19a8a Author: Artem Bityutskiy Date: Mon Jan 18 16:43:44 2010 +0200 UBI: fix memory leak in update path When truncating an UBI volume, UBI should allocates a PEB-sized buffer but does not release it, which leads to memory leaks. This patch fixes the issue. Reported-by: Marek Skuczynski Signed-off-by: Artem Bityutskiy Tested-by: Marek Skuczynski Cc: stable@kernel.org commit ea9d8e3f45404d411c00ae67b45cc35c58265bb7 Author: Xiaotian Feng Date: Thu Jan 7 11:22:44 2010 +0800 clockevent: Don't remove broadcast device when cpu is dead Marc reported that the BUG_ON in clockevents_notify() triggers on his system. This happens because the kernel tries to remove an active clock event device (used for broadcasting) from the device list. The handling of devices which can be used as per cpu device and as a global broadcast device is suboptimal. The simplest solution for now (and for stable) is to check whether the device is used as global broadcast device, but this needs to be revisited. [ tglx: restored the cpuweight check and massaged the changelog ] Reported-by: Marc Dionne Tested-by: Marc Dionne Signed-off-by: Xiaotian Feng LKML-Reference: <1262834564-13033-1-git-send-email-dfeng@redhat.com> Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 0a931acfd19faf13129a22a46c06f330ecc2a4a3 Author: Alexey Dobriyan Date: Sun Jan 17 03:32:50 2010 +0000 ipv4: don't remove /proc/net/rt_acct /proc/net/rt_acct is not created if NET_CLS_ROUTE=n. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 58d65b84dee524b0a4a8b747b8eb8bbf2fb16d9d Author: Ben Skeggs Date: Mon Jan 18 08:52:35 2010 +1000 drm/nv50: prevent accidently turning off encoders we're actually using On most cards the DisplayPort connector is created with 2 encoders sharing a single SOR (for native DP, and for DVI-over-DP). The previous logic for turning off unused encoders didn't take into account that we could have multiple drm_encoders on a single hw encoder and ended up turning off encoders that were actually being used still. This patch fixes that issue. We probably want to look at something a bit better later on, and only expose one drm_encoder per hw encoder block. Signed-off-by: Ben Skeggs commit 134f248bea4bf5c3169b4950eb49c6651b09eb0e Author: Ben Skeggs Date: Mon Jan 18 08:33:04 2010 +1000 drm/nv50: fix alignment of per-channel fifo cache GPU pointer to the structure is shifted right by 10 bits, so we need to align to 1024 bytes, not 256. Reported-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit 71666475018a3024fb49499096d26a9350349e8b Author: Luca Barbieri Date: Sat Jan 16 15:30:15 2010 +0100 drm/nouveau: Evict buffers in VRAM before freeing sgdma Currently, we take down the sgdma engine without evicting all buffers from VRAM. The TTM device release will try to evict anything in VRAM to GART memory, but this will fail since sgdma has already been taken down. This causes an infinite loop in kernel mode on module unload. It usually doesn't happen because there aren't any buffer on close. However, if the GPU is locked up, this condition is easily triggered. This patch fixes it in the simplest way possible by cleaning VRAM right before cleaning SGDMA memory. Signed-off-by: Luca Barbieri Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit d051bbb22e9d8e87e2a5b8efb176d1bfd0f7feee Author: Luca Barbieri Date: Sat Jan 16 15:27:51 2010 +0100 drm/nouveau: Acknowledge DMA_VTX_PROTECTION PGRAPH interrupts Currently Nouveau is unable to dismiss DMA_VTX_PROTECTION errors, which results in an infinite loop in the interrupt handler. These errors are caused both by bugs in the Gallium driver and by user-specified index buffers with out of bounds indices. By mmio-tracing the nVidia drivers, I found out how this is done. On DMA_VTX_PROTECTION, The nVidia driver reads the register 0x402000, always getting the value 4, and then writes 4 back to 0x402000. This patch adds that logic by reading 0x402000 and writing the same value back. It's unclear what should happen if the value read is not 4, and the current approach might not be the correct one. To test this, modify mesa/progs/trivial/vbo-drawrange.c, defining ELTOBJ to 1 and replacing indices with huge out of bounds integers. Without this patch, the GPU and/or kernel should lock up. With this patch, it should misrender as expected but not lock up. The errors are still logged since they are useful for development. This has been tested on NV49 and may not work on other cards. To find out how things work on other cards, run the aforementioned test using the blob with mmiotrace and grep for a read of the PGRAPH source register. Signed-off-by: Luca Barbieri Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 0d92971dd6973d865a873c24df2d7bfe06ec4486 Author: Ben Skeggs Date: Fri Jan 15 12:21:37 2010 +1000 drm/nouveau: fix thinko in nv04_instmem.c Signed-off-by: Ben Skeggs commit ba59953d281747b1f7518a60f0ba8ff671cd0d65 Author: Ben Skeggs Date: Fri Jan 15 12:08:57 2010 +1000 drm/nouveau: fix a race condition in nouveau_dma_wait() Can be triggered easily on certain cards (NV46 and NV50 of mine) by running "dmesg", the DRM's channel will lockup. Signed-off-by: Ben Skeggs commit 534ef056db8a8fb6b9d50188d88ed5d1fbc66673 Author: Hannes Reinecke Date: Fri Jan 15 13:07:34 2010 +0100 [SCSI] aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree When removing several devices aic79xx will occasionally Oops in ahd_handle_nonpkt_busfree during rescan. Looking at the code I found that we're indeed not checking if the scb in question is NULL. So check for it before accessing it. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 51375ee8374dd7fa574e1a14ebac406c6d28543b Author: Swen Schillig Date: Thu Jan 14 17:19:02 2010 +0100 [SCSI] zfcp: Set hardware timeout as requested by BSG request. The hardware used with zfcp provides a timer for CT and ELS requests instead of an abort capability for these commands. To correctly handle the FC BSG timeouts, pass the timeout from the BSG requests to the hardware. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 491ca4426ba153f79e72d1ca2a30c926484282b7 Author: Swen Schillig Date: Thu Jan 14 17:19:01 2010 +0100 [SCSI] zfcp: Introduce bsg_timeout callback. Introduce a zfcp callback for timeouts triggered from FC BSG. With zfcp, the underlying hardware cannot abort CT or ELS requests, so there is nothing to do when the block layer timeout expires. To avoid interference with the block layer timeout, simply indicate that the block layer timer should be reset. The timer running in the hardware for the pending CT or ELS request will return the request when it expires. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b8f08645f80a0c93246f3539ce53d3cae6a91fa0 Author: Swen Schillig Date: Thu Jan 14 17:19:00 2010 +0100 [SCSI] scsi_transport_fc: Allow LLD to reset FC BSG timeout The hardware used with zfcp cannot abort a currently pending CT or ELS request. Therefore we need the option to postpone the timeout triggered request abort within the fc layer, since there is nothing zfcp can do to stop the request at this point. Cc: James Smart Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9e2ab1fabdbd88669fdebd368fb5cda32ad5438d Author: Heiko Carstens Date: Wed Jan 13 17:52:38 2010 +0100 [SCSI] zfcp: add missing compat ptr conversion Signed-off-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5a3fb3081a0166cdc5df0d9200234d09ad8d6083 Author: Christof Schmitt Date: Wed Jan 13 17:52:37 2010 +0100 [SCSI] zfcp: Fix linebreak in hba trace Advance the correct pointer when inserting the linebreak for the HBA trace. It was missing in the output since the pointer to the output buffer was never advanced, and the linebreak character was overwritten later. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f09d5454576b9aabd4ce454937cd86263428090b Author: Christof Schmitt Date: Wed Jan 13 17:52:36 2010 +0100 [SCSI] zfcp: Issue zfcp_fc_wka_port_put after FC CT BSG request The patch "zfcp: Simplify handling of ct and els requests" accidentally removed the call to zfcp_fc_wka_port_put for FC CT BSG requests, thus not issuing a "close" request for the WKA ports. Introduce a CT specific handler to first call zfcp_fc_wka_port_put and then continue with the generic handler when returning from FC CT BSG requests. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 22c24734ce5e7cee9a63e02e5aa7ed108f8fad4d Author: Giridhar Malavali Date: Tue Jan 12 12:59:51 2010 -0800 [SCSI] qla2xxx: Update version number to 8.03.01-k10. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit eda05a28ec52be40086400a1b606d211276f0e41 Author: Harish Zunjarrao Date: Tue Jan 12 12:59:50 2010 -0800 [SCSI] fc-transport: Use packed modifier for fc_bsg_request structure. The 32bit kernel does not add padding bytes in the fc_bsg_request structure whereas the 64bit kernel adds padding bytes in the fc_bsg_request structure. Due to this, structure elements gets mismatched with 32bit application and 64bit kernel.To resolve this, used packed modifier to avoid adding padding bytes. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 368bbe077739fa1ef6fc0195b2810ed50ef87df6 Author: Andrew Vasquez Date: Tue Jan 12 12:59:49 2010 -0800 [SCSI] qla2xxx: Perform fast mailbox read of flash regardless of size nor address alignment. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit f08b7251c40090b8c522a306642944cd7322eebb Author: Andrew Vasquez Date: Tue Jan 12 12:59:48 2010 -0800 [SCSI] qla2xxx: Correct FCP2 recovery handling. The driver did not account for non-tape devices needing to employ proper FCP2 recovery. Driver now checks the FCP2-capable flag only, rather than using a midlayer-determined flag (TYPE_TAPE). Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 63c43b0ec1765b74c734d465ba6345ef4f434df8 Author: Boaz Harrosh Date: Tue Dec 15 17:25:43 2009 +0200 [SCSI] scsi_lib: Fix bug in completion of bidi commands Because of the terrible structuring of scsi-bidi-commands it breaks some of the life time rules of a scsi-command. It is now not allowed to free up the block-request before cleanup and partial deallocation of the scsi-command. (Which is not so for none bidi commands) The right fix to this problem would be to make bidi command a first citizen by allocating a scsi_sdb pointer at scsi command just like cmd->prot_sdb. The bidi sdb should be allocated/deallocated as part of the get/put_command (Again like the prot_sdb) and the current decoupling of scsi_cmnd and blk-request should be kept. For now make sure scsi_release_buffers() is called before the call to blk_end_request_all() which might cause the suicide of the block requests. At best the leak of bidi buffers, at worse a crash, as there is a race between the existence of the bidi_request and the free of the associated bidi_sdb. The reason this was never hit before is because only OSD has the potential of doing asynchronous bidi commands. (So does bsg but it is never used) And OSD clients just happen to do all their bidi commands synchronously, up until recently. CC: Stable Tree Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit f1053a7ca9ce095d95bcc1cf41684c5e4f3e7751 Author: Anatolij Gustschin Date: Sat Dec 12 14:52:21 2009 +0100 [SCSI] mptsas: Fix issue with chain pools allocation on katmai Since commit 9d2e9d66a3f032667934144cd61c396ba49f090d mptsas driver fails to allocate memory for the MPT chain buffers for second LSI adapter on PPC440SPe Katmai platform: ... ioc1: LSISAS1068E B3: Capabilities={Initiator} mptbase: ioc1: ERROR - Unable to allocate Reply, Request, Chain Buffers! mptbase: ioc1: ERROR - didn't initialize properly! (-3) mptsas: probe of 0002:31:00.0 failed with error -3 This commit increased MPT_FC_CAN_QUEUE value but initChainBuffers() doesn't differentiate between SAS and FC causing increased allocation for SAS case, too. Later pci_alloc_consistent() fails to allocate increased chain buffer pool size for SAS case. Provide a fix by looking at the bus type and using appropriate MPT_SAS_CAN_QUEUE value while calculation of the number of chain buffers. Signed-off-by: Anatolij Gustschin Acked-by: Kashyap Desai Cc: Stable Tree Signed-off-by: James Bottomley commit cacb6dc3d7fea751879a225c15e48228415e6359 Author: Penchala Narasimha Reddy Chilakala, ERS-HCLTech Date: Mon Dec 21 18:39:27 2009 +0530 [SCSI] aacraid: fix File System going into read-only mode These particular problems were reported by Cisco and SAP and customers as well. Cisco reported on RHEL4 U6 and SAP reported on SLES9 SP4 and SLES10 SP2. We added these fixes on RHEL4 U6 and gave a private build to IBM and Cisco. Cisco and IBM tested it for more than 15 days and they reported that they did not see the issue so far. Before the fix, Cisco used to see the issue within 5 days. We generated a patch for SLES9 SP4 and SLES10 SP2 and submitted to Novell. Novell applied the patch and gave a test build to SAP. SAP tested and reported that the build is working properly. We also tested in our lab using the tools "dishogsync", which is IO stress tool and the tool was provided by Cisco. Issue1: File System going into read-only mode Root cause: The driver tends to not free the memory (FIB) when the management request exits prematurely. The accumulation of such un-freed memory causes the driver to fail to allocate anymore memory (FIB) and hence return 0x70000 value to the upper layer, which puts the file system into read only mode. Fix details: The fix makes sure to free the memory (FIB) even if the request exits prematurely hence ensuring the driver wouldn't run out of memory (FIBs). Issue2: False Raid Alert occurs When the Physical Drives and Logical drives are reported as deleted or added, even though there is no change done on the system Root cause: Driver IOCTLs is signaled with EINTR while waiting on response from the lower layers. Returning "EINTR" will never initiate internal retry. Fix details: The issue was fixed by replacing "EINTR" with "ERESTARTSYS" for mid-layer retries. Signed-off-by: Penchala Narasimha Reddy Signed-off-by: James Bottomley commit e6622df3bb1a8e1135f4b84928e24d4c6802f6b5 Author: James Bottomley Date: Thu Jan 7 08:04:59 2010 -0500 [SCSI] lpfc: fix file permissions lpfc_hbadisc.c and lpfc_hw4.h accidentally got set executable. Reported-by: Thomas Backlund Cc: James Smart Signed-off-by: James Bottomley commit d00c362f1b0ff54161e0a42b4554ac621a9ef92d Author: Jarek Poplawski Date: Sat Jan 16 01:04:04 2010 -0800 ax25: netrom: rose: Fix timer oopses Wrong ax25_cb refcounting in ax25_send_frame() and by its callers can cause timer oopses (first reported with 2.6.29.6 kernel). Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=14905 Reported-by: Bernard Pidoux Tested-by: Bernard Pidoux Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e5de30c9bf4a39db9f54c4a373470ce65881ade0 Author: Benoit Papillault Date: Fri Jan 15 12:21:37 2010 +0100 mac80211: check that ieee80211_set_power_mgmt only handles STA interfaces. ieee80211_set_power_mgmt is meant for STA interfaces only. Moreover, since sdata->u.mgd.mtx is only initialized for STA interfaces, using this code for any other type of interface (like creating a monitor interface) will result in a oops. Cc: stable@kernel.org Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 2a04cd4c7d41c4549764734dcf5a883d304e3229 Author: Roel Kluin Date: Fri Jan 15 01:49:28 2010 -0800 appletalk:: da.s_net not copied but assigned to itself in aarp_rcv() da.s_net was not copied but assigned to itself. Signed-off-by: Roel Kluin Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9fe3b691282691a46abbb25a1e0a8e5f96486d18 Author: Dan Williams Date: Fri Jan 15 01:47:37 2010 -0800 MAINTAINERS: transfer maintainership of I/OAT Dan Williams takes over I/OAT from Maciej Sosnowski Signed-off-by: Dan Williams Signed-off-by: Maciej Sosnowski Signed-off-by: David S. Miller commit 38ff3e6bb987ec583268da8eb22628293095d43b Author: Neil Horman Date: Fri Jan 15 01:40:55 2010 -0800 dccp_probe: Fix module load dependencies between dccp and dccp_probe This was just recently reported to me. When built as modules, the dccp_probe module has a silent dependency on the dccp module. This stems from the fact that the module_init routine of dccp_probe registers a jprobe on the dccp_sendmsg symbol. Since the symbol is only referenced as a text string (the .symbol_name field in the jprobe struct) rather than the address of the symbol itself, depmod never picks this dependency up, and so if you load the dccp_probe module without the dccp module loaded, the register_jprobe call fails with an -EINVAL, and the whole module load fails. The fix is pretty easy, we can just wrap the register_jprobe call in a try_then_request_module call, which forces the dependency to get satisfied prior to the probe registration. Signed-off-by: Neil Horman Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0299b1371d8f1b074c8284a19beb9094ada9405f Author: John Stultz Date: Fri Jan 15 01:34:28 2010 -0800 sparc: convert to arch_gettimeoffset() This patch converts sparc (specifically sparc32) to use GENERIC_TIME via the arch_getoffset() infrastructure, reducing the amount of arch specific code we need to maintain. The sparc architecture is one of the last 3 arches that need to be converted. This patch applies on top of Linus' current -git tree I've taken my best swing at converting this, but I'm not 100% confident I got it right. My cross-compiler is now out of date (gcc4.2) so I wasn't able to check if it compiled. Any assistance from arch maintainers or testers to get this merged would be great. Signed-off-by: John Stultz Signed-off-by: David S. Miller commit 093171465235a8482fbf08a9a2e365247e1f7dd5 Author: Roel Kluin Date: Fri Jan 15 01:27:49 2010 -0800 sparc: leds_resource.end assigned to itself in clock_board_probe() It should be a 1 byte region. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 1296cc85c26e94eb865d03f82140f27d598de467 Author: Aneesh Kumar K.V Date: Fri Jan 15 01:27:59 2010 -0500 ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag We should update reserve space if it is delalloc buffer and that is indicated by EXT4_GET_BLOCKS_DELALLOC_RESERVE flag. So use EXT4_GET_BLOCKS_DELALLOC_RESERVE in place of EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE Signed-off-by: Aneesh Kumar K.V commit 5f634d064c709ea02c3cdaa850a08323a4a4bf28 Author: Aneesh Kumar K.V Date: Mon Jan 25 04:00:31 2010 -0500 ext4: Fix quota accounting error with fallocate When we fallocate a region of the file which we had recently written, and which is still in the page cache marked as delayed allocated blocks we need to make sure we don't do the quota update on writepage path. This is because the needed quota updated would have already be done by fallocate. Signed-off-by: Aneesh Kumar K.V commit 1db913823c0f8360fccbd24ca67eb073966a5ffd Author: Aneesh Kumar K.V Date: Fri Jan 22 17:06:20 2010 -0500 ext4: Handle -EDQUOT error on write We need to release the journal before we do a write_inode. Otherwise we could deadlock. Signed-off-by: Aneesh Kumar K.V commit 8471a26b9c36c965d278020cc0699e2e95d120e5 Merge: 79b7dcb 700a0cc Author: Dave Airlie Date: Fri Jan 15 15:40:39 2010 +1000 Merge remote branch 'korg/drm-radeon-testing' into drm-linus * korg/drm-radeon-testing: drm/radeon/kms: Use radeon_agp_disable when disabling AGP drm/radeon/kms: Disable AGP is aperture size < 32M drm/radeon/kms: Fix r600 blit cleanup path drm/radeon/kms: Do not unpin buffer in fb destruction drm/radeon/kms: fix displayport->dvi connector DDC. commit 79b7dcb2af7da728819cf060b94ce8c9ead36f7e Author: Jerome Glisse Date: Thu Jan 14 19:02:20 2010 +0100 drm: EDID accept separate sync video mode X is accepting such video mode, do the same. Pointed out by Joshua Roys on IRC. Fix https://bugzilla.redhat.com/show_bug.cgi?id=540024 [fix printf to use composite not integrated :- airlied] Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 1c974dc21898f9abbcb5e47ae9ddb7e6b473de2e Merge: 354fb52 12f735b Author: Dave Airlie Date: Fri Jan 15 13:22:59 2010 +1000 Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus * 'nouveau/for-airlied' of ../drm-nouveau-next: (44 commits) drm/nouveau: check pushbuffer bounds in ioctl drm/nouveau: reserve VGA area for the moment drm/nouveau: Unset the EDID connector property when the EDID block goes away. drm/nouveau: Fallback to analog load detection when the EDID block is invalid. drm/nouveau: fix edid memleak in nouveau_connector drm/nouveau: Break some long lines. drm/nouveau: add NV18 device id to call_lvds_manufacturer_script drm/nv50: Fix typo in PGRAPH initialisation. drm/nouveau: less magic DCB 1.5 parsing drm/nouveau: assume no nv04 board has a DCB table drm/nouveau: remove PRIV0 check in nouveau_mem_close() drm/nouveau: wait on fence after bo move if validating for another channel drm/nouveau: trust init table registers are safe drm/nv50: wait for pgraph to idle before unloading the context commit 12f735b79f0ad63964dedabed3eee8a581bb66a5 Author: Luca Barbieri Date: Sun Jan 10 20:10:53 2010 +0100 drm/nouveau: check pushbuffer bounds in ioctl Currently there is no check that the pushbuffer request bounds are inside the TTM BO. This allows to instruct the kernel to do relocations on user-selected addresses, since the relocation bounds checking relies on the request bounds. This can oops the kernel accidentally and is easily exploitable. This patch adds bound checking and alignment checking for ->offset and ->nr_dwords. It also makes some variables unsigned, which should have no effect, but prevents possible bounds checking problems. Signed-off-by: Luca Barbieri Signed-off-by: Ben Skeggs commit ac8fb975e8c88d312a376b035494be17548d01c6 Author: Ben Skeggs Date: Fri Jan 15 09:24:20 2010 +1000 drm/nouveau: reserve VGA area for the moment This is to prevent things such as GART tables and other important GPU structures being allocated there before we take over fbcon ourselves. This is more of a workaround for the moment, a better solution will require some more invasive changes, but it'll be done at some point. Signed-off-by: Ben Skeggs commit b8780e2ad20feb8d086bc961a678e8fdb4fa296b Author: Francisco Jerez Date: Thu Jan 14 15:54:23 2010 +0100 drm/nouveau: Unset the EDID connector property when the EDID block goes away. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 0ed3165e55fdedee6fc04b757907a2d5ccacdf18 Author: Francisco Jerez Date: Thu Jan 14 15:47:03 2010 +0100 drm/nouveau: Fallback to analog load detection when the EDID block is invalid. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit c8ebe275790f2c5efc3ffec515c93b7a139829d3 Author: Xavier Chantry Date: Mon Jan 11 22:42:21 2010 +0100 drm/nouveau: fix edid memleak in nouveau_connector This was spotted by kmemleak. Signed-off-by: Xavier Chantry Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 3d9aefb8bd1be2b5e07acf0f938c21769f03cc64 Author: Francisco Jerez Date: Thu Jan 14 14:56:54 2010 +0100 drm/nouveau: Break some long lines. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit b79d8a65d52d3d80204e1bad30ee57bb5a58ced1 Author: Andrea Tacconi Date: Thu Jan 14 14:52:37 2010 +0100 drm/nouveau: add NV18 device id to call_lvds_manufacturer_script This fixes imac black screen (NV18 card) Signed-off-by: Andrea Tacconi Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 5f6120335c701ba07d5151206071f4d6ccaa684f Author: Abhijeet Kolekar Date: Wed Jan 13 13:23:14 2010 -0800 cfg80211: fix channel setting for wext Patch fixes the bug at http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2139 Currently we cannot set the channel using wext extension if we have already associated and disconnected. As cfg80211_mgd_wext_siwfreq will not switch the channel if ssid is set. This fixes it by clearing the ssid. Following is the sequence which it tries to fix. modprobe iwlagn iwconfig wlan0 essid "" ifconfig wlan0 down iwconfig wlan0 chan X wext is marked as deprecate.If we use nl80211 we can easily play with setting the channel. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz cc: stable@kernel.org Signed-off-by: John W. Linville commit a0e803a2112398150daa4d88c9d58409e0cf0b6c Author: Samuel Ortiz Date: Wed Jan 13 12:09:08 2010 +0100 iwmc3200wifi: Add UMAC wifi headers to the pmkid command Without this header, we can trigger a UMAC crash with debug enabled UMACs. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 8654164f54bd02787ae91db8526dcae8e7e34eeb Author: David S. Miller Date: Thu Jan 14 03:14:53 2010 -0800 sparc32: Fix page_to_phys(). It doesn't account for phys_base like it should, fix by using page_to_pfn(). While we're here, make virt_to_page() use pfn_to_page() as well, so we consistently use the asm/memory-model.h abstractions instead of open-coding memory model assumptions. Tested-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 716abaa8e52548e8863831cb32984655f46b5566 Author: Marcin Kościelnicki Date: Tue Jan 12 18:21:56 2010 +0000 drm/nv50: Fix typo in PGRAPH initialisation. This enables streamout functionality. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit b0d2de860bd621959bc826ffd42618fe1de37a61 Author: Ben Skeggs Date: Thu Jan 14 17:53:04 2010 +1000 drm/nouveau: less magic DCB 1.5 parsing This in the very least matches the parsing of all the previously known entries, and hopefully (at least closer to) correct for any we haven't seen yet. Signed-off-by: Ben Skeggs commit ed42f8240cfea13580fe91195e52c5247275e7df Author: Ben Skeggs Date: Thu Jan 14 15:58:10 2010 +1000 drm/nouveau: assume no nv04 board has a DCB table There's a report of a TNT2 where the DCB table pointer is *not* NULL (it contains a part of a VBIOS data string), and we assume this means a DCB table is present, causing all kinds of hilarity. Signed-off-by: Ben Skeggs commit 77cb5c75e89ccfeb993d9dec37f8edb3a855e9f4 Author: Ben Skeggs Date: Wed Jan 13 11:22:33 2010 +1000 drm/nouveau: remove PRIV0 check in nouveau_mem_close() We don't setup PRIV0 anymore, so this is unnecessary. Signed-off-by: Ben Skeggs commit e147eae80afe98b86a7921a40a709584e6603e34 Author: Ben Skeggs Date: Tue Jan 12 15:28:19 2010 +1000 drm/nouveau: wait on fence after bo move if validating for another channel Not an ideal solution, but it'll do for the moment for correctness. We need to come up with a nicer way to manage inter-channel sync, the hw is unfortunately a little lacking in this area. Should fix some resume corruption, as well as corruption that may be seen while under memory pressure. Signed-off-by: Ben Skeggs commit 9855e584d296a32bbcc1bb3d29b7e0ed078b03cc Author: Ben Skeggs Date: Tue Jan 12 13:02:19 2010 +1000 drm/nouveau: trust init table registers are safe Apparently the original reason for checking this was there were known register accesses that caused hangs on some chipsets. This was more than likely because of incorrect parsing of previous opcodes, and I hardly think aborting a script half way through is going to be any better (in fact, we have had bug reports where this has been the cause of s/r failures among other things). This patch (which has been in Fedora 12 for a long time now) removes all checking for known register ranges, and just leaves the check to ensure the access is within the mapped aperture to avoid an oops. Signed-off-by: Ben Skeggs commit 0a90dc51aa3162abb7cd64323ba2e6674e1c5ff4 Author: Maarten Maathuis Date: Mon Jan 11 21:18:53 2010 +0100 drm/nv50: wait for pgraph to idle before unloading the context This should fix the problem with gpu hangs people have had when closing channels. Signed-off-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit 354fb52cb6138de0e6cf84a0f6a7f3467586e390 Author: Thomas Hellstrom Date: Wed Jan 13 22:28:45 2010 +0100 drm/ttm: Make sure system buffer objects has offset == 0. This is a convention that the vmwgfx driver has come to rely on. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit d9f36a0051b7c0382107cb0342af1126a6eb627d Author: Thomas Hellstrom Date: Wed Jan 13 22:28:43 2010 +0100 drm/vmwgfx: Implement basic pm operations. Currently we really only support S3, since the device doesn't support saving of the 3D state. On S3/S4, move all buffer objects to swappable memory and take down GMR bindings. We need to do that from a PM notifier since we can't do persistant memory allocations from the standard PM callbacks. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit e99e1e7893ac80fe769477cb1ddd4b482cef8902 Author: Thomas Hellstrom Date: Wed Jan 13 22:28:42 2010 +0100 drm/ttm: Export symbols needed for vmwgfx suspend / resume operations. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 476d51dbdbaa2e61fa4899459c658f476eee3fd9 Author: Thomas Hellstrom Date: Wed Jan 13 22:28:41 2010 +0100 drm/vmwgfx: Implement a swap_notify callback. Unbind GMR bindings on the buffer about to be swapped out. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 3f09ea4ecdcbcea05541f83e557d6ce2e56626d8 Author: Thomas Hellstrom Date: Wed Jan 13 22:28:40 2010 +0100 drm/ttm: Add a swap_notify callback. This is needed for a bugfix in the vmwgfx driver. Drivers may have GPU bindings on buffers that core TTM is not aware of, and TTM may view those buffers as ordinary system memory buffers. Add a notifier to such drivers when TTM is about to move the buffer contents out to swappable memory. The driver must then release any private GPU bindings on those buffers. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit effe1105bef07f42366c20eac41b80ff9fcf675e Author: Thomas Hellstrom Date: Wed Jan 13 22:28:39 2010 +0100 drm/vmwgfx: Use bo_driver::move_notify to unbind GMRs. This was previously done explicitly for overlay- and fb buffers. Now it's done for any buffer leaving the SYSTEM memory region. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 7704befbd599e9c9524f640e14658ca8ed9d8717 Author: Thomas Hellstrom Date: Wed Jan 13 22:28:38 2010 +0100 drm/vmwgfx: Make fence sequences continous across a VT switch. A vt switch in stealth mode would take down the FIFO, and re- initialize fence sequence numbers. This patch saves the current state of the fence sequence when the FIFO is disabled. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 50ec3b7c35fda131e92abc6f9d93a230b7e009eb Author: Thomas Hellstrom Date: Wed Jan 13 22:28:37 2010 +0100 drm/vmwgfx: Fix an error path causing an oops. An error happening before the snooper.image member had been set up would cause a kfree of an arbitrary pointer. Set up the snooper.image member early. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit df1c93bae2b671e2aa50899a120af20afdbd504b Author: Thomas Hellstrom Date: Wed Jan 13 22:28:36 2010 +0100 drm/vmwgfx: Don't promote updates from GMR-backed scanouts to fullscreen. That's unnecessary since partial screen updates from GMRs are fast. Also fix cliprect pointer dereferencing Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 700a0cc088a42a2ed92c6f961534fdb38588af87 Author: Jerome Glisse Date: Wed Jan 13 15:16:38 2010 +0100 drm/radeon/kms: Use radeon_agp_disable when disabling AGP Use same common function to disable agp so we replace the GART callback by the proper one when we do so. This fix oops if radeon_agp_init report failure. This patch also move radeon_agp_init out of *_mc_init for r600 & rv770 so that we can have a similar behavior than for previous hw, ie if agp_init fails it will fallback to GPU GART and disable AGP. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 0a3f316370da07fcdb11fde4f5a683d60713b7fd Author: Jerome Glisse Date: Wed Jan 13 15:16:39 2010 +0100 drm/radeon/kms: Disable AGP is aperture size < 32M radeon KMS need a GART of at least 32M to properly work. This patch check the AGP aperture size and disable if it's less than 32M. Note than unlike non KMS path we don't staticaly allocate AGP memory so we are not wasting memory not used by graphic processing. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 30d2d9a54d48e4fefede0389ded1b6fc2d44a522 Author: Jerome Glisse Date: Wed Jan 13 10:29:27 2010 +0100 drm/radeon/kms: Fix r600 blit cleanup path r600 blit cleanup path need to check if a bo was allocated before trying to free or unpin it. This patch add this check and avoid oops when the initialization on r6xx or r7xx hw fails. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 6398d42454ce1671b3422c34fd0f600c9c76c8b1 Author: Jerome Glisse Date: Wed Jan 13 12:32:36 2010 +0100 drm/radeon/kms: Do not unpin buffer in fb destruction It's not necessary to unpin buffer in fb destruction. pin/unpin need to be balanced and we don't pin in fb creation. We pin when an fb is associated to a crtc and unpin when the fb is disassociated from the crtc. Note: Maybe we should take reference on fb in set_base callback so fb doesn't disappear until it's unbind from ctrc. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 7a15cbd40108a670baae71cbd3cec62b65891fa6 Author: Dave Airlie Date: Thu Jan 14 11:42:17 2010 +1000 drm/radeon/kms: fix displayport->dvi connector DDC. It appears that attempting AUXCH DDC breaks the subsequent attempt to do DDC over the i2c lines, so use the sink type to determine if we should be doing AUXCH or i2c DDC. This fixes my DVI monitor plugged into DP->DVI convertor. Signed-off-by: Dave Airlie commit f5e2bae0aad03164ffc7ce9dfeee6608e2c87dba Author: Morten Thunberg Svendsen Date: Wed Jan 6 10:48:18 2010 +0100 mtd: tests: fix read, speed and stress tests on NOR flash Before using block_isbad() check if mtd->block_isbad() is defined. Calculating pgcnt must be done using pgsize defined to 512 on NOR and mtd->writesize for NAND, not using mtd->writesize directly. Signed-off-by: Morten Thunberg Svendsen Acked-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit f6a8c60960bbea378142d1fa1b3d111555ee41c7 Author: Russell King - ARM Linux Date: Sun Nov 29 15:23:51 2009 +0000 mtd: Really add ARM pismo support (Commit 7cb777a3d71f9d1f7eb149c7a504d21f24219ae8 (mtd: add ARM pismo support) intended to add this, but seems only to have patched the Makefile without touching Kconfig or providing any code...) The following patch adds support for PISMO modules found on ARM Ltd development platforms. These are MTD modules, and can have a selection of SRAM, flash or DOC devices as described by an on-board I2C EEPROM. We support SRAM and NOR flash devices only by registering appropriate conventional MTD platform devices as children of the 'pismo' device. Signed-off-by: Russell King Signed-off-by: David Woodhouse commit b531b55a7bde8aa2bdf7023b3afc6df1bf3dcb67 Author: Artem Bityutskiy Date: Tue Jan 5 17:25:59 2010 +0200 UBI: add more checks to chdev open When opening UBI volumes by their character device names, make sure we are opening character devices, not block devices or any other inode type. Signed-off-by: Artem Bityutskiy commit ff998793288b49a3b22d929bf8e56362320905ff Author: Peter Horton Date: Tue Jan 5 11:14:36 2010 +0000 UBI: initialise update marker The in kernel copy of a volume's update marker is not initialised from the volume table. This means that volumes where an update was unfinnished will not be treated as "forbidden to use". This is basically that the update functionality was broken. Signed-off-by: Peter Horton Signed-off-by: Artem Bityutskiy Cc: stable@kernel.org commit af2e7cc27016eadcf3840325aaef59afece3b8f2 Author: Robert P. J. Day Date: Tue Dec 29 22:58:39 2009 +0000 sparc: Simplify param.h by simply including Signed-off-by: Robert P. J. Day Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 6fcd585f15ffee6acbe6f502091e5e994283ce44 Author: David S. Miller Date: Mon Jan 11 23:43:26 2010 -0800 sparc32: Update defconfig. Signed-off-by: David S. Miller commit fe5a64acbfab4f79ccd18972c3d4c1cae31f3b8d 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 75c99da6cdd0ec9d70747f9ced3e85b2dd955cdf 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 dff36321497b1130085820c81a44779b065c8d7e 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 1dee7a930bfddd69825fca3e3f9541c8a5333876 Author: Ben Skeggs Date: Thu Jan 7 13:47:57 2010 +1000 drm/nv04: differentiate between nv04/nv05 Signed-off-by: Ben Skeggs commit 234896a7671c23233230622728f6942b3d1c098e 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 7978b9cfa59133a34aaad420e447c2a29d5c6152 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 bbb8c3d8820893694a3567716adb3b6f6ba2b7d0 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 7fb8ec8e2bedc8381243cf4bdc4cfa8e657397a8 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 846975a97b098bbbf1232a01a3a5723a4bddd9e7 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 61768bf1e694056cb41029b60e1270bf2578a83f 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 bf5302b9496b25fe80ffa8a4fd191ad95c217864 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 be9721a951bd5ee6346dd2f3eed8a6fd1761c186 Author: Francisco Jerez Date: Sat Dec 26 14:39:46 2009 +0100 drm/nv04: Context switching fixes. Signed-off-by: Francisco Jerez commit 8c032ce73ef3a9e5a14c35ea3de19f1b9a8d7c0d 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 f03a314b4671407c4ff69a2d85e72413e8064c48 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 a510604df9444a2a1bdecafc048749e0f35816b5 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 1c7059e4f36e76c72cefbb6c9bd2bcf45c12e777 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 111b459af191891f49682f21e11f348703cd8bdd 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 0829168b474663d8b13f6105368dbbf4a1a03256 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 11d6eb2af53395b25e1d6b8b79bb9a999c3e4c4d 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 3033f14d6538e0e7c3c53d3ed1ff6cec28260b98 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 75c722d7ea70b791d179ec900e7c88bd6d5fd71e 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 8dea4a1935fabbc5fcea6016d6670e6bc06de198 Author: Francisco Jerez Date: Wed Dec 16 19:03:28 2009 +0100 drm/nouveau: Drop redundant placement initialization. Signed-off-by: Francisco Jerez commit 27f691a69d411b9b2093163cdd27780f9c927422 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 77e2b5ed83864f0a58e2cd046b15aab6865babfb 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 cea7789f2a680893e812776dd7202dd50475f9d2 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 a0af9add499cf29a16707b7b148842992077f4cb 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 cb00f7c1419d09ee0daf7d8bed86f253d98db7b4 Author: Francisco Jerez Date: Wed Dec 16 12:12:27 2009 +0100 drm/nouveau: Pre-G80 tiling support. Signed-off-by: Francisco Jerez commit 588d7d1268658b6a010eb7415bff2f936c51acf7 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 76704fb56c7317ae02c3267fc31d215f3a2528ca Author: Jiri Slaby Date: Fri Jan 8 00:03:26 2010 -0800 SPARC: 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 Signed-off-by: David S. Miller commit e8d6d61586b84acfd66ec20142c9a850d2d11544 Merge: a3a06cb6 003e69f Author: Dave Airlie Date: Fri Jan 8 13:29:53 2010 +1000 Merge remote branch 'korg/drm-radeon-testing' into drm-testing commit a3a06cb6c207a5612fa9753e2453bbcb3f5a256d Merge: a81406b 7751b8c Author: Dave Airlie Date: Fri Jan 8 13:29:41 2010 +1000 Merge remote branch 'korg/drm-core-next' into drm-testing commit 7751b8cb754f1bc48b20c1145d43c7651d4951fd 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 992dc9ae61f86db3b8ef9f8d6b7df898c90e8c08 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 6df1c176994fab993f3112e3e4145a7d2bae64d0 Author: Heiko Carstens Date: Tue Jan 5 20:41:48 2010 -0800 sparc: copy_from_user() should not return -EFAULT From: Heiko Carstens 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. Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit 0f4bd46ec252887f44f1f065b41867cac8f70dfb Author: KOSAKI Motohiro Date: Tue Dec 22 03:15:43 2009 +0000 kmsg_dump: Dump on crash_kexec as well crash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if panic_on_oops is set, so the kernel log buffer is not stored for this case. This patch adds a KMSG_DUMP_KEXEC dump type which gets called when crash_kexec() is invoked. To avoid getting double dumps, the old KMSG_DUMP_PANIC is moved below crash_kexec(). The mtdoops driver is modified to handle KMSG_DUMP_KEXEC in the same way as a panic. Signed-off-by: KOSAKI Motohiro Acked-by: Simon Kagstrom Signed-off-by: David Woodhouse