| @@ -1,23 +1,30 @@ | | | @@ -1,23 +1,30 @@ |
1 | Bugs | | 1 | Bugs |
2 | ---- | | 2 | ---- |
3 | | | 3 | |
4 | siisata - fix all new XXX and unmergable bits | | 4 | siisata - fix all new XXX and unmergable bits |
5 | | | 5 | |
6 | test wd* at umass?, confirm the ata_channel kludge works | | 6 | test wd* at umass?, confirm the ata_channel kludge works |
7 | | | 7 | |
8 | test device error handling (currently appears to not work well, at least in NCQ case) | | 8 | test non-NCQ device error handling |
| | | 9 | - test retry code paths, locking |
| | | 10 | - channel reset on fatal errors |
9 | | | 11 | |
10 | do proper NCQ error recovery (currently not even really attempted) | | 12 | do proper NCQ error recovery (currently not even really attempted) |
| | | 13 | - if fatal error, do channel reset |
| | | 14 | - if tranfer error (both TFD.STS.BSY and DRQ is 0), need READ LOG EXT log |
| | | 15 | page 10h to read tag which caused the error, and reset the device to idle |
| | | 16 | - need to cancel and restart the other active transfers in a way to not |
| | | 17 | increase retry count, and not trigger drive reset |
11 | | | 18 | |
12 | maybe do device error handling in not-interrupt-context (maybe this should be | | 19 | maybe do device error handling in not-interrupt-context (maybe this should be |
13 | done on a mpata branch?) | | 20 | done on a mpata branch?) |
14 | | | 21 | |
15 | in atastart(), restrict NCQ commands to commands for the same drive? it's | | 22 | in atastart(), restrict NCQ commands to commands for the same drive? it's |
16 | fine for fis-based switching to have outstanding for several drives, but | | 23 | fine for fis-based switching to have outstanding for several drives, but |
17 | not non-FIS | | 24 | not non-FIS |
18 | | | 25 | |
19 | Other random notes (do outside the NCQ branch): | | 26 | Other random notes (do outside the NCQ branch): |
20 | ----------------------------------------------------- | | 27 | ----------------------------------------------------- |
21 | queue is allocated regardless if there are any drives, fix? | | 28 | queue is allocated regardless if there are any drives, fix? |
22 | | | 29 | |
23 | change wd(4) to use dksubr | | 30 | change wd(4) to use dksubr |