diff options
author | mav <mav@FreeBSD.org> | 2009-05-01 08:03:46 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-05-01 08:03:46 +0000 |
commit | e3041466988f968760de57959e5fd6674a0acf66 (patch) | |
tree | 3b444d7537d6bdd164161094c9099ba3ec128c40 /sys/dev/ata/ata-all.h | |
parent | 700abeab8a81c590ae255dfa7225c8d891c5ca88 (diff) | |
download | FreeBSD-src-e3041466988f968760de57959e5fd6674a0acf66.zip FreeBSD-src-e3041466988f968760de57959e5fd6674a0acf66.tar.gz |
Improve kernel dumping reliability for busy ATA channels:
- Generate fake channel interrupts even if channel busy with previous
request to let it finish. Without this, dumping requests were just queued
and never processed.
- Drop pre-dump requests queue on dumping. ATA code, working in dumping
(interruptless) mode, unable to handle long request queue. Actually, to get
coherent dump we anyway should do as few unrelated actions as possible.
Diffstat (limited to 'sys/dev/ata/ata-all.h')
-rw-r--r-- | sys/dev/ata/ata-all.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h index c590ea2..e22758f 100644 --- a/sys/dev/ata/ata-all.h +++ b/sys/dev/ata/ata-all.h @@ -584,6 +584,7 @@ void ata_finish(struct ata_request *request); void ata_timeout(struct ata_request *); void ata_catch_inflight(device_t dev); void ata_fail_requests(device_t dev); +void ata_drop_requests(device_t dev); char *ata_cmd2str(struct ata_request *request); /* ata-lowlevel.c: */ |