From: Robert Hancock Date: Sat, 5 May 2007 21:36:36 +0000 (-0600) Subject: sata_nv: fix ADMA freeze/thaw/irq_clear issues X-Git-Tag: v2.6.22-rc1~132^2~5 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53014e2526dff68628adb11c44bd1e8f2a2a9ae9;p=pandora-kernel.git 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 Signed-off-by: Jeff Garzik --- Reading git-diff-tree failed