diff options
author | mav <mav@FreeBSD.org> | 2009-02-21 22:57:26 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-02-21 22:57:26 +0000 |
commit | 96ec4168f2218b750f2e2abc983bf68587558543 (patch) | |
tree | 909b6034836014a4e73129dfe977ccd6e2eccf93 /sys/dev/ata/ata-all.h | |
parent | 41927ea850d01215f1756c16d1bfa55f20e9fdbc (diff) | |
download | FreeBSD-src-96ec4168f2218b750f2e2abc983bf68587558543.zip FreeBSD-src-96ec4168f2218b750f2e2abc983bf68587558543.tar.gz |
Improve ata_reinit():
- protect againtst recursions,
- add new devices detection using ata_identify().
Improve ata_identify():
- do not add duplicate device if device already exist.
Rework SATA hot-plug events handling. Instead of unsafe duplicate
implementation use common ata_reinit() to handle all state changes.
All together this gives quite stable and robust cold- and hot-plug operation,
invariant to false, lost and duplicate events.
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 4e47f82..a721d80 100644 --- a/sys/dev/ata/ata-all.h +++ b/sys/dev/ata/ata-all.h @@ -530,6 +530,7 @@ struct ata_channel { TAILQ_HEAD(, ata_request) ata_queue; /* head of ATA queue */ struct ata_request *freezepoint; /* composite freezepoint */ struct ata_request *running; /* currently running request */ + struct task conntask; /* PHY events handling task */ }; /* disk bay/enclosure related */ |