commit 29275254caedfedce960cfe6df24b90cb04fe431 Author: Linus Torvalds Date: Sat Feb 6 14:17:12 2010 -0800 Linux 2.6.33-rc7 commit 82e22d77bfb2523284fdf5c484c1fa5269a5d27e Merge: f6510ec b0bcdd3 Author: Linus Torvalds Date: Sat Feb 6 13:02:31 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: (w83781d) Request I/O ports individually for probing hwmon: (lm78) Request I/O ports individually for probing hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT commit f6510ec5a96d07897a109ad8919c6af5e9b3f4bc Merge: 6f5a55f 93533c2 Author: Linus Torvalds Date: Sat Feb 6 13:01:39 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Fix leak of relocs along do_execbuffer error path drm/i915: slow acpi_lid_open() causes flickering - V2 drm/i915: Disable SR when more than one pipe is enabled drm/i915: page flip support for Ironlake drm/i915: Fix the incorrect DMI string for Samsung SX20S laptop drm/i915: Add support for SDVO composite TV drm/i915: don't trigger ironlake vblank interrupt at irq install drm/i915: handle non-flip pending case when unpinning the scanout buffer drm/i915: Fix the device info of Pineview drm/i915: enable vblank interrupt on ironlake drm/i915: Prevent use of uninitialized pointers along error path. drm/i915: disable hotplug detect before Ironlake CRT detect commit 6f5a55f1a6c5abee15a0e878e5c74d9f1569b8b0 Author: Linus Torvalds Date: Fri Feb 5 16:16:50 2010 -0800 Fix potential crash with sys_move_pages We incorrectly depended on the 'node_state/node_isset()' functions testing the node range, rather than checking it explicitly. That's not reliable, even if it might often happen to work. So do the proper explicit test. Reported-by: Marcus Meissner Acked-and-tested-by: Brice Goglin Acked-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 9d9c3a51e7b20dcd63b8cc534035af99a41d03e4 Merge: 56dca4c 3e0b33f Author: Linus Torvalds Date: Fri Feb 5 11:11:34 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: pandora: Add APLL supply to fix audio output ALSA: ice1724 - aureon - fix wm8770 volume offset ALSA: cosmetic: make hda intel interrupt name consistent with others ALSA: hda - Delay switching to polling mode if an interrupt was missing ALSA: ctxfi - fix PTP address initialization commit b0bcdd3cd0adb85a7686b396ba50493871b1135c Author: Jean Delvare Date: Fri Feb 5 19:58:36 2010 +0100 hwmon: (w83781d) Request I/O ports individually for probing Different motherboards have different PNP declarations for W83781D/W83782D chips. Some declare the whole range of I/O ports (8 ports), some declare only the useful ports (2 ports at offset 5) and some declare fancy ranges, for example 4 ports at offset 4. To properly handle all cases, request all ports individually for probing. After we have determined that we really have a W83781D or W83782D chip, the useful port range will be requested again, as a single block. I did not see a board which needs this yet, but I know of one for lm78 driver and I'd like to keep the logic of these two drivers in sync. Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 197027e6ef830d60e10f76efc8d12bf3b6c35db5 Author: Jean Delvare Date: Fri Feb 5 19:58:36 2010 +0100 hwmon: (lm78) Request I/O ports individually for probing Different motherboards have different PNP declarations for LM78/LM79 chips. Some declare the whole range of I/O ports (8 ports), some declare only the useful ports (2 ports at offset 5) and some declare fancy ranges, for example 4 ports at offset 4. To properly handle all cases, request all ports individually for probing. After we have determined that we really have an LM78 or LM79 chip, the useful port range will be requested again, as a single block. This fixes the driver on the Olivetti M3000 DT 540, at least. Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 85f8d3e5faea8bd36c3e5196f8334f7db45e19b2 Author: Ray Copeland Date: Fri Feb 5 19:58:35 2010 +0100 hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT The #define ADT7462_VOLT_COUNT is wrong, it should be 13 not 12. All the for loops that use this as a limit count are of the typical form, "for (n = 0; n < ADT7462_VOLT_COUNT; n++)", so to loop through all voltages w/o missing the last one it is necessary for the count to be one greater than it is. (Specifically, you will miss the +1.5V 3GPIO input with count = 12 vs. 13.) Signed-off-by: Ray Copeland Acked-by: "Darrick J. Wong" Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 3e0b33f786e7f950f2430a305169f3db4a1a5521 Merge: a26a408 9d4c746 Author: Takashi Iwai Date: Fri Feb 5 19:57:23 2010 +0100 Merge remote branch 'alsa/fixes' into for-linus commit a26a408888b2968d5de5af233655f6497ac5623f Merge: db9256c 3b9447f Author: Takashi Iwai Date: Fri Feb 5 19:57:16 2010 +0100 Merge branch 'fix/asoc' into for-linus commit db9256c00329035463625cbe709d2d24e97abad4 Merge: f3f1e14 9492837 Author: Takashi Iwai Date: Fri Feb 5 19:56:55 2010 +0100 Merge branch 'fix/hda' into for-linus commit 56dca4ceb7b39aa4173aa1cb822c860ced2be1ec Merge: 73d2eaa 2d68b7f Author: Linus Torvalds Date: Fri Feb 5 07:58:21 2010 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] Call flush_dcache_page after PIO data transfers in libata-sff.c ahci: add Acer G725 to broken suspend list libata: fix ata_id_logical_per_physical_sectors libata-scsi passthru: fix bug which truncated LBA48 return values commit 73d2eaac8a3f1ec1d6d0a80ea7302a439ca9b933 Author: Andres Salomon Date: Fri Feb 5 01:42:43 2010 -0500 CS5536: apply pci quirk for BIOS SMBUS bug The new cs5535-* drivers use PCI header config info rather than MSRs to determine the memory region to use for things like GPIOs and MFGPTs. As anticipated, we've run into a buggy BIOS: [ 0.081818] pci 0000:00:14.0: reg 10: [io 0x6000-0x7fff] [ 0.081906] pci 0000:00:14.0: reg 14: [io 0x6100-0x61ff] [ 0.082015] pci 0000:00:14.0: reg 18: [io 0x6200-0x63ff] [ 0.082917] pci 0000:00:14.2: reg 20: [io 0xe000-0xe00f] [ 0.083551] pci 0000:00:15.0: reg 10: [mem 0xa0010000-0xa0010fff] [ 0.084436] pci 0000:00:15.1: reg 10: [mem 0xa0011000-0xa0011fff] [ 0.088816] PCI: pci_cache_line_size set to 32 bytes [ 0.088938] pci 0000:00:14.0: address space collision: [io 0x6100-0x61ff] already in use [ 0.089052] pci 0000:00:14.0: can't reserve [io 0x6100-0x61ff] This is a Soekris board, and its BIOS sets the size of the PCI ISA bridge device's BAR0 to 8k. In reality, it should be 8 bytes (BAR0 is used for SMBus stuff). This quirk checks for an incorrect size, and resets it accordingly. Signed-off-by: Andres Salomon Tested-by: Leigh Porter Tested-by: Jens Rottmann Signed-off-by: Linus Torvalds commit 2938429501b73f6aeb312236eac7ed0416a07cd5 Author: Stephen Rothwell Date: Fri Feb 5 16:09:11 2010 +1100 percpu: add __percpu for sparse This is to make the annotation of percpu variables during the next merge window less painfull. Extracted from a patch by Rusty Russell. Signed-off-by: Stephen Rothwell Acked-by: Tejun Heo Signed-off-by: Linus Torvalds commit cbee4751f612692c1de3b8e420ebcb0fb16c7c56 Merge: adbfbcd 5ff5571 Author: Linus Torvalds Date: Fri Feb 5 07:24:01 2010 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: fix r300 vram width calculations drm/radeon/kms: rs400/480 MC setup is different than r300. drm/radeon/kms: make initial state of load detect property correct. drm/radeon/kms: disable HDMI audio for now on rv710/rv730 drm/radeon/kms: don't call suspend path before cleaning up GPU drivers/gpu/drm/radeon/radeon_combios.c: fix warning ati_pcigart: fix printk format warning drm/r100/kms: Emit cache flush to the end of command buffer. (v2) drm/radeon/kms: fix regression rendering issue on R6XX/R7XX drm/radeon/kms: move blit initialization after we disabled VGA commit adbfbcd12af3d183957622a99ca009b665639b81 Merge: fc76be4 23b5c50 Author: Linus Torvalds Date: Fri Feb 5 07:23:03 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: apply updated fallocate i_size fix Btrfs: do not try and lookup the file extent when finishing ordered io Btrfs: Fix oopsen when dropping empty tree. Btrfs: remove BUG_ON() due to mounting bad filesystem Btrfs: make error return negative in btrfs_sync_file() Btrfs: fix race between allocate and release extent buffer. commit 3b9447fb7fa1829731290e64ef928d4f6461310a Author: Grazvydas Ignotas Date: Fri Feb 5 00:55:33 2010 +0200 ASoC: pandora: Add APLL supply to fix audio output Pandora's external DAC is using 256*Fs output from the TWL4030 codec, and TWL4030 needs to have APLL enabled for it's 256*Fs output to function. Signed-off-by: Grazvydas Ignotas Acked-by: Peter Ujfalusi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9d4c7464458770d309169f7a7ce1ea6f8a4a7de5 Author: Jaroslav Kysela Date: Fri Feb 5 10:19:41 2010 +0100 ALSA: ice1724 - aureon - fix wm8770 volume offset The volume register is from 0..0x7f and 0..0x1a range is mute. Also, fix mute combining in wm_vol_put(). The wrong behaviour was noticed by Peter Christensen. Signed-off-by: Jaroslav Kysela commit 9492837a6f54b069e13e40e3c89898bb8837a386 Author: Maxim Levitsky Date: Thu Feb 4 22:26:37 2010 +0200 ALSA: cosmetic: make hda intel interrupt name consistent with others This renames the interrupt name in /proc/interrupt. HDA Intel -> hda_intel This also eliminates space from the name, probably helping some parsers. Don't think anybody depends on this name in userspace Signed-off-by: Takashi Iwai commit 1eb6dc7dabcb4aa762d96f4f6978f3ef86321d68 Author: Maxim Levitsky Date: Thu Feb 4 22:21:47 2010 +0200 ALSA: hda - Delay switching to polling mode if an interrupt was missing My sound codec seems sometimes (very rarely) to omit interrupts (ALC268) However, interrupt mode still works. Thus if we get timeout, poll the codec once. If we get 3 such polls in a row, then switch to polling mode. This patch is maybe an bandaid, but this might be a workaround for hardware bug. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai commit 5ff55717674470b96562f931f778c878080755b7 Author: Dave Airlie Date: Fri Feb 5 13:57:03 2010 +1000 drm/radeon/kms: fix r300 vram width calculations This was incorrect according to the docs and the UMS driver does it like this. Signed-off-by: Dave Airlie commit a17538f93c16f0e15e35dc31eedad87e2d9c5c26 Author: Dave Airlie Date: Fri Feb 5 13:41:54 2010 +1000 drm/radeon/kms: rs400/480 MC setup is different than r300. Boot testing on my rs480 laptop found the MC idle never happened on startup, a quick check with AMD found the idle bit is in a different place on the rs4xx than r300. Implement a new rs400 mc idle function to fix this. Signed-off-by: Dave Airlie commit 624ab4f87e99f10ea3b45e76039c477fd4d7a7e6 Author: Dave Airlie Date: Wed Jan 27 16:07:15 2010 +1000 drm/radeon/kms: make initial state of load detect property correct. this was incorrect on my rs480. Signed-off-by: Dave Airlie commit 23fff28a9b0529869bffef8aab0d3f350dd3b5a4 Author: Dave Airlie Date: Fri Feb 5 11:57:42 2010 +1000 drm/radeon/kms: disable HDMI audio for now on rv710/rv730 Support isn't correct yet and we are getting green tinges on the displays. Signed-off-by: Dave Airlie commit 655efd3dc92cd0d37292157178d33deb0430aeaa Author: Jerome Glisse Date: Tue Feb 2 11:51:45 2010 +0100 drm/radeon/kms: don't call suspend path before cleaning up GPU In suspend path we unmap the GART table while in cleaning up path we will unbind buffer and thus try to write to unmapped GART leading to oops. In order to avoid this we don't call the suspend path in cleanup path. Cleanup path is clever enough to desactive GPU like the suspend path is doing, thus this was redondant. Tested on: RV370, R420, RV515, RV570, RV610, RV770 (all PCIE) Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 94cf6434a1bc5958d5da3be62f1272792dada2bf Author: Andrew Morton Date: Tue Feb 2 14:40:29 2010 -0800 drivers/gpu/drm/radeon/radeon_combios.c: fix warning drivers/gpu/drm/radeon/radeon_combios.c: In function 'radeon_combios_get_lvds_info': drivers/gpu/drm/radeon/radeon_combios.c:893: warning: comparison is always false due to limited range of data type Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit d7748bacbbee80b2cc4b690a74d5db2cd84acd7b Author: Randy Dunlap Date: Tue Feb 2 14:40:33 2010 -0800 ati_pcigart: fix printk format warning Fix ati_pcigart printk format warning: drivers/gpu/drm/ati_pcigart.c:115: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'dma_addr_t' Signed-off-by: Randy Dunlap Cc: Zhenyu Wang Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 9e5b2af75abc67c13005c706cf95bbbb78f7fddc Author: Pauli Nieminen Date: Thu Feb 4 19:20:53 2010 +0200 drm/r100/kms: Emit cache flush to the end of command buffer. (v2) Cache flush is required in case CPU is accessing rendered data. This fixes glean/readPixSanity test case and random rendering errors in sauerbraten and warzone2100. v2 Fix comment ordering in r100_fence_ring_emit and remove extra defines added in first version. Signed-off-by: Pauli Nieminen Reviewed-by: Jerome Glisse Signed-off-by: Dave Airlie commit 062b389c8704e539e234cfd67c7e034a514f50bf Author: Jerome Glisse Date: Thu Feb 4 20:36:39 2010 +0100 drm/radeon/kms: fix regression rendering issue on R6XX/R7XX It seems that some R6XX/R7XX silently ignore HDP flush when programmed through ring, this patch addback an ioctl callback to allow R6XX/R7XX hw to perform such flush through MMIO in order to fix a regression. For more details see: http://bugzilla.kernel.org/show_bug.cgi?id=15186 Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit c38c7b64a2747a211c3a6e8e5919ee25ccd474e7 Author: Jerome Glisse Date: Thu Feb 4 17:27:27 2010 +0100 drm/radeon/kms: move blit initialization after we disabled VGA VGA might be overwritting VRAM and corrupt our blit shader leading to corruption, it likely won't happen if you load fbcon right after radeon. Thanks to Shawn Starr and Andre Maasikas for tracking down this issue. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit fc76be434d90bcd57a0ea6b93a2e66a3fec4b664 Merge: 9d82d5e 4aba098 Author: Linus Torvalds Date: Thu Feb 4 16:09:01 2010 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Fix wrong register in proc-arm6_7.S data abort handler ARM: 5909/1: ARM: Correct the FPSCR bits setting when raising exceptions ARM: 5904/1: ARM: Always generate the IT instruction when compiling for Thumb-2 ARM: 5907/1: ARM: Fix the reset on the RealView PBX Development board mx35: add a missing comma in a pad definition mx25: make the FEC AHB clk secondary of the IPG mx25: fix time accounting mx25: properly initialize clocks mx25: remove unused mx25_clocks_init() argument i.MX25: implement secondary clocks for uarts and fec i.MX25: Allow secondary clocks in DEFINE_CLOCK ARM: MX3: Fixed typo in declared enum type name. MXC: Add AUDMUXv2 register decode to debugfs mx31ads: Provide an IRQ range to the WM835x on the 1133-EV1 module mx31ads: Provide a name for EXPIO interrupt chip mx31ads: Allow enable/disable of switchable supplies commit 9d82d5efafb033a761b5e6eb720f5bbba5c0813b Merge: a9861b5 301fe8e Author: Linus Torvalds Date: Thu Feb 4 16:08:42 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: omap: Disable serial port autoidle by default omap: Fix access to already released memory in clk_debugfs_register_one() omap: Fix arch/arm/mach-omap2/mux.c: Off by one error omap: Fix 3630 mux errors OMAP2/3: GPMC: ensure valid clock pointer OMAP2/3: IRQ: ensure valid base address ARCH OMAP : enable ARCH_HAS_HOLES_MEMORYMODEL for OMAP omap: Remove old unused defines for OMAP_32KSYNCT_BASE omap: define _toggle_gpio_edge_triggering only for OMAP1 commit a9861b50378ce29212ae2b39ee2d56b2058748cf Merge: aa16cd8 9b4b351 Author: Linus Torvalds Date: Thu Feb 4 16:08:15 2010 -0800 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Don't clobber the attribute type in nfs_update_inode() NFS: Fix a umount race NFS: Fix an Oops when truncating a file NFS: Ensure that we handle NFS4ERR_STALE_STATEID correctly NFSv4.1: Don't call nfs4_schedule_state_recovery() unnecessarily NFSv4: Don't allow posix locking against servers that don't support it NFSv4: Ensure that the NFSv4 locking can recover from stateid errors NFS: Avoid warnings when CONFIG_NFS_V4=n NFS: Make nfs_commitdata_release static NFS: Try to commit unstable writes in nfs_release_page() NFS: Fix a reference leak in nfs_wb_cancel_page() commit aa16cd8d12352ccb5b921995ab3901110779f24a Merge: a3a71ca 59647b6 Author: Linus Torvalds Date: Thu Feb 4 16:07:41 2010 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Handle futex value corruption gracefully futex: Handle user space corruption gracefully futex_lock_pi() key refcnt fix softlockup: Add sched_clock_tick() to avoid kernel warning on kgdb resume commit a3a71ca9a715776cf3eda605dafdb4a383782c4f Merge: 6f14a66 8f05228 Author: Linus Torvalds Date: Thu Feb 4 16:06:48 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Extend umount wait coverage to full glock lifetime GFS2: Wait for unlock completion on umount commit 6f14a668f1a8b715a6e855f4e32705e54a6e86a1 Author: Tejun Heo Date: Thu Feb 4 17:57:37 2010 +0900 idr: revert misallocation bug fix Commit 859ddf09743a8cc680af33f7259ccd0fd36bfe9d tried to fix misallocation bug but broke full bit marking by not clearing pa[idp->layers] and also is causing X failures due to lookup failure in drm code. The cause of the latter hasn't been found yet. Revert the fix for now. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit 21956b61f594f7924d98240da74bc81c28601fa9 Author: Jaroslav Kysela Date: Tue Feb 2 19:58:25 2010 +0100 ALSA: ctxfi - fix PTP address initialization After hours of debugging, I finally found the reason why some source and runtime combination does not work. The PTP (page table pages) address must be aligned. I am not sure how much, but alignment to PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines to ensure proper virtual -> physical address translation. Cc: Signed-off-by: Jaroslav Kysela commit 93533c291a0af78ca57115fc44d2e6c4c9517cd2 Author: Chris Wilson Date: Sun Jan 31 10:40:48 2010 +0000 drm/i915: Fix leak of relocs along do_execbuffer error path Following a gpu hang, we would leak the relocation buffer. So simply earrange the error path to always free the relocation buffer. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 67026e03244d76b8f1fa725b079d4182fe8910aa Author: Thomas Meyer Date: Tue Feb 2 20:09:04 2010 +0100 drm/i915: slow acpi_lid_open() causes flickering - V2 acpi_lid_open() could take up to 10ms on my computer. Some component is calling the drm GETCONNECTOR ioctl many times in a row. This results in flickering (for example, when starting a video). Fix it by assuming an always connected lid status. Signed-off-by: Thomas Meyer Signed-off-by: Eric Anholt commit 33c5fd121eabbccc9103daf6cda36941eb3c349f Author: David John Date: Wed Jan 27 15:19:08 2010 +0530 drm/i915: Disable SR when more than one pipe is enabled Self Refresh should be disabled on dual plane configs. Otherwise, as the SR watermark is not calculated for such configs, switching to non VGA mode causes FIFO underrun and display flicker. This fixes Korg Bug #14897. Signed-off-by: David John Signed-off-by: Jesse Barnes Cc: stable@kernel.org Signed-off-by: Eric Anholt commit 23b5c50945f2294add0137799400329c0ebba290 Author: Aneesh Kumar K.V Date: Thu Feb 4 11:33:03 2010 -0500 Btrfs: apply updated fallocate i_size fix This version of the i_size fix for fallocate makes sure we only update the i_size when the current fallocate is really operating outside of i_size. Signed-off-by: Chris Mason commit efd049fb26a162c3830fd3cb1001fdc09b147f3b Author: Josef Bacik Date: Tue Feb 2 20:50:10 2010 +0000 Btrfs: do not try and lookup the file extent when finishing ordered io When running the following fio job [torrent] filename=torrent-test rw=randwrite size=4g filesize=4g bs=4k ioengine=sync you would see long stalls where no work was being done. That is because we were doing all this extra work to read in the file extent outside of the transaction, however in the random io case this ends up hurting us because the file extents are not there to begin with. So axe this logic, since we end up reading in the file extent when we go to update it anyway. This took the fio job from 11 mb/s with several ~10 second stalls to 24 mb/s to a couple of 1-2 second stalls. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 7a7965f83e89f0be506a96769938a721e4e5ae50 Author: Yan, Zheng Date: Mon Feb 1 02:41:17 2010 +0000 Btrfs: Fix oopsen when dropping empty tree. When dropping a empty tree, walk_down_tree() skips checking extent information for the tree root. This will triggers a BUG_ON in walk_up_proc(). Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit d7ce5843bb28ada6845ab2ae8510ba3f12d33154 Author: Miao Xie Date: Tue Feb 2 08:46:44 2010 +0000 Btrfs: remove BUG_ON() due to mounting bad filesystem Mounting a bad filesystem caused a BUG_ON(). The following is steps to reproduce it. # mkfs.btrfs /dev/sda2 # mount /dev/sda2 /mnt # mkfs.btrfs /dev/sda1 /dev/sda2 (the program says that /dev/sda2 was mounted, and then exits. ) # umount /mnt # mount /dev/sda1 /mnt At the third step, mkfs.btrfs exited in the way of make filesystem. So the initialization of the filesystem didn't finish. So the filesystem was bad, and it caused BUG_ON() when mounting it. But BUG_ON() should be called by the wrong code, not user's operation, so I think it is a bug of btrfs. This patch fixes it. Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit 014e4ac4f7d9c981750491fa40ea35efadc9ed49 Author: Roel Kluin Date: Fri Jan 29 10:42:11 2010 +0000 Btrfs: make error return negative in btrfs_sync_file() It appears the error return should be negative Signed-off-by: Roel Kluin Signed-off-by: Chris Mason commit f044ba7835b84e69c68b620ca8fa27e5ef67759d Author: Yan, Zheng Date: Thu Feb 4 08:46:56 2010 +0000 Btrfs: fix race between allocate and release extent buffer. Increase extent buffer's reference count while holding the lock. Otherwise it can race with try_release_extent_buffer. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 2d68b7fe55d9e19a8a868224ed0dfd6526568521 Author: Catalin Marinas Date: Thu Feb 4 01:04:50 2010 -0500 [libata] Call flush_dcache_page after PIO data transfers in libata-sff.c flush_dcache_page() must be called after (!ATA_TFLAG_WRITE) the data copying to avoid D-cache aliasing with user space or I-D cache coherency issues (when reading data from an ATA device using PIO, the kernel dirties the D-cache but there is no flush_dcache_page() required on Harvard architectures). Signed-off-by: Catalin Marinas Signed-off-by: Jeff Garzik commit cedc9bf906dae044443d403371c887affdb44168 Author: Tejun Heo Date: Thu Jan 28 16:04:15 2010 +0900 ahci: add Acer G725 to broken suspend list Acer G725 shares the same suspend problem with the HP laptops which lose ATA devices on resume. New firmware which fixes the problem is already available. Add G725 with old firmwares to the broken suspend list. This problem has been reported in bko#15104. http://bugzilla.kernel.org/show_bug.cgi?id=15104 Signed-off-by: Tejun Heo Reported-by: Jani-Matti Hätinen Signed-off-by: Jeff Garzik commit f7acede65d6b65919aee5b6a360a17cedb11f2f7 Author: Christoph Hellwig Date: Thu Jan 28 13:30:11 2010 +0100 libata: fix ata_id_logical_per_physical_sectors The value we get from the low byte of the ATA_ID_SECTOR_SIZE word is not not a plain multiple, but the log of it, so fix the helper to give the correct answer. Without this we'll get an incorrect minimal I/O size in the block limits VPD page for 4k sector drives. Also change the return value of ata_id_logical_per_physical_sectors to u16 for the unlikely case of very large logical sectors. Signed-off-by: Christoph Hellwig Signed-off-by: Jeff Garzik commit bc496ed00ab1411d3efaf295b72e0c9eb343e1a3 Author: Douglas Gilbert Date: Mon Feb 1 13:11:38 2010 -0500 libata-scsi passthru: fix bug which truncated LBA48 return values Fix assignment which overwrote SAT ATA PASS-THROUGH command EXTEND bit setting (ATA_TFLAG_LBA48) Signed-off-by: Douglas Gilbert Signed-off-by: Jeff Garzik commit e9e70bc14ea5974e21f5baecf95a123844c412b9 Merge: c031d52 58424a4 Author: Linus Torvalds Date: Wed Feb 3 16:08:50 2010 -0800 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: fix interrupt state restore microblaze: Defconfig update commit c031d52cac3fa4b05cf59cd03e9328790f4d4496 Merge: c1c0cbb ba9e9f3 Author: Linus Torvalds Date: Wed Feb 3 16:08:36 2010 -0800 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: saa7146: stop DMA before de-allocating DMA scatter/gather page buffers V4L/DVB: saa7134: remove stray unlock_kernel commit 301fe8eeee02c570c5bd30537aff9456f7f7955c Author: Tony Lindgren Date: Mon Feb 1 12:34:31 2010 -0800 omap: Disable serial port autoidle by default Currently the omap serial clocks are autoidled after 5 seconds. However, this causes lost characters on the serial ports. As this is considered non-standard behaviour for Linux, disable the timeout. Note that this will also cause blocking of any deeper omap sleep states. To enable the autoidling of the serial ports, do something like this for each serial port: # echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout # echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout ... Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 0825cc8a6ffa54c87ad7ad914a16d6c035627935 Author: Marek Skuczynski Date: Sun Jan 31 10:00:54 2010 +0000 omap: Fix access to already released memory in clk_debugfs_register_one() I have found an access to already released memory in clk_debugfs_register_one() function. Signed-off-by: Marek Skuczynski Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 78737ae1b0f0b425e8eb72a9c84125fa8cac8e8e Author: Tony Lindgren Date: Mon Feb 1 13:03:42 2010 -0800 omap: Fix arch/arm/mach-omap2/mux.c: Off by one error David Binderman ran the sourceforge tool cppcheck over the source code of the new Linux kernel 2.6.33-rc6: [./arm/mach-omap2/mux.c:492]: (error) Buffer access out-of-bounds 13 characters + 1 digit + 1 zero byte is more than 14 characters. Also add a comment on mode0 name length in case new omaps start using longer names. Reported-by: David Binderman Signed-off-by: Tony Lindgren commit 9ecef433204f9b06550dd45cf84f14706f8fe4f0 Author: Tony Lindgren Date: Mon Feb 1 11:22:54 2010 -0800 omap: Fix 3630 mux errors 3630 has more mux signals than 34xx. The additional pins exist in omap36xx_cbp_subset, but are not initialized as the superset is missing these offsets. This causes the following errors during the boot: mux: Unknown entry offset 0x236 mux: Unknown entry offset 0x22e mux: Unknown entry offset 0x1ec mux: Unknown entry offset 0x1ee mux: Unknown entry offset 0x1f4 mux: Unknown entry offset 0x1f6 mux: Unknown entry offset 0x1f8 mux: Unknown entry offset 0x1fa mux: Unknown entry offset 0x1fc mux: Unknown entry offset 0x22a mux: Unknown entry offset 0x226 mux: Unknown entry offset 0x230 mux: Unknown entry offset 0x22c mux: Unknown entry offset 0x228 Fix this by adding the missing offsets to omap3 superset. Note that additionally the uninitialized pins need to be skipped on 34xx. Based on an earlier patch by Allen Pais . Reported-by: Allen Pais Signed-off-by: Allen Pais Signed-off-by: Tony Lindgren commit 8d08436d782d177747a0fac1e1455a44b932b7c6 Author: Kevin Hilman Date: Fri Jan 29 14:20:06 2010 -0800 OMAP2/3: GPMC: ensure valid clock pointer Ensure valid clock pointer during GPMC init. Fixes compiler warning about potential use of uninitialized variable. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 74005a2b116203f618fe784d88ad7e6071bb1554 Author: Kevin Hilman Date: Fri Jan 29 14:20:06 2010 -0800 OMAP2/3: IRQ: ensure valid base address Ensure valid base address during IRQ init. Fixes compiler warning about potential use of uninitialized variable. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 9af915da20bd405c232ebb93c3cb80c6d92a12f6 Author: Sriram Date: Fri Jan 29 14:20:05 2010 -0800 ARCH OMAP : enable ARCH_HAS_HOLES_MEMORYMODEL for OMAP OMAP platforms(like OMAP3530) include DSP or other co-processors for media acceleration. when carving out memory for the accelerators we can end up creating a hole in the memory map of sort: To handle such a memory configuration ARCH_HAS_HOLES_MEMORYMODEL has to be enabled. For further information refer discussion at: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15262.html. Signed-off-by: Sriramakrishnan Signed-off-by: Tony Lindgren commit faccbcfb63af006e100d5b3b513131fe27aa66ab Author: Tony Lindgren Date: Fri Jan 29 14:20:05 2010 -0800 omap: Remove old unused defines for OMAP_32KSYNCT_BASE Remove old unused defines for OMAP_32KSYNCT_BASE Signed-off-by: Tony Lindgren commit c1c0cbb8781e4b684a3d902d05b01912b3a545d9 Merge: c80d292 3256a05 Author: Linus Torvalds Date: Wed Feb 3 08:47:15 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix potential leak of dirty data on umount commit 4aba098c8d64329f0c4b24d12e1dc5398dd41a75 Author: Russell King Date: Wed Feb 3 15:48:03 2010 +0000 ARM: Fix wrong register in proc-arm6_7.S data abort handler Signed-off-by: Russell King commit 59647b6ac3050dd964bc556fe6ef22f4db5b935c Author: Thomas Gleixner Date: Wed Feb 3 09:33:05 2010 +0100 futex: Handle futex value corruption gracefully The WARN_ON in lookup_pi_state which complains about a mismatch between pi_state->owner->pid and the pid which we retrieved from the user space futex is completely bogus. The code just emits the warning and then continues despite the fact that it detected an inconsistent state of the futex. A conveniant way for user space to spam the syslog. Replace the WARN_ON by a consistency check. If the values do not match return -EINVAL and let user space deal with the mess it created. This also fixes the missing task_pid_vnr() when we compare the pi_state->owner pid with the futex value. Reported-by: Jermome Marchand Signed-off-by: Thomas Gleixner Acked-by: Darren Hart Acked-by: Peter Zijlstra Cc: commit 51246bfd189064079c54421507236fd2723b18f3 Author: Thomas Gleixner Date: Tue Feb 2 11:40:27 2010 +0100 futex: Handle user space corruption gracefully If the owner of a PI futex dies we fix up the pi_state and set pi_state->owner to NULL. When a malicious or just sloppy programmed user space application sets the futex value to 0 e.g. by calling pthread_mutex_init(), then the futex can be acquired again. A new waiter manages to enqueue itself on the pi_state w/o damage, but on unlock the kernel dereferences pi_state->owner and oopses. Prevent this by checking pi_state->owner in the unlock path. If pi_state->owner is not current we know that user space manipulated the futex value. Ignore the mess and return -EINVAL. This catches the above case and also the case where a task hijacks the futex by setting the tid value and then tries to unlock it. Reported-by: Jermome Marchand Signed-off-by: Thomas Gleixner Acked-by: Darren Hart Acked-by: Peter Zijlstra Cc: commit 5ecb01cfdf96c5f465192bdb2a4fd4a61a24c6cc Author: Mikael Pettersson Date: Sat Jan 23 22:36:29 2010 +0100 futex_lock_pi() key refcnt fix This fixes a futex key reference count bug in futex_lock_pi(), where a key's reference count is incremented twice but decremented only once, causing the backing object to not be released. If the futex is created in a temporary file in an ext3 file system, this bug causes the file's inode to become an "undead" orphan, which causes an oops from a BUG_ON() in ext3_put_super() when the file system is unmounted. glibc's test suite is known to trigger this, see . The bug is a regression from 2.6.28-git3, namely Peter Zijlstra's 38d47c1b7075bd7ec3881141bb3629da58f88dab "[PATCH] futex: rely on get_user_pages() for shared futexes". That commit made get_futex_key() also increment the reference count of the futex key, and updated its callers to decrement the key's reference count before returning. Unfortunately the normal exit path in futex_lock_pi() wasn't corrected: the reference count is incremented by get_futex_key() and queue_lock(), but the normal exit path only decrements once, via unqueue_me_pi(). The fix is to put_futex_key() after unqueue_me_pi(), since 2.6.31 this is easily done by 'goto out_put_key' rather than 'goto out'. Signed-off-by: Mikael Pettersson Acked-by: Peter Zijlstra Acked-by: Darren Hart Signed-off-by: Thomas Gleixner Cc: commit 9b4b351346b41d923d69adec865814fdaac4dba9 Author: Trond Myklebust Date: Wed Feb 3 08:27:35 2010 -0500 NFS: Don't clobber the attribute type in nfs_update_inode() If the NFS_ATTR_FATTR_TYPE field isn't set in fattr->valid, then we should not set the S_IFMT part of inode->i_mode. Reported-by: Al Viro Signed-off-by: Trond Myklebust commit 387c149b54b4321cbc790dadbd4f8eedb5a90468 Author: Trond Myklebust Date: Wed Feb 3 08:27:35 2010 -0500 NFS: Fix a umount race Ensure that we unregister the bdi before kill_anon_super() calls ida_remove() on our device name. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 9f557cd8073104b39528794d44e129331ded649f Author: Trond Myklebust Date: Wed Feb 3 08:27:22 2010 -0500 NFS: Fix an Oops when truncating a file The VM/VFS does not allow mapping->a_ops->invalidatepage() to fail. Unfortunately, nfs_wb_page_cancel() may fail if a fatal signal occurs. Since the NFS code assumes that the page stays mapped for as long as the writeback is active, we can end up Oopsing (among other things). The only safe fix here is to convert nfs_wait_on_request(), so as to make it uninterruptible (as is already the case with wait_on_page_writeback()). Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 58424a49cb99c4ad9386b47f885b352476313a02 Author: Steven J. Magnani Date: Mon Feb 1 06:34:45 2010 -0600 microblaze: fix interrupt state restore Interrupts must be disabled while an interrupt state restore (prep for interrupt return) is in progress. Code to do this was lost in the port to the mainline kernel. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit 8f05228ee7c8f409ae3c6f9c3e13d7ccb9c18360 Author: Steven Whitehouse Date: Fri Jan 29 15:21:27 2010 +0000 GFS2: Extend umount wait coverage to full glock lifetime Although all glocks are, by the time of the umount glock wait, scheduled for demotion, some of them haven't made it far enough through the process for the original set of waiting code to wait for them. This extends the ref count to the whole glock lifetime in order to ensure that the waiting does catch all glocks. It does make it a bit more invasive, but it seems the only sensible solution at the moment. Signed-off-by: Steven Whitehouse commit e402746a945ceb9d0486a8e3d5917c9228fa4404 Author: Steven Whitehouse Date: Mon Jan 25 11:20:19 2010 +0000 GFS2: Wait for unlock completion on umount This patch adds a wait on umount between the point at which we dispose of all glocks and the point at which we unmount the lock protocol. This ensures that we've received all the replies to our unlock requests before we stop the locking. Signed-off-by: Steven Whitehouse Reported-by: Fabio M. Di Nitto commit 7823860ca2904d6325eb636b77768f3e8183c861 Author: Michal Simek Date: Wed Feb 3 10:18:20 2010 +0100 microblaze: Defconfig update There were several changes in Microblaze defconfig that's why is good to update defconfigs. Signed-off-by: Michal Simek commit c80d292f137275a1ed88e6ed515ecb457051f1a4 Merge: 2a2a566 b8a1d37 Author: Linus Torvalds Date: Tue Feb 2 18:12:22 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: kernel/cred.c: use kmem_cache_free commit 2a2a5660f10a468016fed594ab09d77ef0bb6079 Merge: ca0bf64 f98bfbd Author: Linus Torvalds Date: Tue Feb 2 18:11:52 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: (23 commits) connector: Delete buggy notification code. be2net: use eq-id to calculate cev-isr reg offset Bluetooth: Use the control channel for raw HID reports Bluetooth: Add DFU driver for Atheros Bluetooth chipset AR3011 Bluetooth: Redo checks in IRQ handler for shared IRQ support Bluetooth: Fix memory leak in L2CAP Bluetooth: Remove double free of SKB pointer in L2CAP cdc_ether: Partially revert "usbnet: Set link down initially ..." be2net: Fix memset() arg ordering. bonding: bond_open error return value ixgbe: if ixgbe_copy_dcb_cfg is going to fail learn about it early ixgbe: set the correct DCB bit for pg tx settings igbvf: fix issue w/ mapped_as_page being left set after unmap drivers/net: ks8851_mll ethernet network driver be2net: Bug fix to support newer generation of BE ASIC starfire: clean up properly if firmware loading fails mac80211: fix NULL pointer dereference when ftrace is enabled netfilter: ctnetlink: fix expectation mask dump ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure ath9k: fix eeprom INI values override for 2GHz-only cards ... commit ca0bf64d99f6e3f6e2fe2585e52a0ac57354beac Author: Thadeu Lima de Souza Cascardo Date: Tue Feb 2 13:44:17 2010 -0800 pktcdvd: removing device does not remove its sysfs dir This is the counterpart to cba767175becadc5c4016cceb7bfdd2c7fe722f4 ("pktcdvd: remove broken dev_t export of class devices"). Device is not registered using dev_t, so it should not be destroyed using device_destroy which looks up the device by dev_t. This will fail and adding the device again will fail with the "duplicate name" error. This is fixed using device_unregister instead of device_destroy. Signed-off-by: Thadeu Lima de Souza Cascardo Cc: Kay Sievers Cc: Peter Osterlund Cc: Al Viro Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea0854170c95245a258b386c7a9314399c949fe0 Author: Shaohui Zheng Date: Tue Feb 2 13:44:16 2010 -0800 memory hotplug: fix a bug on /dev/mem for 64-bit kernels Newly added memory can not be accessed via /dev/mem, because we do not update the variables high_memory, max_pfn and max_low_pfn. Add a function update_end_of_memory_vars() to update these variables for 64-bit kernels. [akpm@linux-foundation.org: simplify comment] Signed-off-by: Shaohui Zheng Cc: Andi Kleen Cc: Li Haicheng Reviewed-by: Wu Fengguang Reviewed-by: KAMEZAWA Hiroyuki Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a225a5cc2c25e1217e68ee2ab8dd4454573fa308 Author: Anton Blanchard Date: Tue Feb 2 13:44:15 2010 -0800 fault injection: correct function names in documentation init_fault_attr_entries() should be init_fault_attr_dentries(). cleanup_fault_attr_entries() should be cleanup_fault_attr_dentries(). Signed-off-by: Anton Blanchard Acked-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 094e9539bd24bbe23b8e2741e903b0f3f1f85b03 Author: Jeff Mahoney Date: Tue Feb 2 13:44:14 2010 -0800 hugetlb: fix section mismatches hugetlb_sysfs_add_hstate is called by hugetlb_register_node directly during init and also indirectly via sysfs after init. This patch removes the __init tag from hugetlb_sysfs_add_hstate. Signed-off-by: Jeff Mahoney Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5 Author: Richard Röjfors Date: Tue Feb 2 13:44:12 2010 -0800 uartlite: fix crash when using as console Move the ulite_console_setup to the .devinit section since it might be called on probe, which is in devinit. Fixes the crash below where the uartlite hw is probed after the .init section is freed from the kernel. uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] ulite_console_setup+0x6f/0xa8 *pdpt = 0000000036fb0001 *pde = 0000000000000000 Oops: 0000 [#1] PREEMPT SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent Modules linked in: puffin(+) serio_raw Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at ulite_console_setup+0x6f/0xa8 EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000 ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000) Stack: c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316 <0> c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020 <0> 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000 Call Trace: [] ? register_console+0xf6/0x1fc [] ? uart_add_one_port+0x237/0x2bb [] ? sysfs_add_one+0x13/0xd3 [] ? sysfs_do_create_link+0xba/0xfc [] ? ulite_probe+0x198/0x1eb [] ? platform_drv_probe+0xc/0xe [] ? driver_probe_device+0x79/0x105 [] ? __device_attach+0x28/0x30 [] ? bus_for_each_drv+0x3d/0x67 [] ? device_attach+0x44/0x58 [] ? __device_attach+0x0/0x30 [] ? bus_probe_device+0x1f/0x34 [] ? device_add+0x385/0x4c0 [] ? _write_unlock+0x8/0x1f [] ? platform_device_add+0xd9/0x11c [] ? mfd_add_devices+0x165/0x1bc [] ? puffin_probe+0x2d0/0x390 [puffin] [] ? pci_match_device+0xa0/0xa7 [] ? local_pci_probe+0xe/0x10 [] ? pci_device_probe+0x43/0x66 [] ? driver_probe_device+0x79/0x105 [] ? __driver_attach+0x43/0x5f [] ? bus_for_each_dev+0x3d/0x67 [] ? driver_attach+0x14/0x16 [] ? __driver_attach+0x0/0x5f [] ? bus_add_driver+0xf9/0x220 [] ? driver_register+0x8b/0xeb [] ? __pci_register_driver+0x43/0x9f [] ? __blocking_notifier_call_chain+0x40/0x4c [] ? puffin_init+0x0/0x48 [puffin] [] ? puffin_init+0x17/0x48 [puffin] [] ? do_one_initcall+0x4c/0x131 [] ? sys_init_module+0xa7/0x1b7 [] ? syscall_call+0x7/0xb Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32 00 00 14 00 09 01 61 6c 73 61 2d 69 <6e> 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c EIP: [] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8 CR2: 0000000000000000 Signed-off-by: Richard Röjfors Acked-by: Peter Korsgaard Cc: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ec562035ba64e724652cb12b8a770b3906e9bf5 Author: Uwe Kleine-König Date: Tue Feb 2 13:44:10 2010 -0800 imxfb: correct location of callbacks in suspend and resume The probe function passes a pointer to a struct fb_info to platform_set_drvdata(), so don't interpret the return value of platform_get_drvdata() as a pointer to struct imxfb_info. The original imxfb_info *fbi backlight_power was NULL but in imxfb_suspend it was 4 resulting in an oops as imxfb_suspend calls imxfb_disable_controller(fbi) which in turn has if (fbi->backlight_power) fbi->backlight_power(0); Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4528fd0595847c2078b59f24800e751c2d6b7e41 Author: Li Zefan Date: Tue Feb 2 13:44:10 2010 -0800 cgroups: fix to return errno in a failure path In cgroup_create(), if alloc_css_id() returns failure, the errno is not propagated to userspace, so mkdir will fail silently. To trigger this bug, we mount blkio (or memory subsystem), and create more then 65534 cgroups. (The number of cgroups is limited to 65535 if a subsystem has use_id == 1) # mount -t cgroup -o blkio xxx /mnt # for ((i = 0; i < 65534; i++)); do mkdir /mnt/$i; done # mkdir /mnt/65534 (should return ENOSPC) # Signed-off-by: Li Zefan Acked-by: Serge Hallyn Acked-by: Paul Menage Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2b9b054580ef835078d8aa411bd06542cd5c1c Author: Hui Zhu Date: Tue Feb 2 13:44:09 2010 -0800 markup_oops.pl: fix $func_offset error with x86_64 When I use markup_oops.pl parse a x8664 oops, I got: objdump: --start-address: bad number: NaN No matching code found This is because: main::(./m.pl:228): open(FILE, "objdump -dS --adjust-vma=$vmaoffset --start-address=$decodestart --stop-address=$decodestop $filename |") || die "Cannot start objdump"; DB<3> p $decodestart NaN This NaN is from: main::(./m.pl:176): my $decodestart = Math::BigInt->from_hex("0x$target") - Math::BigInt->from_hex("0x$func_offset"); DB<2> p $func_offset 0x175 There is already a "0x" in $func_offset, another 0x makes it a NaN. The $func_offset is from line: if ($line =~ /RIP: 0010:\[\<[0-9a-f]+\>\] \[\<[0-9a-f]+\>\] ([a-zA-Z0-9\_]+)\+(0x[0-9a-f]+)\/0x[a-f0-9]/) { $function = $1; $func_offset = $2; } I make a patch to change "(0x[0-9a-f]+)\/0x[a-f0-9]/)" to "0x([0-9a-f]+)\/0x[a-f0-9]/)". Signed-off-by: Hui Zhu Cc: Arjan van de Ven Cc: Michal Marek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99cf611613f8826f52c156810bfb9e34c71d193a Author: Richard Kennedy Date: Tue Feb 2 13:44:07 2010 -0800 get_maintainer.pl: teach git log to use --no-color When git has been set to always use color in .gitconfig then I get the warning message Bad divisor in main::vcs_assign: 0 This is caused by vcs_file_signoffs not matching any commits due to the pattern not understand the colour codes. Fix this by telling git log to never use colour. Signed-off-by: Richard Kennedy Acked-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c85e9a97c4102ce2e83112da850d838cfab5ab13 Author: Wu Fengguang Date: Tue Feb 2 13:44:06 2010 -0800 devmem: fix kmem write bug on memory holes write_kmem() used to assume vwrite() always return the full buffer length. However now vwrite() could return 0 to indicate memory hole. This creates a bug that "buf" is not advanced accordingly. Fix it to simply ignore the return value, hence the memory hole. Signed-off-by: Wu Fengguang Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Christoph Lameter Cc: Ingo Molnar Cc: Tejun Heo Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 325fda71d0badc1073dc59f12a948f24ff05796a Author: KAMEZAWA Hiroyuki Date: Tue Feb 2 13:44:05 2010 -0800 devmem: check vmalloc address on kmem read/write Otherwise vmalloc_to_page() will BUG(). This also makes the kmem read/write implementation aligned with mem(4): "References to nonexistent locations cause errors to be returned." Here we return -ENXIO (inspired by Hugh) if no bytes have been transfered to/from user space, otherwise return partial read/write results. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Wu Fengguang Cc: Greg Kroah-Hartman Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 931e80e4b3263db75c8e34f078d22f11bbabd3a3 Author: anfei zhou Date: Tue Feb 2 13:44:02 2010 -0800 mm: flush dcache before writing into page to avoid alias The cache alias problem will happen if the changes of user shared mapping is not flushed before copying, then user and kernel mapping may be mapped into two different cache line, it is impossible to guarantee the coherence after iov_iter_copy_from_user_atomic. So the right steps should be: flush_dcache_page(page); kmap_atomic(page); write to page; kunmap_atomic(page); flush_dcache_page(page); More precisely, we might create two new APIs flush_dcache_user_page and flush_dcache_kern_page to replace the two flush_dcache_page accordingly. Here is a snippet tested on omap2430 with VIPT cache, and I think it is not ARM-specific: int val = 0x11111111; fd = open("abc", O_RDWR); addr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); *(addr+0) = 0x44444444; tmp = *(addr+0); *(addr+1) = 0x77777777; write(fd, &val, sizeof(int)); close(fd); The results are not always 0x11111111 0x77777777 at the beginning as expected. Sometimes we see 0x44444444 0x77777777. Signed-off-by: Anfei Cc: Russell King Cc: Miklos Szeredi Cc: Nick Piggin Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc173f7092c76a7967f135c2b3a54052ad99733b Author: Randy Dunlap Date: Tue Feb 2 13:44:01 2010 -0800 kfifo: fix kernel-doc notation Fix kfifo kernel-doc warnings: Warning(kernel/kfifo.c:361): No description found for parameter 'total' Warning(kernel/kfifo.c:402): bad line: @ @lenout: pointer to output variable with copied data Warning(kernel/kfifo.c:412): No description found for parameter 'lenout' Signed-off-by: Randy Dunlap Cc: Stefani Seibold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4b5162820de60204afa5c8639335f4931b7fb0c Author: Sergey Matyukevich Date: Tue Feb 2 13:43:59 2010 -0800 rtc-fm3130: add missing braces Add missing braces for multiline 'if' statements in fm3130_probe. Signed-off-by: Sergey Matyukevich Signed-off-by: Alessandro Zummo Cc: Sergey Lapin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3cb53721890879d7bde31f5f9eefd4edf41ab64 Author: Alberto Panizzo Date: Tue Feb 2 13:43:59 2010 -0800 mx3fb: some debug and initialisation fixes Fix the kernel oops when dev_dbg is called with mx3_fbi->txd == NULL Fix the late initialisation of mx3fb->backlight_level. If not, in the chain of function started by init_fb_chan(), in __blank() call sdc_set_brightness(mx3fb, mx3fb->backlight_level) that will shut down the CONTRAST PWM output. Signed-off-by: Alberto Panizzo Acked-by: Guennadi Liakhovetski gmx.de> Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 859ddf09743a8cc680af33f7259ccd0fd36bfe9d Author: Tejun Heo Date: Tue Feb 2 13:43:58 2010 -0800 idr: fix a critical misallocation bug Eric Paris located a bug in idr. With IDR_BITS of 6, it grows to three layers when id 4096 is first allocated. When that happens, idr wraps incorrectly and searches the idr array ignoring the high bits. The following test code from Eric demonstrates the bug nicely. #include #include #include static DEFINE_IDR(test_idr); int init_module(void) { int ret, forty95, forty96; void *addr; /* add 2 entries both with 4095 as the start address */ again1: if (!idr_pre_get(&test_idr, GFP_KERNEL)) return -ENOMEM; ret = idr_get_new_above(&test_idr, (void *)4095, 4095, &forty95); if (ret) { if (ret == -EAGAIN) goto again1; return ret; } if (forty95 != 4095) printk(KERN_ERR "hmmm, forty95=%d\n", forty95); again2: if (!idr_pre_get(&test_idr, GFP_KERNEL)) return -ENOMEM; ret = idr_get_new_above(&test_idr, (void *)4096, 4095, &forty96); if (ret) { if (ret == -EAGAIN) goto again2; return ret; } if (forty96 != 4096) printk(KERN_ERR "hmmm, forty96=%d\n", forty96); /* try to find the 2 entries, noticing that 4096 broke */ addr = idr_find(&test_idr, forty95); if ((int)addr != forty95) printk(KERN_ERR "hmmm, after find forty95=%d addr=%d\n", forty95, (int)addr); addr = idr_find(&test_idr, forty96); if ((int)addr != forty96) printk(KERN_ERR "hmmm, after find forty96=%d addr=%d\n", forty96, (int)addr); /* really weird, the entry which should be at 4096 is actually at 0!! */ addr = idr_find(&test_idr, 0); if ((int)addr) printk(KERN_ERR "found an entry at id=0 for addr=%d\n", (int)addr); idr_remove(&test_idr, forty95); idr_remove(&test_idr, forty96); return 0; } void cleanup_module(void) { } MODULE_AUTHOR("Eric Paris "); MODULE_DESCRIPTION("Simple idr test"); MODULE_LICENSE("GPL"); This happens because when sub_alloc() back tracks it doesn't always do it step-by-step while the over-the-limit detection assumes step-by-step backtracking. The logic in sub_alloc() looks like the following. restart: clear pa[top level + 1] for end cond detection l = top level while (true) { search for empty slot at this level if (not found) { push id to the next possible value l++ A: if (pa[l] is clear) failed, return asking caller to grow the tree if (going up 1 level gives more slots to search) continue the while loop above with the incremented l else C: goto restart } adjust id accordingly to the found slot if (l == 0) return found id; create lower level if not there yet record pa[l] and l-- } Test A is the fail exit condition but this assumes that failure is propagated upwared one level at a time but the B optimization path breaks the assumption and restarts the whole thing with a start value which is above the possible limit with the current layers. sub_alloc() assumes the start id value is inside the limit when called and test A is the only exit condition check, so it ends up searching for empty slot while ignoring high set bit. So, for 4095->4096 test, level0 search fails but pa[1] contains a valid pointer. However, going up 1 level wouldn't give any more empty slot so it takes C and when the whole thing restarts nobody notices the high bit set beyond the top level. This patch fixes the bug by changing the fail exit condition check to full id limit check. Based-on-patch-from: Eric Paris Reported-by: Eric Paris Signed-off-by: Tejun Heo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f98bfbd78c37c5946cc53089da32a5f741efdeb7 Author: Evgeniy Polyakov Date: Tue Feb 2 15:58:48 2010 -0800 connector: Delete buggy notification code. On Tue, Feb 02, 2010 at 02:57:14PM -0800, Greg KH (gregkh@suse.de) wrote: > > There are at least two ways to fix it: using a big cannon and a small > > one. The former way is to disable notification registration, since it is > > not used by anyone at all. Second way is to check whether calling > > process is root and its destination group is -1 (kind of priveledged > > one) before command is dispatched to workqueue. > > Well if no one is using it, removing it makes the most sense, right? > > No objection from me, care to make up a patch either way for this? Getting it is not used, let's drop support for notifications about (un)registered events from connector. Another option was to check credentials on receiving, but we can always restore it without bugs if needed, but genetlink has a wider code base and none complained, that userspace can not get notification when some other clients were (un)registered. Kudos for Sebastian Krahmer , who found a bug in the code. Signed-off-by: Evgeniy Polyakov Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit b8a1d37c5f981cdd2e83c9fd98198832324cd57a Author: Julia Lawall Date: Wed Feb 3 09:31:36 2010 +1100 kernel/cred.c: use kmem_cache_free Free memory allocated using kmem_cache_zalloc using kmem_cache_free rather than kfree. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,E,c; @@ x = \(kmem_cache_alloc\|kmem_cache_zalloc\|kmem_cache_alloc_node\)(c,...) ... when != x = E when != &x ?-kfree(x) +kmem_cache_free(c,x) // Signed-off-by: Julia Lawall Acked-by: David Howells Cc: James Morris Cc: Steve Dickson Cc: Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 1a45dcfe2525e9432cb4aba461d4994fc2befe42 Merge: 02b709d 1efe8fe Author: Linus Torvalds Date: Tue Feb 2 12:54:37 2010 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: Do not idle on async queues blk-cgroup: Fix potential deadlock in blk-cgroup block: fix bugs in bio-integrity mempool usage block: fix bio_add_page for non trivial merge_bvec_fn case drbd: null dereference bug drbd: fix max_segment_size initialization commit 02b709df817c0db174f249cc59e5f7fd01b64d92 Author: Nick Piggin Date: Mon Feb 1 22:25:57 2010 +1100 mm: purge fragmented percpu vmap blocks Improve handling of fragmented per-CPU vmaps. We previously don't free up per-CPU maps until all its addresses have been used and freed. So fragmented blocks could fill up vmalloc space even if they actually had no active vmap regions within them. Add some logic to allow all CPUs to have these blocks purged in the case of failure to allocate a new vm area, and also put some logic to trim such blocks of a current CPU if we hit them in the allocation path (so as to avoid a large build up of them). Christoph reported some vmap allocation failures when using the per CPU vmap APIs in XFS, which cannot be reproduced after this patch and the previous bug fix. Cc: linux-mm@kvack.org Cc: stable@kernel.org Tested-by: Christoph Hellwig Signed-off-by: Nick Piggin -- Signed-off-by: Linus Torvalds commit de5604231ce4bc8db1bc1dcd27d8540cbedf1518 Author: Nick Piggin Date: Mon Feb 1 22:24:18 2010 +1100 mm: percpu-vmap fix RCU list walking RCU list walking of the per-cpu vmap cache was broken. It did not use RCU primitives, and also the union of free_list and rcu_head is obviously wrong (because free_list is indeed the list we are RCU walking). While we are there, remove a couple of unused fields from an earlier iteration. These APIs aren't actually used anywhere, because of problems with the XFS conversion. Christoph has now verified that the problems are solved with these patches. Also it is an exported interface, so I think it will be good to be merged now (and Christoph wants to get the XFS changes into their local tree). Cc: stable@kernel.org Cc: linux-mm@kvack.org Tested-by: Christoph Hellwig Signed-off-by: Nick Piggin -- Signed-off-by: Linus Torvalds commit 489b24f2cbdcc1c93f55a2707733bba702ba8dbf Merge: 4dab75e cd1510c Author: Linus Torvalds Date: Tue Feb 2 12:48:49 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: random: Remove unused inode variable crypto: padlock-sha - Add import/export support random: drop weird m_time/a_time manipulation commit 4dab75ec3ebf28583fc902ac946b287b5acdbcad Merge: 7fbcca2 ea8d62d Author: Linus Torvalds Date: Tue Feb 2 12:48:26 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Use GFP_NOFS for alloc structure GFS2: Fix previous patch GFS2: Don't withdraw on partial rindex entries GFS2: Fix refcnt leak on gfs2_follow_link() error path commit 7fbcca25c0bf8679a751034f65428ff6291cd4ca Merge: e770a0f bc10e87 Author: Linus Torvalds Date: Tue Feb 2 12:47:51 2010 -0800 Merge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix access to released memory in clk_debugfs_register_one() sh: Fix access to released memory in dwarf_unwinder_cleanup() usb: r8a66597-hdc disable interrupts fix spi: spi_sh_msiof: Fixed data sampling on the correct edge commit e770a0f1154193ca6b6e720a86aeaa2edc9261c6 Merge: 7ab02af 91dfc42 Author: Linus Torvalds Date: Tue Feb 2 12:45:33 2010 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: 64-bit: Detect virtual memory size MIPS: AR7: Fix USB slave mem range typo MIPS: Alchemy: Fix dbdma ring destruction memory debugcheck. commit 7ab02af428c2d312c0cf8fb0b01cc1eb21131a3d Author: Linus Torvalds Date: Tue Feb 2 12:37:44 2010 -0800 Fix 'flush_old_exec()/setup_new_exec()' split Commit 221af7f87b9 ("Split 'flush_old_exec' into two functions") split the function at the point of no return - ie right where there were no more error cases to check. That made sense from a technical standpoint, but when we then also combined it with the actual personality setting going in between flush_old_exec() and setup_new_exec(), it needs to be a bit more careful. In particular, we need to make sure that we really flush the old personality bits in the 'flush' stage, rather than later in the 'setup' stage, since otherwise we might be flushing the _new_ personality state that we're just setting up. So this moves the flags and personality flushing (and 'flush_thread()', which is the arch-specific function that generally resets lazy FP state etc) of the old process into flush_old_exec(), so that it doesn't affect any state that execve() is setting up for the new process environment. This was reported by Michal Simek as breaking his Microblaze qemu environment. Reported-and-tested-by: Michal Simek Cc: Peter Anvin Signed-off-by: Linus Torvalds commit 1efe8fe1c2240acc476bed77740883df63373862 Author: Vivek Goyal Date: Tue Feb 2 20:45:46 2010 +0100 cfq-iosched: Do not idle on async queues Few weeks back, Shaohua Li had posted similar patch. I am reposting it with more test results. This patch does two things. - Do not idle on async queues. - It also changes the write queue depth CFQ drives (cfq_may_dispatch()). Currently, we seem to driving queue depth of 1 always for WRITES. This is true even if there is only one write queue in the system and all the logic of infinite queue depth in case of single busy queue as well as slowly increasing queue depth based on last delayed sync request does not seem to be kicking in at all. This patch will allow deeper WRITE queue depths (subjected to the other WRITE queue depth contstraints like cfq_quantum and last delayed sync request). Shaohua Li had reported getting more out of his SSD. For me, I have got one Lun exported from an HP EVA and when pure buffered writes are on, I can get more out of the system. Following are test results of pure buffered writes (with end_fsync=1) with vanilla and patched kernel. These results are average of 3 sets of run with increasing number of threads. AVERAGE[bufwfs][vanilla] ------- job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us) --- --- -- ------------ ----------- ------------- ----------- bufwfs 3 1 0 0 95349 474141 bufwfs 3 2 0 0 100282 806926 bufwfs 3 4 0 0 109989 2.7301e+06 bufwfs 3 8 0 0 116642 3762231 bufwfs 3 16 0 0 118230 6902970 AVERAGE[bufwfs] [patched kernel] ------- bufwfs 3 1 0 0 270722 404352 bufwfs 3 2 0 0 206770 1.06552e+06 bufwfs 3 4 0 0 195277 1.62283e+06 bufwfs 3 8 0 0 260960 2.62979e+06 bufwfs 3 16 0 0 299260 1.70731e+06 I also ran buffered writes along with some sequential reads and some buffered reads going on in the system on a SATA disk because the potential risk could be that we should not be driving queue depth higher in presence of sync IO going to keep the max clat low. With some random and sequential reads going on in the system on one SATA disk I did not see any significant increase in max clat. So it looks like other WRITE queue depth control logic is doing its job. Here are the results. AVERAGE[brr, bsr, bufw together] [vanilla] ------- job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us) --- --- -- ------------ ----------- ------------- ----------- brr 3 1 850 546345 0 0 bsr 3 1 14650 729543 0 0 bufw 3 1 0 0 23908 8274517 brr 3 2 981.333 579395 0 0 bsr 3 2 14149.7 1175689 0 0 bufw 3 2 0 0 21921 1.28108e+07 brr 3 4 898.333 1.75527e+06 0 0 bsr 3 4 12230.7 1.40072e+06 0 0 bufw 3 4 0 0 19722.3 2.4901e+07 brr 3 8 900 3160594 0 0 bsr 3 8 9282.33 1.91314e+06 0 0 bufw 3 8 0 0 18789.3 23890622 AVERAGE[brr, bsr, bufw mixed] [patched kernel] ------- job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us) --- --- -- ------------ ----------- ------------- ----------- brr 3 1 837 417973 0 0 bsr 3 1 14357.7 591275 0 0 bufw 3 1 0 0 24869.7 8910662 brr 3 2 1038.33 543434 0 0 bsr 3 2 13351.3 1205858 0 0 bufw 3 2 0 0 18626.3 13280370 brr 3 4 913 1.86861e+06 0 0 bsr 3 4 12652.3 1430974 0 0 bufw 3 4 0 0 15343.3 2.81305e+07 brr 3 8 890 2.92695e+06 0 0 bsr 3 8 9635.33 1.90244e+06 0 0 bufw 3 8 0 0 17200.3 24424392 So looks like it might make sense to include this patch. Thanks Vivek Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 91dfc423cc8cfd399fb308a837102a7ab7fa067e Author: Guenter Roeck Date: Tue Feb 2 08:52:20 2010 -0800 MIPS: 64-bit: Detect virtual memory size Linux kernel 2.6.32 and later allocate address space from the top of the kernel virtual memory address space. This patch implements virtual memory size detection for 64 bit MIPS CPUs to avoid resulting crashes. Signed-off-by: Guenter Roeck Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/935/ Reviewed-by: David Daney Signed-off-by: Ralf Baechle commit a4c89051c83693e6cd5655b90300ec23a35e04f1 Merge: 55bdeed e578756 Author: David S. Miller Date: Tue Feb 2 09:04:58 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 55bdeed9f67a92f184e1ddcdd722e622d9dd10c6 Author: Sathya Perla Date: Tue Feb 2 07:48:40 2010 -0800 be2net: use eq-id to calculate cev-isr reg offset cev-isr reg offset for each function is better calculated using (any) eq-id alloted to that function instead of using pci-func number(which does not work in some configurations...) Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit bc10e875d4aeaa93a0d418d8b4346b72f5067ea0 Author: Marek Skuczynski Date: Sat Jan 30 22:29:32 2010 +0100 sh: Fix access to released memory in clk_debugfs_register_one() Signed-off-by: Marek Skuczynski Signed-off-by: Paul Mundt commit 00b3e0a2e059f0601feb537b995b0b4de531b543 Author: Marek Skuczynski Date: Sat Jan 30 22:27:41 2010 +0100 sh: Fix access to released memory in dwarf_unwinder_cleanup() Signed-off-by: Marek Skuczynski Acked-by: Matt Fleming Signed-off-by: Paul Mundt commit e5ff15bec96ba18698dae5de0bbf7e6a0653ca65 Author: Magnus Damm Date: Wed Jan 27 07:41:19 2010 +0000 usb: r8a66597-hdc disable interrupts fix This patch improves disable_controller() in the r8a66597-hdc driver to disable all interrupts and clear status flags. It also makes sure that disable_controller() is called during probe(). This fixes the relatively rare case of unexpected pending interrupts after kexec reboot. Signed-off-by: Magnus Damm Acked-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit e8708ef7e86a463b3a5b01d4a9abf16c8748b464 Author: Markus Pietrek Date: Tue Feb 2 11:29:15 2010 +0900 spi: spi_sh_msiof: Fixed data sampling on the correct edge The spi_sh_msiof.c driver presently misconfigures REDG and TEDG. TEDG==0 outputs data at the **rising edge** of the clock and REDG==0 samples data at the **falling edge** of the clock. Therefore for SPI, TEDG must be equal to REDG, otherwise the last byte received is not sampled in SPI mode 3. This brings the driver in line with the SH7723 HW Reference Manual settings documented in Figures 20.20 and 20.21 ("SPI Clock and data timing"). Signed-off-by: Markus Pietrek Acked-by: Magnus Damm Signed-off-by: Paul Mundt commit ba9e9f3c08a5b58c1ffacf0cc6fb703ab0fa55ff Author: Mauro Carvalho Chehab Date: Mon Feb 1 21:23:46 2010 -0200 saa7146: stop DMA before de-allocating DMA scatter/gather page buffers Thanks-to: Hartmut for pointing me the problem and testing the fix. Signed-off-by: Mauro Carvalho Chehab commit 0b7d5170dc5a4aca144b27d40b67d73b245df066 Merge: dbead40 66ddfc6 Author: Russell King Date: Mon Feb 1 20:06:40 2010 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit dbead405801c8d5aa1bc21ab6e2a47f060d47c06 Author: Catalin Marinas Date: Mon Feb 1 18:50:40 2010 +0100 ARM: 5909/1: ARM: Correct the FPSCR bits setting when raising exceptions Commit c98929c07a removed the clearing of the FPSCR[31:28] bits from the vfp_raise_exceptions() function and the new bits are or'ed with the old FPSCR bits leading to unexpected results (the original commit was referring to the cumulative bits - FPSCR[4:0]). Reported-by: Tom Hameenanttila Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit cd1510cb5f892907fe1a662f90b41fb3a42954e0 Author: Herbert Xu Date: Mon Feb 1 21:48:28 2010 +1100 random: Remove unused inode variable The previous changeset left behind an unused inode variable. This patch removes it. Reported-by: Stephen Rothwell Signed-off-by: Herbert Xu commit a8d7ac279743077965afeca0c9ed748507b68e89 Author: Herbert Xu Date: Mon Feb 1 09:17:56 2010 +1100 crypto: padlock-sha - Add import/export support As the padlock driver for SHA uses a software fallback to perform partial hashing, it must implement custom import/export functions. Otherwise hmac which depends on import/export for prehashing will not work with padlock-sha. Reported-by: Wolfgang Walter Signed-off-by: Herbert Xu commit a996996dd75a9086b12d1cb4010f26e1748993f0 Author: Matt Mackall Date: Fri Jan 29 21:50:36 2010 +1300 random: drop weird m_time/a_time manipulation No other driver does anything remotely like this that I know of except for the tty drivers, and I can't see any reason for random/urandom to do it. In fact, it's a (trivial, harmless) timing information leak. And obviously, it generates power- and flash-cycle wasting I/O, especially if combined with something like hwrngd. Also, it breaks ubifs's expectations. Signed-off-by: Matt Mackall Signed-off-by: Herbert Xu commit ba284b1f199ef7121489010da6614561a679eab6 Author: Alexander Clouter Date: Sun Jan 31 19:38:52 2010 +0000 MIPS: AR7: Fix USB slave mem range typo Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/919/ Signed-off-by: Ralf Baechle commit 22f4bb68b301f4ab896e9b3b0431fdde962242d2 Author: Manuel Lauss Date: Tue Jan 26 20:39:33 2010 +0100 MIPS: Alchemy: Fix dbdma ring destruction memory debugcheck. DBDMA descriptors need to be located at 32-byte aligned addresses; however kmalloc in conjunction with the SLAB allocator and CONFIG_DEBUG_SLUB enabled doesn't deliver any. The dbdma code works around that by allocating a larger area and realigning the start address within it. When freeing a channel however this adjustment is not taken into account which results in an oops: Kernel bug detected[#1]: [...] Call Trace: [<80186010>] cache_free_debugcheck+0x284/0x318 [<801869d8>] kfree+0xe8/0x2a0 [<8010b31c>] au1xxx_dbdma_chan_free+0x2c/0x7c [<80388dc8>] au1x_pcm_dbdma_free+0x34/0x4c [<80388fa8>] au1xpsc_pcm_close+0x28/0x38 [<80383cb8>] soc_codec_close+0x14c/0x1cc [<8036dbb4>] snd_pcm_release_substream+0x60/0xac [<8036dc40>] snd_pcm_release+0x40/0xa0 [<8018c7a8>] __fput+0x11c/0x228 [<80188f60>] filp_close+0x7c/0x98 [<80189018>] sys_close+0x9c/0xe4 [<801022a0>] stack_done+0x20/0x3c Fix this by recording the address delivered by kmalloc() and using it as parameter to kfree(). This fix is only necessary with the SLAB allocator and CONFIG_DEBUG_SLAB enabled; non-debug SLAB, SLUB do return nicely aligned addresses, debug-enabled SLUB currently panics early in the boot process. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Manuel Lauss Patchwork: http://patchwork.linux-mips.org/patch/878/ Signed-off-by: Ralf Baechle commit ab658321f32770b903a4426e2a6fae0392757755 Merge: 9ce9290 f3f1e14 Author: Linus Torvalds Date: Mon Feb 1 10:57:12 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: AM3517: ASoC driver not getting compiled ASoC: AIC23: Fixing writes to non-existing registers in resume function ALSA: hda - Add an ASUS mobo to MSI blacklist commit 9ce929078af868ce5f5b0b3537184dad642fba43 Merge: 13af757 17aafcca Author: Linus Torvalds Date: Mon Feb 1 10:46:49 2010 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: Fix oops after radeon_cs_parser_init() failure. drm/radeon/kms: move radeon KMS on/off switch out of staging. drm/radeon/kms: Bailout of blit if error happen & protect with mutex V3 drm/vmwgfx: Don't send bad flags to the host drm/vmwgfx: Request SVGA version 2 and bail if not found drm/vmwgfx: Correctly detect 3D drm/ttm: remove unnecessary save_flags and ttm_flag_masked in ttm_bo_util.c drm/kms: Remove incorrect comment in struct drm_mode_modeinfo drm/ttm: remove padding from ttm_ref_object on 64bit builds drm/radeon/kms: release agp on error. drm/kms/radeon/agp: Move the check of the aper_size after drm_acp_acquire and drm_agp_info drm/kms/radeon/agp: Fix warning, format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’ drm/ttm: Avoid conflicting reserve_memtype during ttm_tt_set_page_caching. drm/kms/radeon: pick digitial encoders smarter. (v3) drm/radeon/kms: use active device to pick connector for encoder drm/radeon/kms: fix incorrect logic in DP vs eDP connector checking. commit 13af75740f345a5ddb5f7020a688c0f96b0d9f1f Merge: e20da89 bbec919 Author: Linus Torvalds Date: Mon Feb 1 10:46:18 2010 -0800 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: reiserfs: Fix vmalloc call under reiserfs lock commit e20da891302c69d49fea181b4e49c33acc2305de Merge: 834db33 48d5067 Author: Linus Torvalds Date: Mon Feb 1 10:45:26 2010 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Fix check_usage_backwards() error message commit 834db333eda46246f6290f0e1a7525af04fc8cb4 Merge: 8ea85c2 5352ae6 Author: Linus Torvalds Date: Mon Feb 1 10:45:00 2010 -0800 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf, hw_breakpoint, kgdb: Do not take mutex for kernel debugger x86, hw_breakpoints, kgdb: Fix kgdb to use hw_breakpoint API hw_breakpoints: Release the bp slot if arch_validate_hwbkpt_settings() fails. perf: Ignore perf.data.old perf report: Fix segmentation fault when running with '-g none' commit 8ea85c2817301adb986b3b86dc20414595b776be Merge: bdd8466 9d3cfc4 Author: Linus Torvalds Date: Mon Feb 1 10:44:36 2010 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Correct printk whitespace in warning from cpu down task check sched: Fix incorrect sanity check sched: Fix fork vs hotplug vs cpuset namespaces commit bdd846678387d1313f689c9d341bd9743c9aa451 Merge: 935cc93 7b7422a Author: Linus Torvalds Date: Mon Feb 1 10:44:06 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: clocksource: Prevent potential kgdb dead lock commit 935cc9323ac33bb9b6cb853815e5c86f77e50607 Merge: 4ca5ded 0368897 Author: Linus Torvalds Date: Mon Feb 1 10:43:01 2010 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/documentation: Cover new frame pointer semantics tracing/documentation: Fix a typo in ftrace.txt ring-buffer: Check for end of page in iterator ring-buffer: Check if ring buffer iterator has stale data tracing: Prevent kernel oops with corrupted buffer commit 4ca5ded2bdc09259ad89915bac2d218e72cda351 Merge: ed23690 61684ce Author: Linus Torvalds Date: Mon Feb 1 10:42:35 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/agp: Fix agp_amd64_init regression x86: Add quirk for Intel DG45FC board to avoid low memory corruption x86: Add Dell OptiPlex 760 reboot quirk x86, UV: Fix RTC latency bug by reading replicated cachelines oprofile/x86: add Xeon 7500 series support oprofile/x86: fix crash when profiling more than 28 events lib/dma-debug.c: mark file-local struct symbol static. x86/amd-iommu: Fix deassignment of a device from the pt_domain x86/amd-iommu: Fix IOMMU-API initialization for iommu=pt x86/amd-iommu: Fix NULL pointer dereference in __detach_device() x86/amd-iommu: Fix possible integer overflow commit ed23690d507c557d048255c683af1e9d228bfbe1 Merge: 32337f8 a2fad9b Author: Linus Torvalds Date: Mon Feb 1 10:42:08 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: regulator: Specify REGULATOR_CHANGE_STATUS for WM835x LED constraints commit 32337f8a7020676b5fd6387def9ccb9060440c5c Merge: abe94c7 94f28da Author: Linus Torvalds Date: Mon Feb 1 10:37:58 2010 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: TIF_ABI_PENDING bit removal powerpc/pseries: Fix xics build without CONFIG_SMP powerpc/4xx: Add pcix type 1 transactions powerpc/pci: Add missing call to header fixup powerpc/pci: Add missing hookup to pci_slot powerpc/pci: Add calls to set_pcie_port_type() and set_pcie_hotplug_bridge() powerpc/40x: Update the PowerPC 40x board defconfigs powerpc/44x: Update PowerPC 44x board defconfigs commit a2fad9bf26a1d44a8d31a5c4528108a2b9f468ab Author: Mark Brown Date: Mon Jan 4 15:30:54 2010 +0000 regulator: Specify REGULATOR_CHANGE_STATUS for WM835x LED constraints The WM8350 LED driver needs to be able to enable and disable the regulators it is using. Previously the core wasn't properly enforcing status change constraints so the driver was able to function but this has always been intended to be required. Signed-off-by: Mark Brown Cc: stable@kernel.org Signed-off-by: Liam Girdwood commit ea8d62dadd0217334fb2c5d60e7f89e14076ca10 Author: Steven Whitehouse Date: Fri Jan 29 15:48:57 2010 +0000 GFS2: Use GFP_NOFS for alloc structure This is called under a glock, so its a good plan to use GFP_NOFS Signed-off-by: Steven Whitehouse commit 7fe3ec6fe58d2bfe97fe7a5d731c29299a8ffd35 Author: Steven Whitehouse Date: Fri Jan 29 15:20:34 2010 +0000 GFS2: Fix previous patch The do_div() call needs to remain. Signed-off-by: Steven Whitehouse commit 55f0b4c546d1c87cccba63dc0fc5eb70e2b41733 Author: Benjamin Marzinski Date: Mon Jan 25 11:23:24 2010 -0600 GFS2: Don't withdraw on partial rindex entries ince gfs2 writes the rindex file a block at a time, and releases the exclusive lock after each block, it is possible that another process will grab the lock in the middle of the write. Since rindex entries are not an even divisor of blocks, that other process may see partial entries. On grows, this is fine. The process can simply ignore the the partial entires. Previously, the code withdrew when it saw partial entries. Now it simply ignores them. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit bcf4dd43424cdfd8195f3955300a579fe58e9911 Author: Gui Jianfeng Date: Mon Feb 1 09:58:54 2010 +0100 blk-cgroup: Fix potential deadlock in blk-cgroup I triggered a lockdep warning as following. ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.33-rc2 #1 ------------------------------------------------------- test_io_control/7357 is trying to acquire lock: (blkio_list_lock){+.+...}, at: [] blkiocg_weight_write+0x82/0x9e but task is already holding lock: (&(&blkcg->lock)->rlock){......}, at: [] blkiocg_weight_write+0x3b/0x9e which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&(&blkcg->lock)->rlock){......}: [] validate_chain+0x8bc/0xb9c [] __lock_acquire+0x723/0x789 [] lock_acquire+0x90/0xa7 [] _raw_spin_lock_irqsave+0x27/0x5a [] blkiocg_add_blkio_group+0x1a/0x6d [] cfq_get_queue+0x225/0x3de [] cfq_set_request+0x217/0x42d [] elv_set_request+0x17/0x26 [] get_request+0x203/0x2c5 [] get_request_wait+0x18/0x10e [] __make_request+0x2ba/0x375 [] generic_make_request+0x28d/0x30f [] submit_bio+0x8a/0x8f [] submit_bh+0xf0/0x10f [] ll_rw_block+0xc0/0xf9 [] ext3_find_entry+0x319/0x544 [ext3] [] ext3_lookup+0x2c/0xb9 [ext3] [] do_lookup+0xd3/0x172 [] link_path_walk+0x5fb/0x95c [] path_walk+0x3c/0x81 [] do_path_lookup+0x21/0x8a [] do_filp_open+0xf0/0x978 [] open_exec+0x1b/0xb7 [] do_execve+0xbb/0x266 [] sys_execve+0x24/0x4a [] ptregs_execve+0x12/0x18 -> #1 (&(&q->__queue_lock)->rlock){..-.-.}: [] validate_chain+0x8bc/0xb9c [] __lock_acquire+0x723/0x789 [] lock_acquire+0x90/0xa7 [] _raw_spin_lock_irqsave+0x27/0x5a [] cfq_unlink_blkio_group+0x17/0x41 [] blkiocg_destroy+0x72/0xc7 [] cgroup_diput+0x4a/0xb2 [] dentry_iput+0x93/0xb7 [] d_kill+0x1c/0x36 [] dput+0xf5/0xfe [] do_rmdir+0x95/0xbe [] sys_rmdir+0x10/0x12 [] sysenter_do_call+0x12/0x32 -> #0 (blkio_list_lock){+.+...}: [] validate_chain+0x61c/0xb9c [] __lock_acquire+0x723/0x789 [] lock_acquire+0x90/0xa7 [] _raw_spin_lock+0x1e/0x4e [] blkiocg_weight_write+0x82/0x9e [] cgroup_file_write+0xc6/0x1c0 [] vfs_write+0x8c/0x116 [] sys_write+0x3b/0x60 [] sysenter_do_call+0x12/0x32 other info that might help us debug this: 1 lock held by test_io_control/7357: #0: (&(&blkcg->lock)->rlock){......}, at: [] blkiocg_weight_write+0x3b/0x9e stack backtrace: Pid: 7357, comm: test_io_control Not tainted 2.6.33-rc2 #1 Call Trace: [] print_circular_bug+0x91/0x9d [] validate_chain+0x61c/0xb9c [] __lock_acquire+0x723/0x789 [] lock_acquire+0x90/0xa7 [] ? blkiocg_weight_write+0x82/0x9e [] _raw_spin_lock+0x1e/0x4e [] ? blkiocg_weight_write+0x82/0x9e [] blkiocg_weight_write+0x82/0x9e [] cgroup_file_write+0xc6/0x1c0 [] ? trace_hardirqs_off+0xb/0xd [] ? cpu_clock+0x2e/0x44 [] ? security_file_permission+0xf/0x11 [] ? rw_verify_area+0x8a/0xad [] ? cgroup_file_write+0x0/0x1c0 [] vfs_write+0x8c/0x116 [] sys_write+0x3b/0x60 [] sysenter_do_call+0x12/0x32 To prevent deadlock, we should take locks as following sequence: blkio_list_lock -> queue_lock -> blkcg_lock. The following patch should fix this bug. Signed-off-by: Gui Jianfeng Signed-off-by: Jens Axboe commit 1e98cadb0d2b9f945f35beee4a0ce667f3c6dbe4 Merge: 71cc1fa 6bf8268 Author: David S. Miller Date: Sun Jan 31 23:34:58 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit d6ad3e286d2c075a60b9f11075a2c55aeeeca2ad Author: Jason Wessel Date: Wed Jan 27 16:25:22 2010 -0600 softlockup: Add sched_clock_tick() to avoid kernel warning on kgdb resume When CONFIG_HAVE_UNSTABLE_SCHED_CLOCK is set, sched_clock() gets the time from hardware such as the TSC on x86. In this configuration kgdb will report a softlock warning message on resuming or detaching from a debug session. Sequence of events in the problem case: 1) "cpu sched clock" and "hardware time" are at 100 sec prior to a call to kgdb_handle_exception() 2) Debugger waits in kgdb_handle_exception() for 80 sec and on exit the following is called ... touch_softlockup_watchdog() --> __raw_get_cpu_var(touch_timestamp) = 0; 3) "cpu sched clock" = 100s (it was not updated, because the interrupt was disabled in kgdb) but the "hardware time" = 180 sec 4) The first timer interrupt after resuming from kgdb_handle_exception updates the watchdog from the "cpu sched clock" update_process_times() { ... run_local_timers() --> softlockup_tick() --> check (touch_timestamp == 0) (it is "YES" here, we have set "touch_timestamp = 0" at kgdb) --> __touch_softlockup_watchdog() ***(A)--> reset "touch_timestamp" to "get_timestamp()" (Here, the "touch_timestamp" will still be set to 100s.) ... scheduler_tick() ***(B)--> sched_clock_tick() (update "cpu sched clock" to "hardware time" = 180s) ... } 5) The Second timer interrupt handler appears to have a large jump and trips the softlockup warning. update_process_times() { ... run_local_timers() --> softlockup_tick() --> "cpu sched clock" - "touch_timestamp" = 180s-100s > 60s --> printk "soft lockup error messages" ... } note: ***(A) reset "touch_timestamp" to "get_timestamp(this_cpu)" Why is "touch_timestamp" 100 sec, instead of 180 sec? When CONFIG_HAVE_UNSTABLE_SCHED_CLOCK is set, the call trace of get_timestamp() is: get_timestamp(this_cpu) -->cpu_clock(this_cpu) -->sched_clock_cpu(this_cpu) -->__update_sched_clock(sched_clock_data, now) The __update_sched_clock() function uses the GTOD tick value to create a window to normalize the "now" values. So if "now" value is too big for sched_clock_data, it will be ignored. The fix is to invoke sched_clock_tick() to update "cpu sched clock" in order to recover from this state. This is done by introducing the function touch_softlockup_watchdog_sync(). This allows kgdb to request that the sched clock is updated when the watchdog thread runs the first time after a resume from kgdb. [yong.zhang0@gmail.com: Use per cpu instead of an array] Signed-off-by: Jason Wessel Signed-off-by: Dongdong Deng Cc: kgdb-bugreport@lists.sourceforge.net Cc: peterz@infradead.org LKML-Reference: <1264631124-4837-2-git-send-email-jason.wessel@windriver.com> Signed-off-by: Ingo Molnar commit 94f28da8409c6059135e89ac64a0839993124155 Author: Andreas Schwab Date: Sat Jan 30 10:20:59 2010 +0000 powerpc: TIF_ABI_PENDING bit removal Here are the powerpc bits to remove TIF_ABI_PENDING now that set_personality() is called at the appropriate place in exec. Signed-off-by: Andreas Schwab Signed-off-by: Benjamin Herrenschmidt commit 17aafccab4352b422aa01fa6ebf82daff693a5b3 Author: Michel Dänzer Date: Fri Jan 22 09:20:00 2010 +0100 drm/radeon/kms: Fix oops after radeon_cs_parser_init() failure. If radeon_cs_parser_init() fails, radeon_cs_ioctl() calls radeon_cs_parser_fini() with the non-zero error value. The latter dereferenced parser->ib which hasn't been initialized yet -> boom. Add a test for parser->ib being non-NULL before dereferencing it. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit bf647fafda6515adf5ba84249fd08f64b5a9ec21 Author: Benjamin Herrenschmidt Date: Mon Feb 1 13:32:41 2010 +1100 powerpc/pseries: Fix xics build without CONFIG_SMP desc->affinity doesn't exit in that case. Let's use a macro for the UP variant of get_irq_server(), it's the easiest way, avoids evaluating arguments. Signed-off-by: Benjamin Herrenschmidt commit f71d0187987e691516cd10c2702f002c0e2f0edc Author: Dave Airlie Date: Mon Feb 1 11:35:47 2010 +1000 drm/radeon/kms: move radeon KMS on/off switch out of staging. We are happy enough that the KMS driver is stable enough for enough people for the kms enable/disable to leave staging. Distros can now contemplate turning this on. Signed-off-by: Dave Airlie commit ff82f052d2a187dd0fa0e431ba70eb457c71a40e Author: Jerome Glisse Date: Fri Jan 22 15:19:00 2010 +0100 drm/radeon/kms: Bailout of blit if error happen & protect with mutex V3 If an error happen in r600_blit_prepare_copy report it rather than WARNING and keeping execution. For instance if ib allocation failed we did just warn about but then latter tried to access NULL ib ptr causing oops. This patch also protect r600_copy_blit with a mutex as otherwise one process might overwrite blit temporary data with new one possibly leading to GPU lockup. Should partialy or totaly fix: https://bugzilla.redhat.com/show_bug.cgi?id=553279 V2 failing blit initialization is not fatal, fallback to memcpy when this happen V3 init blit before startup as we pin in startup, remove duplicate code (this one was actualy tested unlike V2) Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 5ffdb658f605cbc420944e7c7eeec9fbb8a73772 Author: Jakob Bornecrantz Date: Sat Jan 30 03:38:08 2010 +0000 drm/vmwgfx: Don't send bad flags to the host Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit c188660f6dbb0df9febe1b841a16c66c28353c15 Author: Peter Hanzel Date: Sat Jan 30 03:38:07 2010 +0000 drm/vmwgfx: Request SVGA version 2 and bail if not found This fixes the driver not loading on older versions of VMware. Signed-off-by: Peter Hanzel Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit 8e19a951774a16cf2626292ae06fd2b62630e67e Author: Jakob Bornecrantz Date: Sat Jan 30 03:38:06 2010 +0000 drm/vmwgfx: Correctly detect 3D Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit 110b20c3ddcfa98cc932aef3af2d59b4e0841f08 Author: Austin Yuan Date: Thu Jan 21 13:45:40 2010 +0800 drm/ttm: remove unnecessary save_flags and ttm_flag_masked in ttm_bo_util.c Signed-off-by: Austin Yuan Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit fa5829b36539067f3c675f5d437531dedcfc4ad8 Author: Marcin Kościelnicki Date: Sat Jan 23 10:25:28 2010 +1000 drm/kms: Remove incorrect comment in struct drm_mode_modeinfo Signed-off-by: Dave Airlie commit dd5fde6041d7ea30fcfedcc159a4cec8b01f73b2 Author: Richard Kennedy Date: Tue Jan 26 17:10:48 2010 +0000 drm/ttm: remove padding from ttm_ref_object on 64bit builds Re-order structure ttm_ref_object to remove 8 bytes of alignment padding on 64 bit builds, so shrinking its size from 72 to 64 bytes allowing it to fit into a smaller slab. Signed-off-by: Richard Kennedy Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4b866288be6ffaefaad9cec212cb09e3258a68ee Author: Dave Airlie Date: Mon Feb 1 11:22:10 2010 +1000 drm/radeon/kms: release agp on error. if we get an error, release the AGP if we've acquired it already. Signed-off-by: Dave Airlie commit 2dea2e29b9fad48c759aa406b5ea426bff4339af Author: John Kacur Date: Sun Jan 31 20:38:03 2010 +0100 drm/kms/radeon/agp: Move the check of the aper_size after drm_acp_acquire and drm_agp_info First call drm_agp_acquire to check if agp has been acquired. Second call drm_agp_info to fill in the info data struct, including aper_size. Finally do the check to see if the aper_size makes sense. Signed-off-by: John Kacur Signed-off-by: Dave Airlie commit cdb6e375c3c84558ed2c13c5461b22e8f7b7980e Author: John Kacur Date: Sun Jan 31 20:38:02 2010 +0100 drm/kms/radeon/agp: Fix warning, format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’ - Fix warning by using %zu instead of %d for size_t - Fix spelling mistake, "to" should be "too". Signed-off-by: John Kacur Signed-off-by: Dave Airlie commit db78e27de7e29a6db6be7caf607cf803d84094aa Author: Francisco Jerez Date: Tue Jan 12 18:49:43 2010 +0100 drm/ttm: Avoid conflicting reserve_memtype during ttm_tt_set_page_caching. Fixes errors like: > reserve_ram_pages_type failed 0x15b7a000-0x15b7b000, track 0x8, req 0x10 when a BO is moved between WC and UC areas. Reported-by: Xavier Chantry Signed-off-by: Francisco Jerez Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit f28cf33945cc112f8ee835512b7440905dc29ad2 Author: Dave Airlie Date: Thu Jan 28 17:15:25 2010 +1000 drm/kms/radeon: pick digitial encoders smarter. (v3) booting a Lenovo W500 with LVDS + DP outputs showed up a TODO we had on our list, to pick a correct digital encoder block. The LVTMA encoder requires the second digital encoder, all others can use any encoder at all. This fixes the digital encoder selection logic to enable LVDS/DP combos to work okay. V2: fix silly addition of connector dig_block and cleanup the other places in the code that pick the encoder. V3: rename to dig_encoder and clean up further - also fix the picking algorithm. tested on Lenovo W500 + desktop 3650 cards. Signed-off-by: Dave Airlie commit 43c33ed87d0f1b900a6a3014db556ecc7f4a989b Author: Dave Airlie Date: Fri Jan 29 15:55:30 2010 +1000 drm/radeon/kms: use active device to pick connector for encoder On the W500 we have UNIPHY routed to both DVI and DP, this seems to always pick the DVI connector which means link training fails. Switch to using active device to pick the connector, this seems like it should be safe from a code review, and it fixes things a bit more here. Signed-off-by: Dave Airlie commit 97b94ccb9aa1b82ed7a9a045d0ae5b32c99b84a0 Author: Dave Airlie Date: Fri Jan 29 15:31:47 2010 +1000 drm/radeon/kms: fix incorrect logic in DP vs eDP connector checking. This makes displayport work again here. Signed-off-by: Dave Airlie commit f3f1e14ce993775b7373defeffb5ebd5844fcb98 Merge: 74ce25c 5bbd495 Author: Takashi Iwai Date: Sun Jan 31 14:41:05 2010 +0100 Merge branch 'fix/asoc' into for-linus commit 74ce25c0ee757b0b9ea16a67a9ddc0ced192b030 Merge: 86f2ce0 8ce28d6 Author: Takashi Iwai Date: Sun Jan 31 14:40:58 2010 +0100 Merge branch 'fix/hda' into for-linus commit 61684ceaad4f65d1a9832c722f7bd5e7fc714de9 Author: FUJITA Tomonori Date: Mon Jan 25 14:10:47 2010 +0900 x86/agp: Fix agp_amd64_init regression This fixes the regression introduced by commit 42590a75019a50012f25a962246498dead428433 ("x86/agp: Fix agp_amd64_init and agp_amd64_cleanup"). The above commit changes agp_amd64_init() not to do anything if gart_iommu_aperture is not zero. If GART iommu calls agp_amd64_init(), we need to skip agp_amd64_init() when it's called later via module_init. The problem is that gart_iommu_init() calls agp_amd64_init() with not zero gart_iommu_aperture so agp_amd64_init() is never initialized. When gart_iommu_init() calls agp_amd64_init(), agp should be always initialized. Reported-by: Marin Mitov Reported-by: Johannes Hirte Signed-off-by: FUJITA Tomonori Tested-by: Marin Mitov Tested-by: Kevin Winchester Cc: davej@redhat.com Cc: Linus Torvalds LKML-Reference: <20100125141006O.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 3256a05531b1164a9c138da701b922a113bddf82 Author: Ryusuke Konishi Date: Sun Jan 31 12:39:50 2010 +0900 nilfs2: fix potential leak of dirty data on umount This fixes incorrect usage of nilfs_segctor_confirm() test function in nilfs_segctor_destroy(); nilfs_segctor_confirm() returns zero if the filesystem is not clean, so its use in nilfs_segctor_destroy() needs inversion. Signed-off-by: Ryusuke Konishi commit 9e9432c267e4047db98b9d4fba95099c6effcef9 Author: Chuck Ebbert Date: Sat Jan 30 20:28:19 2010 +0100 block: fix bugs in bio-integrity mempool usage Fix two bugs in the bio integrity code: use_bip_pool() always returns 0 because it checks against the wrong limit, causing the mempool to be used only when regular allocation fails. When the mempool is used as a fallback we don't free the data properly. Signed-Off-By: Chuck Ebbert Acked-by: Martin K. Petersen Signed-off-by: Jens Axboe commit c540b9ff0f8679ba924fac072aeb7d63fa473190 Author: Catalin Marinas Date: Tue Jan 26 19:09:48 2010 +0100 ARM: 5904/1: ARM: Always generate the IT instruction when compiling for Thumb-2 Current behaviour is to generate the IT instruction only for Thumb-2 code. However, the kernel helpers in entry-armv.S are compiled to ARM in a unified syntax file (if THUMB2_KERNEL). Recent compilers warn about missing IT instruction in unified assembly syntax files. The patch changes the "-mimplicit-it" gas option to "always". Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit df2e615a3b3a66d0731e3309e9731970a6c51268 Author: Colin Tuckley Date: Fri Jan 29 12:52:55 2010 +0100 ARM: 5907/1: ARM: Fix the reset on the RealView PBX Development board Signed-off-by: Colin Tuckley Acked-by: Catalin Marinas Signed-off-by: Russell King commit 6bf8268f9a91f1065c99503161ebd061492bebe3 Author: Bastien Nocera Date: Wed Jan 20 12:00:42 2010 +0000 Bluetooth: Use the control channel for raw HID reports In commit 2da31939a42f7a676a0bc5155d6a0a39ed8451f2, support for Bluetooth hid_output_raw_report was added, but it pushes the data to the interrupt channel instead of the contol one. This patch makes hid_output_raw_report use the control channel instead. Using the interrupt channel was a mistake. Signed-off-by: Bastien Nocera Signed-off-by: Marcel Holtmann commit 9670d80a9a6e24725c4111bef5d6cc7786ad0dc5 Author: Vikram Kandukuri Date: Wed Jan 6 19:04:15 2010 +0530 Bluetooth: Add DFU driver for Atheros Bluetooth chipset AR3011 Signed-off-by: Vikram Kandukuri Signed-off-by: Alicke Xu Reviewed-by: Luis R. Rodriguez Signed-off-by: Marcel Holtmann commit 7427847d2d044d85f478757ea03165ae3cfe87c4 Author: Mike Frysinger Date: Mon Sep 14 13:43:49 2009 -0400 Bluetooth: Redo checks in IRQ handler for shared IRQ support Commit ac019360fe3 changed the irq handler logic to BUG_ON rather than returning IRQ_NONE when the incoming argument is invalid. While this works in most cases, it doesn't work when the IRQ is shared with other devices (or when DEBUG_SHIRQ is enabled). So revert the previous change and replace the warning message with a comment explaining that we want this behavior. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Marcel Holtmann commit e420aba331f44de0eed6871441293a6124d566d1 Author: Andrei Emeltchenko Date: Wed Dec 23 13:07:14 2009 +0200 Bluetooth: Fix memory leak in L2CAP Move skb_clone after error confition check so it is not going potentially out of the scope. Signed-off-by: Andrei Emeltchenko Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fcafde2e6d81aa7901f9b10e6a097592f0637b79 Author: Andrei Emeltchenko Date: Tue Dec 22 15:58:08 2009 +0200 Bluetooth: Remove double free of SKB pointer in L2CAP Trivial fix for double free of SKB pointer with kfree_skb to make code simplier and cleaner. Remove unused variable err. Signed-off-by: Andrei Emeltchenko Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 5352ae638e2d7d5c9b2e4d528676bbf2af6fd6f3 Author: Jason Wessel Date: Thu Jan 28 17:04:43 2010 -0600 perf, hw_breakpoint, kgdb: Do not take mutex for kernel debugger This patch fixes the regression in functionality where the kernel debugger and the perf API do not nicely share hw breakpoint reservations. The kernel debugger cannot use any mutex_lock() calls because it can start the kernel running from an invalid context. A mutex free version of the reservation API needed to get created for the kernel debugger to safely update hw breakpoint reservations. The possibility for a breakpoint reservation to be concurrently processed at the time that kgdb interrupts the system is improbable. Should this corner case occur the end user is warned, and the kernel debugger will prohibit updating the hardware breakpoint reservations. Any time the kernel debugger reserves a hardware breakpoint it will be a system wide reservation. Signed-off-by: Jason Wessel Acked-by: Frederic Weisbecker Cc: kgdb-bugreport@lists.sourceforge.net Cc: K.Prasad Cc: Peter Zijlstra Cc: Alan Stern Cc: torvalds@linux-foundation.org LKML-Reference: <1264719883-7285-3-git-send-email-jason.wessel@windriver.com> Signed-off-by: Ingo Molnar commit cc0967490c1c3824bc5b75718b6ca8a51d9f2617 Author: Jason Wessel Date: Thu Jan 28 17:04:42 2010 -0600 x86, hw_breakpoints, kgdb: Fix kgdb to use hw_breakpoint API In the 2.6.33 kernel, the hw_breakpoint API is now used for the performance event counters. The hw_breakpoint_handler() now consumes the hw breakpoints that were previously set by kgdb arch specific code. In order for kgdb to work in conjunction with this core API change, kgdb must use some of the low level functions of the hw_breakpoint API to install, uninstall, and deal with hw breakpoint reservations. The kgdb core required a change to call kgdb_disable_hw_debug anytime a slave cpu enters kgdb_wait() in order to keep all the hw breakpoints in sync as well as to prevent hitting a hw breakpoint while kgdb is active. During the architecture specific initialization of kgdb, it will pre-allocate 4 disabled (struct perf event **) structures. Kgdb will use these to manage the capabilities for the 4 hw breakpoint registers, per cpu. Right now the hw_breakpoint API does not have a way to ask how many breakpoints are available, on each CPU so it is possible that the install of a breakpoint might fail when kgdb restores the system to the run state. The intent of this patch is to first get the basic functionality of hw breakpoints working and leave it to the person debugging the kernel to understand what hw breakpoints are in use and what restrictions have been imposed as a result. Breakpoint constraints will be dealt with in a future patch. While atomic, the x86 specific kgdb code will call arch_uninstall_hw_breakpoint() and arch_install_hw_breakpoint() to manage the cpu specific hw breakpoints. The net result of these changes allow kgdb to use the same pool of hw_breakpoints that are used by the perf event API, but neither knows about future reservations for the available hw breakpoint slots. Signed-off-by: Jason Wessel Acked-by: Frederic Weisbecker Cc: kgdb-bugreport@lists.sourceforge.net Cc: K.Prasad Cc: Peter Zijlstra Cc: Alan Stern Cc: torvalds@linux-foundation.org LKML-Reference: <1264719883-7285-2-git-send-email-jason.wessel@windriver.com> Signed-off-by: Ingo Molnar commit 7c099ce1575126395f186ecf58b51a60d5c3be7d Author: David Härdeman Date: Thu Jan 28 21:02:54 2010 +0100 x86: Add quirk for Intel DG45FC board to avoid low memory corruption Commit 6aa542a694dc9ea4344a8a590d2628c33d1b9431 added a quirk for the Intel DG45ID board due to low memory corruption. The Intel DG45FC shares the same BIOS (and the same bug) as noted in: http://bugzilla.kernel.org/show_bug.cgi?id=13736 Signed-off-by: David Härdeman LKML-Reference: <20100128200254.GA9134@hardeman.nu> Cc: Cc: Alexey Fisher Cc: ykzhao Cc: Tony Bones Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit 013d5aa2bbb2ceacba7a0dad7f2a0eb20133323f Author: Jesse Barnes Date: Fri Jan 29 11:18:31 2010 -0800 drm/i915: page flip support for Ironlake This patch adds support for page flipping on Ironlake, which uses different interrupt bits for triggering flip submit IRQs. Signed-off-by: Jesse Barnes [anholt: hand-resolved for rebasing off of render power saving patch] Signed-off-by: Eric Anholt commit f034b12dbb5749b11e9390e15e93ffa87ece8038 Author: Zhao Yakui Date: Thu Jan 21 15:20:18 2010 +0800 drm/i915: Fix the incorrect DMI string for Samsung SX20S laptop Signed-off-by: Zhao Yakui Reported-by: Philipp Kohlbecher Signed-off-by: Eric Anholt commit 2dd873838805a6e84c1afdfbf13e8709bfb5c70f Author: Zhao Yakui Date: Wed Jan 27 16:32:46 2010 +0800 drm/i915: Add support for SDVO composite TV Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 643ced9b0b4810b5725910667604f1a373f30f2f Author: Li Peng Date: Thu Jan 28 01:05:09 2010 +0800 drm/i915: don't trigger ironlake vblank interrupt at irq install Zhenyu noticed that the ironlake vblank enabling patch has one issue that it will trigger vblank starting from irq postinstall, this isn't necessary. This patch addresses this issue by only adding the vblank into DEIER but mask them in DEIMR, so that it won't trigger vblank interrupt at irq install. Signed-off-by: Li Peng Acked-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 9198bcd39f558dd56823f1c9983e2252fc99a501 Author: Uwe Kleine-König Date: Fri Jan 29 14:20:05 2010 -0800 omap: define _toggle_gpio_edge_triggering only for OMAP1 The only usage of _toggle_gpio_edge_triggering is in an #ifdef CONFIG_ARCH_OMAP1 block, so only provide it if CONFIG_ARCH_OMAP1 is defined, too. This fixes a compiler warning: arch/arm/plat-omap/gpio.c:758: warning: '_toggle_gpio_edge_triggering' defined but not used when compiling for ARCH_OMAP2, ARCH_OMAP3 or ARCH_OMAP4. Signed-off-by: Uwe Kleine-König Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 7415c7602ddb14a9a9c39bc8c38afa667092a527 Author: Hans Verkuil Date: Fri Jan 29 06:51:08 2010 -0300 V4L/DVB: saa7134: remove stray unlock_kernel An earlier commit removed the lock_kernel/unlock_kernel pair but forgot to remove the unlock_kernel call in the cleanup path at the end of the function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5bbd4953a4fb5d8d597b4a53b8da97eee320b634 Author: Anuj Aggarwal Date: Fri Jan 29 15:49:22 2010 +0530 ASoC: AM3517: ASoC driver not getting compiled Commit 761c9d45 (ASoC: Fix build of OMAP sound drivers) changes CONFIG_MACH_OMAP3517EVM -> CONFIG_SND_OMAP_SOC_OMAP3517EVM in the Makefile. Whereas the config option defined in Kconfig is SND_OMAP_SOC_AM3517EVM. Because of this, ASoC driver for AM3517 was not getting compiled. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit 3e59aaa7ae9de49af8810102f12857860d5bd0ed Author: Anuj Aggarwal Date: Fri Jan 29 13:58:55 2010 +0530 ASoC: AIC23: Fixing writes to non-existing registers in resume function Commit e9ff5eb2 (Fixing infinite loop in resume path) uses wrong AIC23 register in resume function because of which register writes happen on some non-existing registers. Signed-off-by: Anuj Aggarwal Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 66ddfc62caec65a25fd5a8b20f535a2958ee94e6 Author: Uwe Kleine-König Date: Thu Jan 28 20:50:39 2010 +0100 mx35: add a missing comma in a pad definition Reported-by: Tim Sander Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit e90c52e03b07a77675aa1584141846d3c221ea67 Merge: d234b3c 02ea228 Author: Benjamin Herrenschmidt Date: Fri Jan 29 16:52:27 2010 +1100 Merge commit 'jwb/merge' into merge commit d234b3c36ff600b2a51cff74c9263cba5b2c24ee Author: Stef van Os Date: Wed Jan 20 03:59:39 2010 +0000 powerpc/4xx: Add pcix type 1 transactions Some of the newer 4xx pci cores need an explicit bit set to send type 1 transactions instead of just comparing the bus numbers. This patch enables type 1 transations for pcix nodes, thus enabling devices behind PCI bridges. Signed-off-by: Stef van Os Signed-off-by: Benjamin Herrenschmidt commit 94afc008e1e6fbadfac0b75fcf193b6d7074b2f1 Author: Benjamin Herrenschmidt Date: Tue Jan 26 17:10:05 2010 +0000 powerpc/pci: Add missing call to header fixup Add missing call to pci_fixup_device(pci_fixup_early, ...) when building the pci_dev from scratch off the Open Firmware device-tree Signed-off-by: Benjamin Herrenschmidt commit 26b4a0ca46985ae9586c194f7859f3838b1230f8 Author: Benjamin Herrenschmidt Date: Tue Jan 26 17:10:05 2010 +0000 powerpc/pci: Add missing hookup to pci_slot Add missing hookup to existing pci_slot when building the pci_dev from scratch off the Open Firmware device-tree Signed-off-by: Benjamin Herrenschmidt commit bb209c8287d2d55ec4a67e3933346e0a3ee0da76 Author: Benjamin Herrenschmidt Date: Tue Jan 26 17:10:03 2010 +0000 powerpc/pci: Add calls to set_pcie_port_type() and set_pcie_hotplug_bridge() We are missing these when building the pci_dev from scratch off the Open Firmware device-tree Signed-off-by: Benjamin Herrenschmidt Acked-by: Jesse Barnes commit 71cc1fa9f2d71eb2eba9b8e71e27cff9863e55f3 Author: Ben Hutchings Date: Thu Jan 28 21:37:18 2010 -0800 cdc_ether: Partially revert "usbnet: Set link down initially ..." Commit 37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71 ("usbnet: Set link down initially for drivers that update link state") changed the initial link state in cdc_ether and other drivers based on the understanding that the devices they support generate link change interrupts. However, this is optional in the CDC Ethernet protocol, and two users have reported in that the link state for their devices remains down. Therefore, revert the change in cdc_ether. Signed-off-by: Ben Hutchings Tested-by: Avi Rozen Signed-off-by: David S. Miller commit d291b9af1a1a12f59a464494900c6e0db26e2ec3 Author: David S. Miller Date: Thu Jan 28 21:36:21 2010 -0800 be2net: Fix memset() arg ordering. Noticed by Ben Hutchings. Signed-off-by: David S. Miller commit 1d6165851cd8e3f919d446cd6da35dee44e8837e Author: Dmitry Monakhov Date: Wed Jan 27 22:44:36 2010 +0300 block: fix bio_add_page for non trivial merge_bvec_fn case We have to properly decrease bi_size in order to merge_bvec_fn return right result. Otherwise this result in false merge rejects for two absolutely valid bio_vecs. This may cause significant performance penalty for example fs_block_size == 1k and block device is raid0 with small chunk_size = 8k. Then it is impossible to merge 7-th fs-block in to bio which already has 6 fs-blocks. Cc: Signed-off-by: Dmitry Monakhov Signed-off-by: Jens Axboe commit b473946a0853860e13b51c28add5524741117786 Author: stephen hemminger Date: Mon Jan 25 23:34:15 2010 +0000 bonding: bond_open error return value The convention for API functions in kernel is to return errno value; bond_open would return -1 if alb setup failed. The only reason that could happen is if kmalloc() failed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3ce1cc52d2e76b6a6b9d0b52b70eb181497efa50 Author: John Fastabend Date: Wed Jan 27 16:38:06 2010 +0000 ixgbe: if ixgbe_copy_dcb_cfg is going to fail learn about it early Call ixgbe_copy_dcb_cfg() earlier in the ixgbe_dcbnl_set_all() so that we can learn if this is going to fail as early as possible. Previously, ixgbe_down or ixgbe_close were being called before this check and the IXGBE_RESETTING bit was being set and cleared. Worse if this failed the corresponding ixgbe_up/ndo_open would not called. Signed-off-by: John Fastabend Acked-by: PJ Waskiewicz Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ebe1b30cd441b576fb9d0b42857af3e423dd5826 Author: John Fastabend Date: Wed Jan 27 16:37:44 2010 +0000 ixgbe: set the correct DCB bit for pg tx settings Set the correct bit BIT_PG_TX when tx PG settings are set. Signed-off-by: John Fastabend Acked-by: PJ Waskiewicz Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ac26d7d6aca9621f75f6954c159d2727c9c9cbd0 Author: Alexander Duyck Date: Wed Jan 27 15:30:39 2010 +0000 igbvf: fix issue w/ mapped_as_page being left set after unmap This change fixes an issue in igbvf with mapped_as_page being left set after a page is unmapped which results in buffers which are mapped via map single being unmapped as page. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aeedba8bd2cf2f6f7b45bc7853754a03bc926797 Author: Choi, David Date: Wed Jan 27 06:03:16 2010 +0000 drivers/net: ks8851_mll ethernet network driver Hello David Miller, I fix a bug in ks8851_mll driver, which has existed since 2.6.32-rc6. >From : David J. Choi Fix a bug that the data pointers in the interrupt handler are set wrong, which is related with the 5th parameter of request_irq(). Signed-off-by : David J. Choi Signed-off-by: David S. Miller commit 7b139c83c590d4965259aad8889cbb08104b2891 Author: Ajit Khaparde Date: Wed Jan 27 21:56:44 2010 +0000 be2net: Bug fix to support newer generation of BE ASIC Bug fix in be2net for newer generation of BladeEngine ASIC. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 744595c847cefd6ac0eec8f66e9fba95687c3f4f Merge: c928feb 3092ad0 Author: David S. Miller Date: Thu Jan 28 05:42:33 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit b23ff0e9330e4b11e18af984d50573598e10e7f9 Author: Mahesh Salgaonkar Date: Thu Jan 21 18:25:16 2010 +0530 hw_breakpoints: Release the bp slot if arch_validate_hwbkpt_settings() fails. On a given architecture, when hardware breakpoint registration fails due to un-supported access type (read/write/execute), we lose the bp slot since register_perf_hw_breakpoint() does not release the bp slot on failure. Hence, any subsequent hardware breakpoint registration starts failing with 'no space left on device' error. This patch introduces error handling in register_perf_hw_breakpoint() function and releases bp slot on error. Signed-off-by: Mahesh Salgaonkar Cc: Ananth N Mavinakayanahalli Cc: K. Prasad Cc: Maneesh Soni LKML-Reference: <20100121125516.GA32521@in.ibm.com> Signed-off-by: Frederic Weisbecker commit bbec919150037b8a2e58e32d3ba642ba3b6582a5 Author: Frederic Weisbecker Date: Thu Jan 28 13:43:50 2010 +0100 reiserfs: Fix vmalloc call under reiserfs lock Vmalloc is called to allocate journal->j_cnode_free_list but we hold the reiserfs lock at this time, which raises a {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} lock inversion. Just drop the reiserfs lock at this time, as it's not even needed but kept for paranoid reasons. This fixes: [ INFO: inconsistent lock state ] 2.6.33-rc5 #1 --------------------------------- inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. kswapd0/313 [HC0[0]:SC0[0]:HE1:SE1] takes: (&REISERFS_SB(s)->lock){+.+.?.}, at: [] reiserfs_write_lock_once+0x28/0x50 {RECLAIM_FS-ON-W} state was registered at: [] mark_held_locks+0x62/0x90 [] lockdep_trace_alloc+0x9a/0xc0 [] kmem_cache_alloc+0x26/0xf0 [] __get_vm_area_node+0x6c/0xf0 [] __vmalloc_node+0x7e/0xa0 [] vmalloc+0x2b/0x30 [] journal_init+0x6cb/0xa10 [] reiserfs_fill_super+0x342/0xb80 [] get_sb_bdev+0x145/0x180 [] get_super_block+0x21/0x30 [] vfs_kern_mount+0x40/0xd0 [] do_kern_mount+0x39/0xd0 [] do_mount+0x2c7/0x6d0 [] sys_mount+0x66/0xa0 [] mount_block_root+0xc4/0x245 [] mount_root+0x59/0x5f [] prepare_namespace+0x111/0x14b [] kernel_init+0xcf/0xdb [] kernel_thread_helper+0x6/0x1c irq event stamp: 63236801 hardirqs last enabled at (63236801): [] __mutex_unlock_slowpath+0x9a/0x120 hardirqs last disabled at (63236800): [] __mutex_unlock_slowpath+0x39/0x120 softirqs last enabled at (63218800): [] __do_softirq+0xc1/0x110 softirqs last disabled at (63218789): [] do_softirq+0x4d/0x60 other info that might help us debug this: 2 locks held by kswapd0/313: #0: (shrinker_rwsem){++++..}, at: [] shrink_slab+0x24/0x170 #1: (&type->s_umount_key#19){++++..}, at: [] shrink_dcache_memory+0xfd/0x1a0 stack backtrace: Pid: 313, comm: kswapd0 Not tainted 2.6.33-rc5 #1 Call Trace: [] ? printk+0x18/0x1c [] print_usage_bug+0x15f/0x1a0 [] mark_lock+0x39f/0x5a0 [] ? trace_hardirqs_off+0xb/0x10 [] ? check_usage_forwards+0x0/0xf0 [] __lock_acquire+0x214/0xa70 [] ? sched_clock_cpu+0x95/0x110 [] lock_acquire+0x7a/0xa0 [] ? reiserfs_write_lock_once+0x28/0x50 [] mutex_lock_nested+0x5f/0x2b0 [] ? reiserfs_write_lock_once+0x28/0x50 [] ? reiserfs_write_lock_once+0x28/0x50 [] reiserfs_write_lock_once+0x28/0x50 [] reiserfs_delete_inode+0x50/0x140 [] ? generic_delete_inode+0x5f/0x150 [] ? reiserfs_delete_inode+0x0/0x140 [] generic_delete_inode+0x9c/0x150 [] generic_drop_inode+0x3d/0x60 [] iput+0x47/0x50 [] dentry_iput+0x6f/0xf0 [] d_kill+0x24/0x50 [] __shrink_dcache_sb+0x21d/0x2b0 [] shrink_dcache_memory+0x12f/0x1a0 [] shrink_slab+0x10e/0x170 [] kswapd+0x477/0x6a0 [] ? isolate_pages_global+0x0/0x1b0 [] ? autoremove_wake_function+0x0/0x40 [] ? kswapd+0x0/0x6a0 [] kthread+0x6c/0x80 [] ? kthread+0x0/0x80 [] kernel_thread_helper+0x6/0x1c Reported-by: Alexander Beregalov Signed-off-by: Frederic Weisbecker Cc: Christian Kujau Cc: Chris Mason commit 9d3cfc4c1d17c6d3bc1373e3b954c56b92607755 Author: Frans Pop Date: Mon Jan 25 14:56:34 2010 +0100 sched: Correct printk whitespace in warning from cpu down task check Due to an incorrect line break the output currently contains tabs. Also remove trailing space. The actual output that logcheck sent me looked like this: Task events/1 (pid = 10) is on cpu 1^I^I^I^I(state = 1, flags = 84208040) After this patch it becomes: Task events/1 (pid = 10) is on cpu 1 (state = 1, flags = 84208040) Signed-off-by: Frans Pop Signed-off-by: Peter Zijlstra LKML-Reference: <201001251456.34996.elendil@planet.nl> Signed-off-by: Ingo Molnar commit 11854247e2c851e7ff9ce138e501c6cffc5a4217 Author: Peter Zijlstra Date: Thu Jan 21 16:34:27 2010 +0100 sched: Fix incorrect sanity check We moved to migrate on wakeup, which means that sleeping tasks could still be present on offline cpus. Amend the check to only test running tasks. Reported-by: Heiko Carstens Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 35ea63d70f827a26c150993b4b940925bb02b03f Author: Leann Ogasawara Date: Wed Jan 27 15:29:18 2010 -0800 x86: Add Dell OptiPlex 760 reboot quirk Dell OptiPlex 760 hangs on reboot unless reboot=bios is used. Add quirk to reboot through the BIOS. BugLink: https://bugs.launchpad.net/bugs/488319 Signed-off-by: Leann Ogasawara LKML-Reference: <1264634958.27335.1091.camel@emiko> Cc: Signed-off-by: H. Peter Anvin commit 8ce28d6abff34886d3797b25324c940471b99164 Author: Takashi Iwai Date: Wed Jan 27 20:26:08 2010 +0100 ALSA: hda - Add an ASUS mobo to MSI blacklist Sid Boyce reported that his machine locks up without enable_msi=0 option. This looks like another ASUS mobo with Nvidia combo. Reported-by: Sid Boyce Signed-off-by: Takashi Iwai commit aca3bb5910119d4cf6c28568a642582efb4cc14a Author: Dimitri Sivanich Date: Fri Jan 22 09:41:40 2010 -0600 x86, UV: Fix RTC latency bug by reading replicated cachelines For SGI UV node controllers (HUB) rev 2.0 or greater, use replicated cachelines to read the RTC timer. This optimization allows faster simulataneous reads from a given socket. Signed-off-by: Dimitri Sivanich Cc: Jack Steiner LKML-Reference: <20100122154140.GB4975@sgi.com> Signed-off-by: Ingo Molnar commit 7f5102ca4b8a8e598dbfa154322ea684bc98da96 Author: Amerigo Wang Date: Mon Jan 25 00:07:30 2010 -0500 perf: Ignore perf.data.old Tell git to ignore this file. Signed-off-by: WANG Cong LKML-Reference: <20100125051052.3999.28082.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit e0b5f80dd4226a920257c91a3b9070e81149060b Merge: b7a0afb a02b119 Author: Ingo Molnar Date: Wed Jan 27 11:04:40 2010 +0100 Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit b7ae11b34bf042cfb4dbaa3b63b2d5d6d33d4cc4 Author: Yong Wang Date: Fri Jan 22 09:47:50 2010 +0800 perf report: Fix segmentation fault when running with '-g none' Segmentation fault occurs when running perf report with '-g none'. Reported-by: Austin Zhang Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20100122014750.GA4111@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit b7a0afb0b4649d9b43488d5f5b1660bc9cffcff6 Merge: da48247 e83e452 Author: Ingo Molnar Date: Wed Jan 27 10:52:36 2010 +0100 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into x86/urgent commit 48d50674179981e41f432167b2441cec782d5484 Author: Oleg Nesterov Date: Tue Jan 26 19:16:41 2010 +0100 lockdep: Fix check_usage_backwards() error message Lockdep has found the real bug, but the output doesn't look right to me: > ========================================================= > [ INFO: possible irq lock inversion dependency detected ] > 2.6.33-rc5 #77 > --------------------------------------------------------- > emacs/1609 just changed the state of lock: > (&(&tty->ctrl_lock)->rlock){+.....}, at: [] tty_fasync+0xe8/0x190 > but this lock took another, HARDIRQ-unsafe lock in the past: > (&(&sighand->siglock)->rlock){-.....} "HARDIRQ-unsafe" and "this lock took another" looks wrong, afaics. > ... key at: [] __key.46539+0x0/0x8 > ... acquired at: > [] __lock_acquire+0x1056/0x15a0 > [] lock_acquire+0x9f/0x120 > [] _raw_spin_lock_irqsave+0x52/0x90 > [] __proc_set_tty+0x3e/0x150 > [] tty_open+0x51d/0x5e0 The stack-trace shows that this lock (ctrl_lock) was taken under ->siglock (which is hopefully irq-safe). This is a clear typo in check_usage_backwards() where we tell the print a fancy routine we're forwards. Signed-off-by: Oleg Nesterov Signed-off-by: Peter Zijlstra LKML-Reference: <20100126181641.GA10460@redhat.com> Signed-off-by: Ingo Molnar commit c928febf4bc703ea542340e5a208e0445d998839 Author: Ben Hutchings Date: Tue Jan 26 18:27:09 2010 +0000 starfire: clean up properly if firmware loading fails netdev_open() will return without cleaning up net device or hardware state if firmware loading fails. This results in a BUG() on a second attempt to bring the interface up, reported in , and probably has even worse effects if the driver is removed afterwards. Call netdev_close() to clean up on failure. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15091 Signed-off-by: Ben Hutchings Reported-by: Michael Moffatt Tested-by: Michael Moffatt Cc: "David S. Miller" Cc: Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 03688970347bfea32823953a7ce5886d1713205f Author: Mike Frysinger Date: Fri Jan 22 08:12:47 2010 -0500 tracing/documentation: Cover new frame pointer semantics Update the graph tracer examples to cover the new frame pointer semantics (in terms of passing it along). Move the HAVE_FUNCTION_GRAPH_FP_TEST docs out of the Kconfig, into the right place, and expand on the details. Signed-off-by: Mike Frysinger LKML-Reference: <1264165967-18938-1-git-send-email-vapier@gentoo.org> Signed-off-by: Steven Rostedt commit 6993b1bb1e62367f500789835a1f747e12259f07 Author: Yang Hongyang Date: Mon Jan 25 11:10:32 2010 +0800 tracing/documentation: Fix a typo in ftrace.txt 'ftrace' is no longer the name of the function tracer, to activate the function trace 'echo function > current_tracer' is to be used instead of 'echo ftrace > current_tracer'. Update the documentation to reflect the current implementation. Signed-off-by: Yang Hongyang LKML-Reference: <4B5D0BA8.20106@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 3c05d7482777f15e71bb4cb1ba78dee2800dfec6 Author: Steven Rostedt Date: Tue Jan 26 16:14:08 2010 -0500 ring-buffer: Check for end of page in iterator If the iterator comes to an empty page for some reason, or if the page is emptied by a consuming read. The iterator code currently does not check if the iterator is pass the contents, and may return a false entry. This patch adds a check to the ring buffer iterator to test if the current page has been completely read and sets the iterator to the next page if necessary. Signed-off-by: Steven Rostedt commit 492a74f4210e15f4701422e2e1c4cd3c1e45ddae Author: Steven Rostedt Date: Mon Jan 25 15:17:47 2010 -0500 ring-buffer: Check if ring buffer iterator has stale data Usually reads of the ring buffer is performed by a single task. There are two types of reads from the ring buffer. One is a consuming read which will consume the entry that was read and the next read will be the entry that follows. The other is an iterator that will let the user read the contents of the ring buffer without modifying it. When an iterator is allocated, writes to the ring buffer are disabled to protect the iterator. The problem exists when consuming reads happen while an iterator is allocated. Specifically, the kind of read that swaps out an entire page (used by splice) and replaces it with a new read. If the iterator is on the page that is swapped out, then the next read may read from this swapped out page and return garbage. This patch adds a check when reading the iterator to make sure that the iterator contents are still valid. If a consuming read has taken place, the iterator is reset. Signed-off-by: Steven Rostedt commit a2c0b9e291208f65221a0ad8a0c80a377707d480 Author: Trond Myklebust Date: Tue Jan 26 15:42:47 2010 -0500 NFS: Ensure that we handle NFS4ERR_STALE_STATEID correctly Even if the server is crazy, we should be able to mark the stateid as being bad, to ensure it gets recovered. Signed-off-by: Trond Myklebust Reviewed-by: Chuck Lever commit 03391693a95900875b0973569d2d73ff3aa8972e Author: Trond Myklebust Date: Tue Jan 26 15:42:38 2010 -0500 NFSv4.1: Don't call nfs4_schedule_state_recovery() unnecessarily Currently, nfs4_handle_exception() will call it twice if called with an error of -NFS4ERR_STALE_CLIENTID, -NFS4ERR_STALE_STATEID or -NFS4ERR_EXPIRED. Signed-off-by: Trond Myklebust Reviewed-by: Chuck Lever commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 Author: Trond Myklebust Date: Tue Jan 26 15:42:30 2010 -0500 NFSv4: Don't allow posix locking against servers that don't support it Signed-off-by: Trond Myklebust Cc: stable@kernel.org Reviewed-by: Chuck Lever commit 2bee72a6aa1e6d0a4f5da56217f0d0bbbdd0d9a3 Author: Trond Myklebust Date: Tue Jan 26 15:42:21 2010 -0500 NFSv4: Ensure that the NFSv4 locking can recover from stateid errors In most cases, we just want to mark the lock_stateid sequence id as being uninitialised. Signed-off-by: Trond Myklebust Cc: stable@kernel.org Reviewed-by: Chuck Lever commit b0706ca415b188ed58788420de4d5c9972b2afb2 Author: David Howells Date: Tue Jan 26 15:42:11 2010 -0500 NFS: Avoid warnings when CONFIG_NFS_V4=n Avoid the following warnings when CONFIG_NFS_V4=n: fs/nfs/sysctl.c:19: warning: unused variable `nfs_set_port_max' fs/nfs/sysctl.c:18: warning: unused variable `nfs_set_port_min' by making those variables contingent on NFSv4 being configured. Signed-off-by: David Howells Signed-off-by: Trond Myklebust Reviewed-by: Chuck Lever commit 0aa05887af728b058af91197f0ae9b3ae63dd74a Author: H Hartley Sweeten Date: Tue Jan 26 15:42:03 2010 -0500 NFS: Make nfs_commitdata_release static The symbol nfs_commitdata_release is only used locally in this file. Make it static to prevent the following sparse warning: warning: symbol 'nfs_commitdata_release' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten Cc: Trond Myklebust Signed-off-by: Trond Myklebust Reviewed-by: Chuck Lever commit 82be934a59ff891cac598727e5a862ba2b9d1fac Author: Trond Myklebust Date: Tue Jan 26 15:41:53 2010 -0500 NFS: Try to commit unstable writes in nfs_release_page() If someone calls nfs_release_page(), we presumably already know that the page is clean, however it may be holding an unstable write. Signed-off-by: Trond Myklebust Cc: stable@kernel.org Reviewed-by: Chuck Lever commit c9edda7140ec6a22accf7f2f86da362dfbfd41fc Author: Trond Myklebust Date: Tue Jan 26 15:41:34 2010 -0500 NFS: Fix a reference leak in nfs_wb_cancel_page() Signed-off-by: Trond Myklebust Cc: stable@kernel.org Reviewed-by: Chuck Lever commit 1c5740237428ca025a30f53c5615edd11201c17b Author: Baruch Siach Date: Mon Jan 25 12:58:22 2010 +0200 mx25: make the FEC AHB clk secondary of the IPG This makes the FEC clock configuration consistent with the UART one. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit faed40665d2d81b7e0e537d14ef680ab3da9f22d Author: Baruch Siach Date: Mon Jan 25 12:58:21 2010 +0200 mx25: fix time accounting The gpt_clk rate function doesn't consider the PER divider. This causes a significant drift in time accounting. Fix this by introducing the correct rate calculation function. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 828df43f139c7fbf0d505c7b9a666d321a0f2c25 Author: Baruch Siach Date: Mon Jan 25 12:58:20 2010 +0200 mx25: properly initialize clocks This patch disables all unnecessary clock in mx25_clocks_init() to make a clean start, the same as is being done for the rest of the i.MX chips. This patch was tested on i.MX25 PDK. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit fadc095622dd188cae88eb2f3ff28fd6e9d2d2f1 Author: Baruch Siach Date: Mon Jan 25 12:58:19 2010 +0200 mx25: remove unused mx25_clocks_init() argument The fref is needless on mx25 since the reference clock is fixed at 24MHz. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 4cd3f96cd4014419a4ea524d840be0fa39e3ddbc Author: Sascha Hauer Date: Fri Jan 22 08:47:06 2010 +0100 i.MX25: implement secondary clocks for uarts and fec For uarts and fec need two clocks, implement it using the secondary clock field in struct clk. Signed-off-by: Sascha Hauer commit 9611a9b6f6de95c290efc697a3e1d0530878c047 Author: Sascha Hauer Date: Fri Jan 22 08:46:13 2010 +0100 i.MX25: Allow secondary clocks in DEFINE_CLOCK Signed-off-by: Sascha Hauer commit 3092ad054406f069991ca561adc74f2d9fbb6867 Author: Zhu Yi Date: Tue Jan 26 15:58:57 2010 +0800 mac80211: fix NULL pointer dereference when ftrace is enabled I got below kernel oops when I try to bring down the network interface if ftrace is enabled. The root cause is drv_ampdu_action() is passed with a NULL ssn pointer in the BA session tear down case. We need to check and avoid dereferencing it in trace entry assignment. BUG: unable to handle kernel NULL pointer dereference Modules linked in: at (null) IP: [] ftrace_raw_event_drv_ampdu_action+0x10a/0x160 [mac80211] *pde = 00000000 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [...] Call Trace: [] ? ftrace_raw_event_drv_ampdu_action+0x0/0x160 [mac80211] [] ? __ieee80211_stop_rx_ba_session+0xfc/0x220 [mac80211] [] ? ieee80211_sta_tear_down_BA_sessions+0x3b/0x50 [mac80211] [] ? ieee80211_set_disassoc+0xe6/0x230 [mac80211] [] ? ieee80211_set_disassoc+0x9c/0x230 [mac80211] [] ? ieee80211_mgd_deauth+0x158/0x170 [mac80211] [] ? ieee80211_deauth+0x1b/0x20 [mac80211] [] ? __cfg80211_mlme_deauth+0xe9/0x120 [cfg80211] [] ? __cfg80211_disconnect+0x170/0x1d0 [cfg80211] Cc: Johannes Berg Cc: stable@kernel.org Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e578756c35859a459d78d8416195bc5f5ff897d0 Author: Patrick McHardy Date: Tue Jan 26 17:04:02 2010 +0100 netfilter: ctnetlink: fix expectation mask dump The protocol number is not initialized, so userspace can't interpret the layer 4 data properly. Signed-off-by: Patrick McHardy commit 7b7422a566aa0dc1e582ce263d4c7ff4a772700a Author: Thomas Gleixner Date: Tue Jan 26 12:51:10 2010 +0100 clocksource: Prevent potential kgdb dead lock commit 0f8e8ef7 (clocksource: Simplify clocksource watchdog resume logic) introduced a potential kgdb dead lock. When the kernel is stopped by kgdb inside code which holds watchdog_lock then kgdb dead locks in clocksource_resume_watchdog(). clocksource_resume_watchdog() is called from kbdg via clocksource_touch_watchdog() to avoid that the clock source watchdog marks TSC unstable after the kernel has been stopped. Solve this by replacing spin_lock with a spin_trylock and just return in case the lock is held. Not resetting the watchdog might result in TSC becoming marked unstable, but that's an acceptable penalty for using kgdb. The timekeeping is anyway easily screwed up by kgdb when the system uses either jiffies or a clock source which wraps in short intervals (e.g. pm_timer wraps about every 4.6s), so we really do not have to worry about that occasional TSC marked unstable side effect. The second caller of clocksource_resume_watchdog() is clocksource_resume(). The trylock is safe here as well because the system is UP at this point, interrupts are disabled and nothing else can hold watchdog_lock(). Reported-by: Jason Wessel LKML-Reference: <1264480000-6997-4-git-send-email-jason.wessel@windriver.com> Cc: kgdb-bugreport@lists.sourceforge.net Cc: Martin Schwidefsky Cc: John Stultz Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit c92b544bd5d8e7ed7d81c77bbecab6df2a95aa53 Author: Shan Wei Date: Tue Jan 26 02:40:38 2010 +0000 ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure The commit 0b5ccb2(title:ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery) has broken the saddr&&daddr member of nf_ct_frag6_queue when creating new queue. And then hash value generated by nf_hashfn() was not equal with that generated by fq_find(). So, a new received fragment can't be inserted to right queue. The patch fixes the bug with adding member of user to nf_ct_frag6_queue structure. Signed-off-by: Shan Wei Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit de3f440f8c9922afe8770dd16c84f1c87d779b59 Author: Jesse Barnes Date: Thu Jan 14 13:18:02 2010 -0800 drm/i915: handle non-flip pending case when unpinning the scanout buffer The first page flip queued will replace the current front buffer, which should have a 0 pending flip count. So at finish time we need to handle that case (i.e. if the flip count is 0 *or* dec_and_test is 0 we need to wake the waiters). Also fix up an error path in the queue function and add some debug output (only enabled with driver debugging). Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit c84a301d4a4b1cc382a6549b4e7881ce5b796d63 Merge: f6760aa d3db7b4 Author: Jens Axboe Date: Mon Jan 25 23:15:41 2010 +0100 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-linus commit aa8bc9ef18a2c5b2b97e1f36ee9604cf15743f96 Author: Felix Fietkau Date: Sat Jan 23 20:04:18 2010 +0100 ath9k: fix eeprom INI values override for 2GHz-only cards Among other changes, this commit: commit 06d0f0663e11cab4ec5f2c143a118d71a12fbbe9 Author: Sujith Date: Thu Feb 12 10:06:45 2009 +0530 ath9k: Enable Fractional N mode changed the hw attach code to fix up initialization values only for dual band devices, however the commit message did not give a reason as to why this would be useful or necessary. According to tests by Jorge Boncompte, this breaks at least some 2GHz-only cards, so the code should be changed back to the unconditional INI fixup. Signed-off-by: Felix Fietkau Reported-by: Jorge Boncompte Cc: stable@kernel.org Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 0b5d9b2689af0f59aeba67dc749b3681290d2166 Author: Johannes Berg Date: Fri Jan 22 14:22:34 2010 -0800 iwlwifi: fix pointer signedness warning There are a few station addresses that are char *, instead of the normal u8 *; gcc gives pointer signedness warnings for some of those, so use u8 * consistently. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 74bf4076f2ed79b5510440b72a561823a8852ec0 Author: Steven Rostedt Date: Mon Jan 25 15:11:53 2010 -0500 tracing: Prevent kernel oops with corrupted buffer If the contents of the ftrace ring buffer gets corrupted and the trace file is read, it could create a kernel oops (usualy just killing the user task thread). This is caused by the checking of the pid in the buffer. If the pid is negative, it still references the cmdline cache array, which could point to an invalid address. The simple fix is to test for negative PIDs. Signed-off-by: Steven Rostedt commit 8a6c77d645d9111f7bc01f908464301f5c3e0a05 Author: Li Peng Date: Thu Jan 21 18:45:46 2010 +0800 drm/i915: Fix the device info of Pineview Pineview doesn't has CXSR and need GTT-based hardware status page. It fixes a X boot hung issue on Pinview since commit cfdf1f Signed-off-by: Li Peng Acked-by: Zhao Yakui Signed-off-by: Eric Anholt commit c062df61966405b0be6743bfb0cf300dca2fa7c2 Author: Li Peng Date: Sat Jan 23 00:12:58 2010 +0800 drm/i915: enable vblank interrupt on ironlake so far vblank interrupt on ironlake is disabled, this would cause bad gfx performance if userspace calls drm_wait_vblank. This patch enables vblank interrupt on ironlake and follows vblank get/put model. Signed-off-by: Li Peng Acked-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d3db7b485ad7c467a61279d6a8ef51a3c83352df Author: Dan Carpenter Date: Sat Jan 23 15:45:22 2010 +0300 drbd: null dereference bug epoch is always NULL here. Signed-off-by: Dan Carpenter Signed-off-by: Philipp Reisner commit 0ce907f89118aa8748f950700b6919b1d8d8a038 Author: Chris Wilson Date: Sat Jan 23 20:26:35 2010 +0000 drm/i915: Prevent use of uninitialized pointers along error path. X.org hang with [drm:i915_gem_do_execbuffer] *ERROR* in dmesg http://bugzilla.kernel.org/show_bug.cgi?id=15114 Matej found he was hitting an error path within i915_gem_do_execbuffer() that led to the attempt to dereference an uninitialised pointer during cleanup. This path used to be safe as we used to calloc the object lists, but this was changed in c8e0f93. Daniel Vetter had also spotted this error and proposed a similar patch. [ 6379.732892] [drm:i915_gem_do_execbuffer] *ERROR* Object ffff880098cd6540 appears more than once in object list [ 6379.740976] [drm:i915_gem_do_execbuffer] *ERROR* Object ffff880098cd6540 appears more than once in object list [ 6379.740995] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a0 [ 6379.740998] IP: [] i915_gem_do_execbuffer+0xba5/0x1260 [ 6379.741006] PGD babab067 PUD bb435067 PMD 0 [ 6379.741010] Oops: 0002 [#1] PREEMPT SMP [ 6379.741014] last sysfs file: /sys/devices/pci0000:00/0000:00:1c.2/0000:06:00.0/ieee80211/phy0/rfkill0/state [ 6379.741017] CPU 1 [ 6379.741021] Pid: 2186, comm: X Not tainted 2.6.33-rc4-00399-g24bc734 #142 M11D/ESPRIMO Mobile M9400 [ 6379.741023] RIP: 0010:[] [] i915_gem_do_execbuffer+0xba5/0x1260 [ 6379.741027] RSP: 0018:ffff8800b9047b78 EFLAGS: 00213206 [ 6379.741029] RAX: 0000000000000000 RBX: 000000000000004f RCX: ffff880098cac800 [ 6379.741032] RDX: ffff880098caca78 RSI: ffff8800b9047c98 RDI: ffff880098cd6540 [ 6379.741034] RBP: ffff8800b9047c78 R08: ffffffff814b96b5 R09: 0000000000000006 [ 6379.741036] R10: 0000000000000000 R11: 0000000000000003 R12: 000000000000004e [ 6379.741038] R13: 00000000fffffff7 R14: 0000000000000000 R15: 0000000000000001 [ 6379.741041] FS: 0000000000000000(0000) GS:ffff880001900000(0063) knlGS:00000000f72636c0 [ 6379.741043] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 6379.741041] FS: 0000000000000000(0000) GS:ffff880001900000(0063) knlGS:00000000f72636c0 [ 6379.741043] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 6379.741045] CR2: 00000000000000a0 CR3: 00000000b9000000 CR4: 00000000000006e0 [ 6379.741048] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 6379.741050] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 6379.741052] Process X (pid: 2186, threadinfo ffff8800b9046000, task ffff8800bb5d8000) [ 6379.741054] Stack: [ 6379.741055] ffffc90023f57000 ffffc90023f56fff ffffc90023f56fff ffffc90023f55000 [ 6379.741059] <0> ffff8800b9047c98 ffff8800bb43c840 ffff8800bf1de800 ffff8800bf1de820 [ 6379.741063] <0> ffff8800b9047bd8 ffff880098cac800 0000000000000000 0000000000000002 [ 6379.741068] Call Trace: [ 6379.741072] [] ? i915_gem_execbuffer+0x6b/0x370 [ 6379.741077] [] ? __vmalloc_node+0xa2/0xb0 [ 6379.741080] [] ? i915_gem_execbuffer+0x6b/0x370 [ 6379.741083] [] i915_gem_execbuffer+0x1b6/0x370 [ 6379.741086] [] drm_ioctl+0x1d5/0x460 [ 6379.741089] [] ? i915_gem_execbuffer+0x0/0x370 [ 6379.741093] [] i915_compat_ioctl+0x45/0x50 [ 6379.741097] [] compat_sys_ioctl+0xa9/0x1570 [ 6379.741102] [] ? vfs_read+0x13c/0x1a0 [ 6379.741106] [] sysenter_dispatch+0x7/0x2b [ 6379.741108] Code: 08 85 c0 74 52 31 db 0f 1f 80 00 00 00 00 48 63 c3 48 8b 8d 68 ff ff ff 48 8d 14 c1 48 8b 02 48 85 c0 74 25 48 8b 80 80 00 00 00 80 a0 00 00 00 00 00 00 00 48 8b 3a 48 85 ff 74 0c 48 c7 c6 [ 6379.741142] RIP [] i915_gem_do_execbuffer+0xba5/0x1260 [ 6379.741145] RSP [ 6379.741147] CR2: 00000000000000a0 [ 6379.741159] ---[ end trace 0598809afa4c31db ]--- Reported-by: Matej Laitl Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit eceb784cec4dc0fcc2993d9ee4a7c0d111ada80a Author: Zhenyu Wang Date: Mon Jan 25 10:35:16 2010 +0800 drm/i915: disable hotplug detect before Ironlake CRT detect This tries to fix CRT detect loop hang seen on some Ironlake form factor, to clear up hotplug detect state before taking CRT detect to make sure next hotplug detect cycle is consistent. Cc: Stable Team Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit e83e452b0692c9c13372540deb88a77d4ae2553d Author: Andi Kleen Date: Thu Jan 21 23:26:27 2010 +0100 oprofile/x86: add Xeon 7500 series support Add Xeon 7500 series support to oprofile. Straight forward: it's the same as Core i7, so just detect the model number. No user space changes needed. Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit d8cc108f4fab42b380c6b3f3356f99e8dd5372e2 Author: Suravee Suthikulpanit Date: Mon Jan 18 11:25:36 2010 -0600 oprofile/x86: fix crash when profiling more than 28 events With multiplexing enabled oprofile crashs when profiling more than 28 events. This patch fixes this. Signed-off-by: Suravee Suthikulpanit Signed-off-by: Robert Richter commit a02b11937a6e1079fdf386833129cd86a3576196 Merge: d3ad937 aeb583d Author: Joerg Roedel Date: Fri Jan 22 18:00:41 2010 +0100 Merge branches 'amd-iommu/fixes' and 'dma-debug/fixes' into iommu/fixes commit aeb583d08172e038552bdefe0a79a9aa9e2ecd7c Author: Thiago Farina Date: Mon Jan 18 18:57:33 2010 -0500 lib/dma-debug.c: mark file-local struct symbol static. warning: symbol 'filter_fops' was not declared. Should it be static? Signed-off-by: Thiago Farina Signed-off-by: Joerg Roedel commit d3ad9373b7c29b63d5e8460a69453718d200cc3b Author: Joerg Roedel Date: Fri Jan 22 17:55:27 2010 +0100 x86/amd-iommu: Fix deassignment of a device from the pt_domain Deassigning a device from the passthrough domain does not work and breaks device assignment to kvm guests. This patch fixes the issue. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit f5325094379158e6b876ea0010c807bf7890ec8f Author: Joerg Roedel Date: Fri Jan 22 17:44:35 2010 +0100 x86/amd-iommu: Fix IOMMU-API initialization for iommu=pt This patch moves the initialization of the iommu-api out of the dma-ops initialization code. This ensures that the iommu-api is initialized even with iommu=pt. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 2ca762790caf822f7b61430fbaffa3ae4219977f Author: Joerg Roedel Date: Fri Jan 22 16:45:31 2010 +0100 x86/amd-iommu: Fix NULL pointer dereference in __detach_device() In the __detach_device function the reference count for a device-domain binding may become zero. This results in the device being removed from the domain and dev_data->domain will be NULL. This is bad because this pointer is dereferenced when trying to unlock the domain->lock. This patch fixes the issue by keeping the domain in a seperate variable. Signed-off-by: Joerg Roedel commit d91afd15b041f27d34859c79afa9e172018a86f4 Author: Joerg Roedel Date: Fri Jan 22 16:40:20 2010 +0100 x86/amd-iommu: Fix possible integer overflow The variable i in this function could be increased to over 2**32 which would result in an integer overflow when using int. Fix it by changing i to unsigned long. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 98ec286e016a028678cc943b1a1f87668ad447c8 Author: Lars Ellenberg Date: Thu Jan 21 19:33:14 2010 +0100 drbd: fix max_segment_size initialization blk_queue_make_request() internally calls blk_set_default_limits(), so calling blk_queue_max_segment_size() before is useless. Ergo: move the call to blk_queue_max_segment_size() down a few lines. Impact: If, after a fresh modprobe, you first connect a Diskless drbd, then attach, this could result in a DRBD Protocol Error at first. The next connection attempt would then succeeded. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit fabf318e5e4bda0aca2b0d617b191884fda62703 Author: Peter Zijlstra Date: Thu Jan 21 21:04:57 2010 +0100 sched: Fix fork vs hotplug vs cpuset namespaces There are a number of issues: 1) TASK_WAKING vs cgroup_clone (cpusets) copy_process(): sched_fork() child->state = TASK_WAKING; /* waiting for wake_up_new_task() */ if (current->nsproxy != p->nsproxy) ns_cgroup_clone() cgroup_clone() mutex_lock(inode->i_mutex) mutex_lock(cgroup_mutex) cgroup_attach_task() ss->can_attach() ss->attach() [ -> cpuset_attach() ] cpuset_attach_task() set_cpus_allowed_ptr(); while (child->state == TASK_WAKING) cpu_relax(); will deadlock the system. 2) cgroup_clone (cpusets) vs copy_process So even if the above would work we still have: copy_process(): if (current->nsproxy != p->nsproxy) ns_cgroup_clone() cgroup_clone() mutex_lock(inode->i_mutex) mutex_lock(cgroup_mutex) cgroup_attach_task() ss->can_attach() ss->attach() [ -> cpuset_attach() ] cpuset_attach_task() set_cpus_allowed_ptr(); ... p->cpus_allowed = current->cpus_allowed over-writing the modified cpus_allowed. 3) fork() vs hotplug if we unplug the child's cpu after the sanity check when the child gets attached to the task_list but before wake_up_new_task() shit will meet with fan. Solve all these issues by moving fork cpu selection into wake_up_new_task(). Reported-by: Serge E. Hallyn Tested-by: Serge E. Hallyn Signed-off-by: Peter Zijlstra LKML-Reference: <1264106190.4283.1314.camel@laptop> Signed-off-by: Thomas Gleixner commit 71318da9d2a46b9986dcecb44b7ae978753ca4dd Author: Vladimir Zapolskiy Date: Thu Jan 21 12:12:52 2010 +0300 ARM: MX3: Fixed typo in declared enum type name. To distinguish between mx31lite and mx31lilly boards better to use different enum types. Signed-off-by: Vladimir Zapolskiy Acked-by: Daniel Mack Signed-off-by: Sascha Hauer commit 74401773f80b6d42f7a4c6994ca0cca883b03745 Author: Felix Fietkau Date: Tue Jan 19 20:51:32 2010 +0100 ath9k: fix beacon slot/buffer leak When cleaning up beacon buffers and slots, ath9k currently checks if sc->ah->opmode is set to a beacon related mode before cleaning up buffers. An unfortunate ordering of interface up/down commands can lead to sc->ah->opmode being set to monitor mode, while there are AP interfaces present on the same wiphy. Always cleaning up beacon buffers if present fixes this issue. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 135d01899b1fba17045961febff7e5141db6048f Author: Patrick McHardy Date: Tue Jan 19 19:06:59 2010 +0100 netfilter: nf_conntrack_sip: fix off-by-one in compact header parsing In a string like "v:SIP/2.0..." it was checking for !isalpha('S') when it meant to be inspecting the ':'. Patch by Greg Alexander Signed-off-by: Patrick McHardy commit 7b4e08a77f0cbfe31b47faf082caa02f9c252266 Author: Mark Brown Date: Mon Jan 11 16:33:18 2010 +0000 MXC: Add AUDMUXv2 register decode to debugfs Since AUDMUX configuration appears to be one of the common stumbling blocks for people setting up i.MX audio try to provide some diagnostic information describing the current setup to assisist people in working out what's going on. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit 0f585f14d4e34ab701283e9237ac7695cd7c9e31 Author: OGAWA Hirofumi Date: Tue Jan 12 03:36:57 2010 +0900 GFS2: Fix refcnt leak on gfs2_follow_link() error path If ->follow_link handler return the error, it should decrement nd->path refcnt. This patch fix it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Steven Whitehouse commit 3d661ac187e72af71d3bb7d48a46012180a6fc46 Author: Mark Brown Date: Tue Jan 5 16:05:16 2010 +0000 mx31ads: Provide an IRQ range to the WM835x on the 1133-EV1 module The WM8350 core won't actually use the range yet, but it will in future and the platform data to configure it is there now. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit bd02acdbb28be99ed87ec11c3ef61a5eec4e2dd7 Author: Mark Brown Date: Tue Jan 5 16:05:15 2010 +0000 mx31ads: Provide a name for EXPIO interrupt chip This makes it a bit more obvious in genirq diagnostics that they aren't handled by the i.MX interrupt controller. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit 9f0727f5f41d21eb3da67e50965d1f30e054795f Author: Mark Brown Date: Mon Jan 4 18:24:50 2010 +0000 mx31ads: Allow enable/disable of switchable supplies They will be automatically powered off at startup so users will need to enable them for use. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit 02ea22896a66026f70ecee43527b15f9ca21b116 Author: Josh Boyer Date: Mon Jan 4 10:59:32 2010 -0500 powerpc/40x: Update the PowerPC 40x board defconfigs Update the 40x defconfigs for 2.6.33 Signed-off-by: Josh Boyer commit ea708ac9349e1eddbcf983c1d1234dc191c41da8 Author: Josh Boyer Date: Mon Jan 4 10:58:28 2010 -0500 powerpc/44x: Update PowerPC 44x board defconfigs Update the 44x defconfig files for 2.6.33 Signed-off-by: Josh Boyer