Fix issue where ata_atapicmd() can never really return EBUSY which is

expected in acd_fixate().

This should fix various problems folks are having with 'burncd' reporting
"burncd: ioctl(CDRIOCFIXATE): Input/output error" during the fixate phase
when "fixate" is issued together with the "data" command.

PR:		95979
Submitted by:	Jaakko Heinonen <jh@saunalahti.fi>
This commit is contained in:
David E. O'Brien 2009-01-12 17:18:58 +00:00
parent 1e736167a5
commit b5d54ecafa

View File

@ -434,7 +434,8 @@ ata_completed(void *context, int dummy)
printf("\n");
}
if ((request->u.atapi.sense.key & ATA_SENSE_KEY_MASK ?
if (!request->result &&
(request->u.atapi.sense.key & ATA_SENSE_KEY_MASK ?
request->u.atapi.sense.key & ATA_SENSE_KEY_MASK :
request->error))
request->result = EIO;