summaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_via.c
diff options
context:
space:
mode:
authorRobert Hancock <hancockr@shaw.ca>2007-05-05 15:36:36 -0600
committerJeff Garzik <jeff@garzik.org>2007-05-09 20:15:46 -0400
commit53014e2526dff68628adb11c44bd1e8f2a2a9ae9 (patch)
tree50908a1ef9967d221bc80ae32cb7c27b90ff3235 /drivers/ata/sata_via.c
parent7871e74acbf5013970daaa1d032854210282340c (diff)
downloadlinux-53014e2526dff68628adb11c44bd1e8f2a2a9ae9.tar.bz2
sata_nv: fix ADMA freeze/thaw/irq_clear issues
This patch fixes some problems with ADMA-capable controllers with regard to freeze, thaw and irq_clear libata callbacks. Freeze and thaw didn't switch the ADMA-specific interrupts on or off, and more critically the irq_clear function didn't respect the restriction that the notifier clear registers for both ports have to be written at the same time even when only one port is being cleared. This could result in timeouts on one port when error handling (i.e. as a result of hotplug) occurred on the other port. As well, this fixes some issues in the interrupt handler: we shouldn't check any ADMA status if the port has ADMA switched off because of an ATAPI device, and it also checks to see if any ADMA interrupt has been raised even when we are in port-register mode. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_via.c')
0 files changed, 0 insertions, 0 deletions