aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorRobert Hancock <hancockr@shaw.ca>2007-01-23 20:09:02 -0600
committerJeff Garzik <jeff@garzik.org>2007-01-24 02:01:49 -0500
commitf740d1689d91415cfc749d17138a11ed03b7d38b (patch)
tree6c329d53cbb44e3d483cce99068a93b30409cbb8 /Documentation
parent82490c0937cb455e7e4150455ff52e89a9fc5ab8 (diff)
sata_nv: don't rely on NV_INT_DEV indication with ADMA
Several people reported issues with certain drive commands timing out on sata_nv controllers running in ADMA mode. The commands in question were non-DMA-mapped commands, usually FLUSH CACHE or FLUSH CACHE EXT. From experimentation it appears that the NV_INT_DEV indication isn't always set when a legitimate command completion interrupt is received on a legacy-mode command, at least not on these controllers in ADMA mode. When a command is pending on the port, force the flag on always in the irq_stat value before calling nv_host_intr so that the drive busy state is always checked by ata_host_intr. This also fixes some questionable code in nv_host_intr which called ata_check_status when a command was pending and ata_host_intr returned "unhandled". If the device interrupted at just the wrong time this could cause interrupts to be lost. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions