Keith Packard
a7b85d2aa6
drm/i915: Clean up i915_driver_load failure path
...
i915_driver_load adds a write-combining MTRR region for the GTT
aperture to improve memory speeds through the aperture. If
i915_driver_load fails after this, it would not have cleaned up the
MTRR. This shouldn't cause any problems, except for consuming an MTRR
register. Still, it's best to clean up completely in the failure path,
which is easily done by calling mtrr_del if the mtrr was successfully
allocated.
i915_driver_load calls i915_gem_load which register
i915_gem_inactive_shrink. If i915_driver_load fails after calling
i915_gem_load, the shrinker will be left registered. When called, it
will access freed memory and crash. The fix is to unregister the shrinker in the
failure path using code duplicated from i915_driver_unload.
i915_driver_load also has some incorrect gotos in the error cleanup
paths:
* After failing to initialize the GTT (which cannot happen, btw,
intel_gtt_get returns a fixed (non-NULL) value), it tries to
free the uninitialized WC IO mapping. Fixed this by changing the
target from out_iomapfree to out_rmmap
Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Lin Ming <ming.m.lin@intel.com>
2011-07-12 08:47:47 -07:00
..
accessibility
acpi
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2011-05-29 11:19:16 -07:00
amba
ARM: 6829/1: amba: make hardcoded periphid override hardware
2011-05-26 10:33:34 +01:00
ata
ahci: change 'masking port_map' printk to KERN_WARNING level
2011-06-29 10:10:07 -07:00
atm
auxdisplay
base
Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
2011-06-28 11:15:36 -07:00
bcma
drivers/bcma/host_pci.c needs slab.h
2011-05-26 17:12:32 -07:00
block
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2011-06-04 08:11:26 +09:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem
2011-06-17 12:40:36 -04:00
cdrom
block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal
2011-06-02 05:29:19 +09:00
char
drivers/char/hpet.c: fix periodic-emulation for delayed interrupts
2011-06-15 20:04:02 -07:00
clk
clocksource
Revert "clocksource: sh_cmt: Runtime PM support"
2011-05-31 15:26:42 +09:00
connector
Connector: Correctly set the error code in case of success when dispatching receive callbacks
2011-06-07 12:02:00 -07:00
cpufreq
[CPUFREQ] powernow-k8: Don't try to transition if the pstate is incorrect
2011-06-16 16:31:13 -04:00
cpuidle
Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6
2011-05-29 11:18:09 -07:00
crypto
crypto: caam - fix operator precedence in shared descriptor allocation
2011-06-30 07:43:27 +08:00
dca
dio
dma
dmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix
2011-06-14 15:03:07 +09:00
edac
edac,rcu: use synchronize_rcu() instead of call_rcu()+rcu_barrier()
2011-05-26 17:12:37 -07:00
eisa
firewire
firmware
Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
2011-06-28 11:15:36 -07:00
gpio
gpio/omap4: Fix missing interrupts during device wakeup due to IOPAD.
2011-06-16 08:40:43 -06:00
gpu
drm/i915: Clean up i915_driver_load failure path
2011-07-12 08:47:47 -07:00
hid
HID: hid-multitouch: add support for a new Lumio dual-touch panel
2011-06-24 13:41:11 +02:00
hwmon
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
2011-07-03 11:12:06 -07:00
hwspinlock
i2c
i2c/pca954x: Initialize the mux to disconnected state
2011-06-29 11:36:11 +02:00
ide
ide-cd: signedness warning fix again
2011-06-11 15:06:48 -07:00
idle
ieee802154
infiniband
RDMA: Check for NULL mode in .devnode methods
2011-07-04 15:53:28 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2011-06-20 08:59:46 -07:00
isdn
gigaset: call module_put before restart of if_open()
2011-06-17 15:27:32 -04:00
leds
drivers/leds/leds-lp5523.c: fix section mismatches
2011-06-27 18:00:13 -07:00
lguest
macintosh
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2011-05-23 09:12:26 -07:00
mca
md
md: avoid endless recovery loop when waiting for fail device to complete.
2011-06-28 16:59:42 +10:00
media
Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
2011-06-09 13:09:07 -07:00
memstick
message
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2011-05-23 09:12:26 -07:00
mfd
mfd: Fix build breakage caused by tps65910 gpio directory move
2011-05-28 08:38:55 +02:00
misc
Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
2011-06-28 11:15:36 -07:00
mmc
mmc: queue: bring discard_granularity/alignment into line with SCSI
2011-06-25 18:53:05 -04:00
mtd
powerpc/85xx: fix NAND_CMD_READID read bytes number
2011-06-22 06:08:48 -05:00
net
usbnet: Remove over-broad module alias from zaurus.
2011-06-29 06:09:17 -07:00
nfc
nubus
of
Merge branch 'devicetree/arm-next' of git://git.secretlab.ca/git/linux-2.6 into devel-stable
2011-05-25 00:08:17 +01:00
oprofile
oprofile: Fix locking dependency in sync_start()
2011-05-31 16:33:34 +02:00
parisc
parport
Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2011-05-26 13:19:00 -07:00
pci
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
2011-06-27 14:55:43 -07:00
pcmcia
gpio: include linux/gpio.h where needed
2011-06-16 08:40:44 -06:00
platform
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86
2011-05-29 11:44:33 -07:00
pnp
power
Merge git://git.infradead.org/battery-2.6
2011-05-27 10:12:35 -07:00
pps
ps3
ptp
ptp: Fix some locking bugs in ptp_read()
2011-06-01 19:29:10 -07:00
rapidio
regulator
regulator: Fix _regulator_get_voltage if get_voltage callback is NULL
2011-05-27 10:49:30 +01:00
rtc
drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338
2011-06-27 18:00:12 -07:00
s390
[S390] qdio: Split SBAL entry flags
2011-06-06 14:14:56 +02:00
sbus
scsi
[SCSI] isci: fix checkpatch errors
2011-07-03 14:26:24 -05:00
sfi
sh
drivers: sh: resume enabled clocks fix
2011-06-14 15:15:25 +09:00
sn
spi
spi/bfin_spi: fix handling of default bits per word setting
2011-06-17 08:27:27 -06:00
ssb
ssb: fix PCI(e) driver regression causing oops on PCI cards
2011-06-03 14:19:49 -04:00
staging
Staging: comedi: fix build breakages on some platforms
2011-06-27 14:43:34 -07:00
target
tcm_fc: Fix conversion spec warning
2011-06-24 00:09:16 +00:00
tc
telephony
thermal
tty
Merge branch 'at91/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-2.6-arm-soc
2011-07-04 15:54:18 -07:00
uio
usb
Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
2011-06-28 11:15:17 -07:00
uwb
vhost
vhost: support event index
2011-05-30 11:14:15 +09:30
video
vesafb: fix memory leak
2011-07-04 16:02:48 +09:00
virtio
virtio: add api for delayed callbacks
2011-05-30 11:14:16 +09:30
vlynq
w1
w1: W1_MASTER_DS1WM should depend on GENERIC_HARDIRQS
2011-06-15 20:04:00 -07:00
watchdog
watchdog: update author email for at32ap700x_wdt
2011-06-28 20:01:25 +00:00
xen
Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
2011-06-20 09:01:33 -07:00
zorro
Kconfig
ptp: Added a brand new class driver for ptp clocks.
2011-05-23 13:01:00 -07:00
Makefile
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
2011-05-28 12:35:15 -07:00