aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-11-22ipv6: fix missing in6_ifa_put in addrconfJohn Fastabend1-3/+3
Fix ref count bug introduced by commit 2de795707294972f6c34bae9de713e502c431296 Author: Lorenzo Colitti <[email protected]> Date: Wed Oct 27 18:16:49 2010 +0000 ipv6: addrconf: don't remove address state on ifdown if the address is being kept Fix logic so that addrconf_ifdown() decrements the inet6_ifaddr refcnt correctly with in6_ifa_put(). Reported-by: Stephen Hemminger <[email protected]> Signed-off-by: John Fastabend <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-22ARM: avoid marking decompressor .stack section as having contentsRussell King2-2/+2
The .stack section doesn't contain any contents, and doesn't require initialization either. Rather than marking the output section with 'NOLOAD' but still having it exist in the object files, mark it with %nobits which avoids the assembler marking the section with 'CONTENTS'. Signed-off-by: Russell King <[email protected]>
2010-11-22ALSA: hda - Fixed ALC887-VD initial errorKailang Yang1-2/+5
ALC887-VD is like ALC888-VD. It can not be initialized as ALC882. Signed-off-by: Kailang Yang <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: atmel - Fix the return value in error pathTakashi Iwai1-1/+1
In the commit c0763e687d0283d0db507813ca4462aa4073c5b5 ALSA: snd-atmel-abdac: test wrong variable the return value via PTR_ERR() had to be fixed as well. Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: hda: Use hp-laptop quirk to enable headphones automute for Asus A52JDaniel T Chen1-0/+1
BugLink: https://launchpad.net/bugs/677652 The original reporter states that, in 2.6.35, headphones do not appear to work, nor does inserting them mute the A52J's onboard speakers. Upon inspecting the codec dump, it appears that the newly committed hp-laptop quirk will suffice to enable this basic functionality. Testing was done with an alsa-driver build from 2010-11-21. Reported-and-tested-by: Joan Creus Cc: <[email protected]> [2.6.35+] Signed-off-by: Daniel T Chen <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: snd-atmel-abdac: test wrong variableVasiliy Kulikov1-1/+1
After clk_get() pclk is checked second time instead of sample_clk check. Signed-off-by: Vasiliy Kulikov <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timerAndreas Mohr1-8/+18
. Fix PulseAudio "ALSA driver bug" issue (if we have two alternated areas within a 64k DMA buffer, then max period size should obviously be 32k only). Back references: http://pulseaudio.org/wiki/AlsaIssues http://fedoraproject.org/wiki/Features/GlitchFreeAudio . In stop timer function, need to supply ACK in the timer control byte. . Minor log output correction When I did my first PA testing recently, the period size bug resulted in quite precisely observeable half-period-based playback distortion. PA-based operation is quite a bit more underrun-prone (despite its zero-copy optimizations etc.) than raw ALSA with this rather spartan sound hardware implementation on my puny Athlon. Note that even with this patch, azt3328 still doesn't work for both cases yet, PA tsched=0 and tsched (on tsched=0 it will playback tiny fragments of periods, leading to tiny stuttering sounds with some pauses in between, whereas with timer-scheduled operation playback works fine - minus some quite increased underrun trouble on PA vs. ALSA, that is). Signed-off-by: Andreas Mohr <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixupDaniel T Chen1-0/+1
BugLink: https://launchpad.net/bugs/677830 The original reporter states that the subwoofer does not mute when inserting headphones. We need an entry for his machine's SSID in the subwoofer pin fixup list, so add it there (verified using hda_analyzer). Reported-and-tested-by: i-NoD Cc: <[email protected]> Signed-off-by: Daniel T Chen <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: sound/pci/asihpi/hpioctl.c: Remove unnecessary casts of pci_get_drvdataJoe Perches1-1/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: sound/core/pcm_lib.c: Remove unnecessary semicolonsJoe Perches1-1/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: sound/ppc: Use printf extension %pR for struct resourceJoe Perches1-8/+4
Using %pR standardizes the struct resource output. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-22ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone ↵Daniel T Chen1-0/+6
controls BugLink: https://launchpad.net/bugs/669279 The original reporter states: "The Master mixer does not change the volume from the headphone output (which is affected by the headphone mixer). Instead it only seems to control the on-board speaker volume. This confuses PulseAudio greatly as the Master channel is merged into the volume mix." Fix this symptom by applying the hp_only quirk for the reporter's SSID. The fix is applicable to all stable kernels. Reported-and-tested-by: Ben Gamari <[email protected]> Cc: <[email protected]> [2.6.32+] Signed-off-by: Daniel T Chen <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-11-21Linux 2.6.37-rc3Linus Torvalds1-1/+1
2010-11-21ARM: 6489/1: thumb2: fix incorrect optimisation in usraccWill Deacon1-1/+1
Commit 8b592783 added a Thumb-2 variant of usracc which, when it is called with \rept=2, calls usraccoff once with an offset of 0 and secondly with a hard-coded offset of 4 in order to avoid incrementing the pointer again. If \inc != 4 then we will store the data to the wrong offset from \ptr. Luckily, the only caller that passes \rept=2 to this function is __clear_user so we haven't been actively corrupting user data. This patch fixes usracc to pass \inc instead of #4 to usraccoff when it is called a second time. Cc: <[email protected]> Reported-by: Tony Thompson <[email protected]> Acked-by: Catalin Marinas <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-11-21ARM: 6488/1: nomadik: prevent sched_clock() wraparoundLinus Walleij1-9/+80
The current implementation of sched_clock() for the Nomadik family is based on the clock source that will wrap around without any compensation. Currently on the Ux500 after 1030 seconds. Utilize cnt32_to_63 to expand the sched_clock() counter to 63 bits and introduce a keepwarm() timer to assure that sched clock and this cnt32_to_63 is called atleast once every half period. When I print out the actual wrap-around time, and using a year (3600*24*365 seconds) as minumum wrap limit I get an actual wrap-around of: sched_clock: using 55 bits @ 8333125 Hz wrap in 416 days Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-11-21ARM: 6484/1: fix compile warning in mm/init.cAnand Gadiyar15-15/+15
Commit 7c63984b86 (ARM: do not define VMALLOC_END relative to PAGE_OFFSET) changed VMALLOC_END to be an explicit value. Before this, it was relative to PAGE_OFFSET and therefore converted to unsigned long as PAGE_OFFSET is an unsigned long. This introduced the following build warning. Fix this by changing the explicit defines of VMALLOC_END to be unsigned long. CC arch/arm/mm/init.o arch/arm/mm/init.c: In function 'mem_init': arch/arm/mm/init.c:606: warning: format '%08lx' expects type 'long unsigned int', but argument 12 has type 'unsigned int' Signed-off-by: Anand Gadiyar <[email protected]> Acked-by: Uwe Kleine-K <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-11-21ARM: 6473/1: Small update to ux500 specific L2 cache codePer Fransson1-3/+3
This change updates the ux500 specific outer cache code to use the new *_relaxed() I/O accessors. Signed-off-by: Per Fransson <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-11-21SuperH IrDA: correct Baud rate error correctionNicolas Kaiser1-1/+1
It looks to me as if the second value of rate_err_array is intended to be a decimal 625. However, with a leading 0 it becomes an octal constant, and as such evaluates to a decimal 405. Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-21atl1c: Fix hardware type check for enabling OTP CLKBen Hutchings1-1/+1
Commit 496c185c9495629ef1c65387cb2594578393cfe0 "atl1c: Add support for Atheros AR8152 and AR8152" added the condition: if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c_b) for enabling OTP CLK, and the condition: if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c) for disabling OTP CLK. Since the two previously defined hardware types are athr_l1c and athr_l2c, the latter condition appears to be the correct one. Change the former to match. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-21net: allow GFP_HIGHMEM in __vmalloc()Eric Dumazet4-6/+4
We forgot to use __GFP_HIGHMEM in several __vmalloc() calls. In ceph, add the missing flag. In fib_trie.c, xfrm_hash.c and request_sock.c, using vzalloc() is cleaner and allows using HIGHMEM pages as well. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-21bonding: change list contact to [email protected]Simon Horman1-1/+1
[email protected] seems only receive spam and discussion seems to already occur on [email protected]. Signed-off-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-21e1000: fix screaming IRQAnupam Chanda1-4/+8
VMWare reports that the e1000 driver has a bug when bringing down the interface, such that interrupts are not disabled in the hardware but the driver stops reporting that it consumed the interrupt. The fix is to set the driver's "down" flag later in the routine, after all the timers and such have exited, preventing the interrupt handler from being called and exiting early without handling the interrupt. CC: Anupam Chanda <[email protected]> CC: stable kernel <[email protected]> Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-21ARM: improve compiler's ability to optimize page tablesRussell King1-0/+3
Allow the compiler to better optimize the page table walking code by avoiding over-complex pmd_addr_end() calculations. These calculations prevent the compiler spotting that we'll never iterate over the PMD table, causing it to create double nested loops where a single loop will do. Signed-off-by: Russell King <[email protected]>
2010-11-19xen: re-enable boot-time ballooningJeremy Fitzhardinge1-2/+1
Now that the balloon driver doesn't stumble over non-RAM pages, we can enable the extra space for ballooning. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2010-11-19xen/balloon: make sure we only include remaining extra ramJeremy Fitzhardinge1-2/+5
If the user specifies mem= on the kernel command line, some or all of the extra memory E820 region may be clipped away, so make sure we don't try to add more extra memory than exists in E820. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2010-11-19xen/balloon: the balloon_lock is uselessJeremy Fitzhardinge1-10/+2
The balloon_lock is useless, since it protects nothing against nothing. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2010-11-19xen: add extra pages to balloonJeremy Fitzhardinge2-4/+18
Add extra pages in the pseudo-physical address space to the balloon so we can extend into them later. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2010-11-19Merge branch 'for_linus' of ↵Linus Torvalds6-56/+37
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard fs: Do not dispatch FITRIM through separate super_operation ext4: ext4_fill_super shouldn't return 0 on corruption jbd2: fix /proc/fs/jbd2/<dev> when using an external journal ext4: missing unlock in ext4_clear_request_list() ext4: fix setting random pages PageUptodate
2010-11-19ext4: Add EXT4_IOC_TRIM ioctl to handle batched discardLukas Czerner1-0/+24
Filesystem independent ioctl was rejected as not common enough to be in core vfs ioctl. Since we still need to access to this functionality this commit adds ext4 specific ioctl EXT4_IOC_TRIM to dispatch ext4_trim_fs(). It takes fstrim_range structure as an argument. fstrim_range is definec in the include/linux/fs.h and its definition is as follows. struct fstrim_range { __u64 start; __u64 len; __u64 minlen; } start - first Byte to trim len - number of Bytes to trim from start minlen - minimum extent length to trim, free extents shorter than this number of Bytes will be ignored. This will be rounded up to fs block size. After the FITRIM is done, the number of actually discarded Bytes is stored in fstrim_range.len to give the user better insight on how much storage space has been really released for wear-leveling. Signed-off-by: Lukas Czerner <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
2010-11-19fs: Do not dispatch FITRIM through separate super_operationLukas Czerner3-41/+0
There was concern that FITRIM ioctl is not common enough to be included in core vfs ioctl, as Christoph Hellwig pointed out there's no real point in dispatching this out to a separate vector instead of just through ->ioctl. So this commit removes ioctl_fstrim() from vfs ioctl and trim_fs from super_operation structure. Signed-off-by: Lukas Czerner <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
2010-11-19Merge branch 'for-linus' of ↵Linus Torvalds14-76/+129
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: fix readdir EOVERFLOW on 32-bit archs ceph: fix frag offset for non-leftmost frags ceph: fix dangling pointer ceph: explicitly specify page alignment in network messages ceph: make page alignment explicit in osd interface ceph: fix comment, remove extraneous args ceph: fix update of ctime from MDS ceph: fix version check on racing inode updates ceph: fix uid/gid on resent mds requests ceph: fix rdcache_gen usage and invalidate ceph: re-request max_size if cap auth changes ceph: only let auth caps update max_size ceph: fix open for write on clustered mds ceph: fix bad pointer dereference in ceph_fill_trace ceph: fix small seq message skipping Revert "ceph: update issue_seq on cap grant"
2010-11-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds28-55/+164
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits) net: fix kernel-doc for sk_filter_rcu_release be2net: Fix to avoid firmware update when interface is not open. netfilter: fix IP_VS dependencies net: irda: irttp: sync error paths of data- and udata-requests ipv6: Expose reachable and retrans timer values as msecs ipv6: Expose IFLA_PROTINFO timer values in msecs instead of jiffies 3c59x: fix build failure on !CONFIG_PCI ipg.c: remove id [SUNDANCE, 0x1021] net: caif: spi: fix potential NULL dereference ath9k_htc: Avoid setting QoS control for non-QoS frames net: zero kobject in rx_queue_release net: Fix duplicate volatile warning. MAINTAINERS: Add stmmac maintainer bonding: fix a race in IGMP handling cfg80211: fix can_beacon_sec_chan, reenable HT40 gianfar: fix signedness issue net: bnx2x: fix error value sign 8139cp: fix checksum broken r8169: fix checksum broken rds: Integer overflow in RDS cmsg handling ...
2010-11-19Merge branch 'upstream-linus' of ↵Linus Torvalds1-4/+5
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: sata_via: apply magic FIFO fix to vt6420 too
2010-11-19Revert "kernel: make /proc/kallsyms mode 400 to reduce ease of attacking"Linus Torvalds1-1/+1
This reverts commit 59365d136d205cc20fe666ca7f89b1c5001b0d5a. It turns out that this can break certain existing user land setups. Quoth Sarah Sharp: "On Wednesday, I updated my branch to commit 460781b from linus' tree, and my box would not boot. klogd segfaulted, which stalled the whole system. At first I thought it actually hung the box, but it continued booting after 5 minutes, and I was able to log in. It dropped back to the text console instead of the graphical bootup display for that period of time. dmesg surprisingly still works. I've bisected the problem down to this commit (commit 59365d136d205cc20fe666ca7f89b1c5001b0d5a) The box is running klogd 1.5.5ubuntu3 (from Jaunty). Yes, I know that's old. I read the bit in the commit about changing the permissions of kallsyms after boot, but if I can't boot that doesn't help." So let's just keep the old default, and encourage distributions to do the "chmod -r /proc/kallsyms" in their bootup scripts. This is not worth a kernel option to change default behavior, since it's so easily done in user space. Reported-and-bisected-by: Sarah Sharp <[email protected]> Cc: Marcus Meissner <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Eugene Teo <[email protected]> Cc: Jesper Juhl <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-11-19Merge branch 'for-linus' of ↵Linus Torvalds3-60/+139
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: fix typo in keycode validation supporting large scancodes Input: aiptek - tighten up permissions on sysfs attributes Input: sysrq - pass along lone Alt + SysRq
2010-11-19Merge branch 'drm-intel-fixes' of ↵Linus Torvalds6-107/+157
git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel: drm/i915: Disable FBC on Ironlake to save 1W drm/i915: Take advantage of auto-polling CRT hotplug detection on PCH hardware drm/i915/crt: Introduce struct intel_crt drm/i915: Do not hold mutex when faulting in user addresses drm: radeon: fix error value sign drm/radeon/kms: fix and unify tiled buffer alignment checking for r6xx/7xx drm/i915: Retire any pending operations on the old scanout when switching drm/i915: Fix I2C adapter registration
2010-11-19Merge branch 'drm-fixes' of ↵Linus Torvalds55-424/+1021
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (40 commits) drm/radeon/kms: i2c s/sprintf/snprintf/g for safety drm/radeon/kms: fix i2c pad masks on rs4xx drm/ttm: Fix up a theoretical deadlock drm/radeon/kms: fix tiling info on evergreen drm/radeon/kms: fix alignment when allocating buffers drm/vmwgfx: Fix up an error path during bo creation drm/radeon/kms: register an i2c adapter name for the dp aux bus drm/radeon/kms/atom: add proper external encoders support drm/radeon/kms/atom: cleanup and unify DVO handling drm/radeon/kms: properly power up/down the eDP panel as needed (v4) drm/radeon/kms/atom: set sane defaults in atombios_get_encoder_mode() drm/radeon/kms: turn the backlight off explicitly for dpms drm/radeon/kms: fix typo in r600 cs checker drm: radeon: fix error value sign drm/radeon/kms: fix and unify tiled buffer alignment checking for r6xx/7xx nouveau: Acknowledge HPD irq in handler, not bottom half drm/nouveau: Fix a few confusions between "chipset" and "card_type". drm/nouveau: don't expose backlight control when available through ACPI drm/nouveau/pm: improve memtiming mappings drm/nouveau: Make PCIE GART size depend on the available RAMIN space. ...
2010-11-19sata_via: apply magic FIFO fix to vt6420 tooTejun Heo1-4/+5
vt6420 has the same FIFO overflow problem as vt6421 when combined with certain devices. This patch applies the magic fix to vt6420 too. Signed-off-by: Tejun Heo <[email protected]> Reported-by: Martin Qvist <[email protected]> Reported-by: Peter Zijlstra <[email protected]> Cc: Joseph Chan <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
2010-11-19net: fix kernel-doc for sk_filter_rcu_releaseRandy Dunlap1-1/+1
Fix kernel-doc warning for sk_filter_rcu_release(): Warning(net/core/filter.c:586): missing initial short description on line: * sk_filter_rcu_release: Release a socket filter by rcu_head Signed-off-by: Randy Dunlap <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
2010-11-19be2net: Fix to avoid firmware update when interface is not open.Sarveshwar Bandi1-0/+6
Since interrupts are enabled only when open is called on the interface, Attempting a firmware update operation when interface is down could lead to partial success or failure of operation. This fix fails the request if netif_running is false. Signed-off-by: Sarveshwar Bandi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-11-19ext4: ext4_fill_super shouldn't return 0 on corruptionDarrick J. Wong1-2/+3
At the start of ext4_fill_super, ret is set to -EINVAL, and any failure path out of that function returns ret. However, the generic_check_addressable clause sets ret = 0 (if it passes), which means that a subsequent failure (e.g. a group checksum error) returns 0 even though the mount should fail. This causes vfs_kern_mount in turn to think that the mount succeeded, leading to an oops. A simple fix is to avoid using ret for the generic_check_addressable check, which was last changed in commit 30ca22c70e3ef0a96ff84de69cd7e8561b416cb2. Signed-off-by: Darrick J. Wong <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
2010-11-19ASoC: uda134x - set reg_cache_default to uda134x_regAxel Lin1-0/+1
After checking the code in 2.6.36, I found this is missing during multi-component conversion. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-19drm/i915: Disable FBC on Ironlake to save 1WAlex Shi1-1/+2
Frame buffer compression is broken on Ironlake due to buggy hardware. Currently it is disabled through chicken bits, but it still consumes over 1W more than if we simply never attempt to enable the FBC code paths. Signed-off-by: Alex Shi <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Cc: [email protected]
2010-11-19drm/i915: Take advantage of auto-polling CRT hotplug detection on PCH hardwareKeith Packard1-38/+57
Both IBX and CPT have an automatic hotplug detection mode which appears to work reliably enough that we can dispense with the manual force hotplug trigger stuff. This means that hotplug detection is as simple as reading the current hotplug register values. The first time the hotplug detection is activated, the code synchronously waits for a hotplug sequence in case the hardware hasn't bothered to do a detection cycle since being initialized. Signed-off-by: Keith Packard <[email protected]> Signed-off-by: Chris Wilson <[email protected]>
2010-11-19drm/i915/crt: Introduce struct intel_crtChris Wilson1-27/+37
We will use this structure in future patches to store CRT specific information on the encoder. Split out and tweaked from a patch by Keith Packard. Signed-off-by: Keith Packard <[email protected]> Signed-off-by: Chris Wilson <[email protected]>
2010-11-19drm/i915: Do not hold mutex when faulting in user addressesChris Wilson1-36/+27
Linus Torvalds found that it was rather trivial to trigger a system freeze: In fact, with lockdep, I don't even need to do the sysrq-d thing: it shows the bug as it happens. It's the X server taking the same lock recursively. Here's the problem: ============================================= [ INFO: possible recursive locking detected ] 2.6.37-rc2-00012-gbdbd01a #7 --------------------------------------------- Xorg/2816 is trying to acquire lock: (&dev->struct_mutex){+.+.+.}, at: [<ffffffff812c626c>] i915_gem_fault+0x50/0x17e but task is already holding lock: (&dev->struct_mutex){+.+.+.}, at: [<ffffffff812c403b>] i915_mutex_lock_interruptible+0x28/0x4a other info that might help us debug this: 2 locks held by Xorg/2816: #0: (&dev->struct_mutex){+.+.+.}, at: [<ffffffff812c403b>] i915_mutex_lock_interruptible+0x28/0x4a #1: (&mm->mmap_sem){++++++}, at: [<ffffffff81022d4f>] page_fault+0x156/0x37b This recursion was introduced by rearranging the locking to avoid the double locking on the fast path (4f27b5d and fbd5a26d) and the introduction of the prefault to encourage the fast paths (b5e4f2b). In order to undo the problem, we rearrange the code to perform the access validation upfront, attempt to prefault and then fight for control of the mutex. the best case scenario where the mutex is uncontended the prefaulting is not wasted. Reported-and-tested-by: Linus Torvalds <[email protected]> Signed-off-by: Chris Wilson <[email protected]>
2010-11-18xen: make evtchn's name less genericIan Campbell1-1/+4
Signed-off-by: Ian Campbell <[email protected]> Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2010-11-19Merge branch 'common/clkfwk' into sh-fixes-for-linusPaul Mundt2-1/+4
2010-11-19sh: clkfwk: Build fix for non-legacy CPG changes.Paul Mundt2-1/+4
The disabling of the init op for non-legacy clocks neglected to do the same in the core clock framework, resulting in a build failure. Fix it up. Reported-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-11-18Merge branch 'xen/dev-evtchn' into upstream/evtchnJeremy Fitzhardinge1-22/+74
* xen/dev-evtchn: xen/evtchn: add missing static xen/evtchn: Fix name of Xen event-channel device xen/evtchn: don't do unbind_from_irqhandler under spinlock xen/evtchn: remove spurious barrier xen/evtchn: ports start enabled xen/evtchn: dynamically allocate port_user array xen/evtchn: track enabled state for each port