Dont wait for READY on ATAPI_IDENTIFY.
Fixes the losage of some ATAPI device that reported failed probing with "timeout waiting for read DRQ".
This commit is contained in:
parent
d5f2946a42
commit
3d42c6d13a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=150311
@ -278,7 +278,11 @@ ata_end_transaction(struct ata_request *request)
|
||||
|
||||
/* if read data get it */
|
||||
if (request->flags & ATA_R_READ) {
|
||||
if (ata_wait(ch, atadev, (ATA_S_READY | ATA_S_DRQ)) < 0) {
|
||||
int flags = ATA_S_DRQ;
|
||||
|
||||
if (request->u.ata.command != ATA_ATAPI_IDENTIFY)
|
||||
flags |= ATA_S_READY;
|
||||
if (ata_wait(ch, atadev, flags) < 0) {
|
||||
device_printf(request->dev,
|
||||
"timeout waiting for read DRQ\n");
|
||||
request->result = EIO;
|
||||
|
Loading…
Reference in New Issue
Block a user