linux/drivers
Vasily Averin 6e5dcf64df aacraid: controller hangs if kernel uses non-default ASPM policy
commit cf16123c9c upstream.

Aacraid controller can hang on some nodes if kernel uses non-default
(powersave) ASPM policy.  Controller hangs shortly after successful load and
hardware detection. Scsi error handler detects this hang and tries to restart
hardware but it does not help.

Initially it was noticed on RHEL6-based openVZ kernel after backporting
aacraid driver from mainline (RHEL6 kernel with original driver works well)
http://bugzilla.openvz.org/show_bug.cgi?id=2043

This issue happens because default ASPM policy was changed in Red Hat
kernels. Therefore guys from Red Hat have noticed this problem long time ago:
on Fedora 12
 https://bugzilla.redhat.com/show_bug.cgi?id=540478
on Fedora 14
 https://bugzilla.redhat.com/show_bug.cgi?id=679385

In RHEL6 kernel this issue was fixed, ASPM was disabled in aacraid driver. In
kernel changelog I've found that seems it was done by Matthew Garrett: -
[scsi] aacraid: Disable ASPM by default (Matthew Garrett) [599735]

However seems this patch was not submitted to mainline. I've reproduced this
issue on vanilla 3.1.0 kernel booted with "pcie_aspm.policy=powersave" option,
So I believe it makes sense to do it now.

Signed-off-by:	Vasily Averin <vvs@sw.ru>
[mjg: Checking the Windows drivers indicates that they disable ASPM under all
circumstances, so:]
Acked-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Achim Leubner <Achim_Leubner@pmc-sierra.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 09:09:52 -08:00
..
accessibility
acpi ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast() 2011-11-11 09:37:11 -08:00
amba
ata ata_piix: make DVD Drive recognisable on systems with Intel Sandybridge chipsets(v2) 2011-11-11 09:35:50 -08:00
atm
auxdisplay
base PM / Runtime: Automatically retry failed autosuspends 2011-11-11 09:36:57 -08:00
bcma
block xen/blkback: Report VBD_WSECT (wr_sect) properly. 2011-11-11 09:37:07 -08:00
bluetooth btusb: add device entry for Broadcom SoftSailing 2011-11-11 09:36:43 -08:00
cdrom
char TPM: Zero buffer after copying to userspace 2011-10-03 11:40:58 -07:00
clk
clocksource
connector Connector: Correctly set the error code in case of success when dispatching receive callbacks 2011-06-07 12:02:00 -07:00
cpufreq drivers/cpufreq/pcc-cpufreq.c: avoid NULL pointer dereference 2011-10-03 11:40:31 -07:00
cpuidle
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 i7core_edac: fixed typo in error count calculation 2011-08-29 13:29:06 -07:00
eisa
firewire firewire: sbp2: fix panic after rmmod with slow targets 2011-10-25 07:10:16 +02:00
firmware drivers/firmware/sigma.c needs MODULE_LICENSE 2011-08-04 21:58:38 -07:00
gpio gpio: wm831x: add a missing break in wm831x_gpio_dbg_show 2011-07-15 14:03:30 -06:00
gpu drm/i915: enable ring freq scaling, RC6 and graphics turbo on Ivy Bridge v3 2011-11-21 14:31:20 -08:00
hid hid/apple: modern macbook airs use the standard apple function key translations 2011-11-11 09:37:22 -08:00
hwmon hwmon: (w83627ehf) Fix broken driver init 2011-11-11 09:37:00 -08:00
hwspinlock hwspinlock/core: use a mutex to protect the radix tree 2011-11-11 09:36:31 -08:00
i2c Merge branch 'for-30-rc5/all-i2c' of git://git.fluff.org/bjdooks/linux 2011-07-07 16:29:29 -07:00
ide ide-disk: Fix request requeuing 2011-10-16 14:14:51 -07:00
idle
ieee802154
infiniband cxgb3i: convert cdev->l2opt to use rcu to prevent NULL dereference 2011-10-03 11:41:08 -07:00
input input: pmic8xxx-pwrkey: Do not use mfd_get_data() 2011-07-05 10:38:43 +02:00
isdn net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-08-15 18:31:38 -07:00
leds Revert "leds: save the delay values after a successful call to blink_set()" 2011-11-21 14:31:19 -08:00
lguest
macintosh
mca
md md/raid5: abort any pending parity operations when array fails. 2011-11-21 14:31:22 -08:00
media tuner_xc2028: Allow selection of the frequency adjustment code for XC3028 2011-11-11 09:36:14 -08:00
memstick
message
mfd mfd: Fix twl4030 dependencies for audio codec 2011-11-21 14:31:23 -08:00
misc lis3: fix regression of HP DriveGuard with 8bit chip 2011-10-16 14:14:51 -07:00
mmc mmc: core: ext_csd.raw_* used in comparison but never set 2011-11-11 09:35:23 -08:00
mtd mtd: nand_base: always initialise oob_poi before writing OOB data 2011-11-11 09:37:19 -08:00
net b43: refuse to load unsupported firmware 2011-11-21 14:31:22 -08:00
nfc
nubus
of
oprofile
parisc
parport
pci xen-pcifront: Update warning comment to use 'e820_host' option. 2011-11-11 09:35:46 -08:00
pcmcia pcmcia: pxa2xx/vpac270: free gpios on exist rather than requesting 2011-07-11 14:26:34 +08:00
platform WMI: properly cleanup devices to avoid crashes 2011-11-11 09:36:09 -08:00
pnp
power drivers/power/ds2780_battery.c: fix deadlock upon insertion and removal 2011-11-11 09:36:32 -08:00
pps
ps3
ptp
rapidio rapidio: fix use of non-compatible registers 2011-10-03 11:39:46 -07:00
regulator regulator: tps65910: Add missing breaks in switch/case 2011-10-03 11:40:01 -07:00
rtc rtc: Fix RTC PIE frequency limit 2011-10-03 11:40:08 -07:00
s390 ccwgroup: move attributes to attribute group 2011-11-11 09:36:09 -08:00
sbus
scsi aacraid: controller hangs if kernel uses non-default ASPM policy 2011-11-26 09:09:52 -08:00
sfi
sh drivers: sh: resume enabled clocks fix 2011-06-14 15:15:25 +09:00
sn
spi spi/s3c64xx: Bug fix for SPI with different FIFO level 2011-07-06 15:03:08 +09:00
ssb ssb: fix init regression of hostmode PCI core 2011-07-07 13:06:08 -04:00
staging Staging: hv: Add support for >2 TB LUN in storage driver. 2011-11-11 09:35:14 -08:00
target tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB 2011-11-11 09:37:01 -08:00
tc
telephony
thermal
tty jsm: remove buggy write queue 2011-11-11 09:36:24 -08:00
uio
usb USB: Update last_busy time after autosuspend fails 2011-11-11 09:36:57 -08:00
uwb
vhost
video viafb: improve pitch handling 2011-11-11 09:36:13 -08:00
virtio virtio-pci: fix use after free 2011-11-21 14:31:14 -08:00
vlynq
w1 drivers/power/ds2780_battery.c: add a nolock function to w1 interface 2011-11-11 09:36:32 -08:00
watchdog watchdog: shwdt: fix usage of mod_timer 2011-08-04 21:58:42 -07:00
xen xen-gntalloc: signedness bug in add_grefs() 2011-11-21 14:31:24 -08:00
zorro zorro: Defer device_register() until all devices have been identified 2011-10-03 11:40:57 -07:00
Kconfig
Makefile