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:
obrien 2009-01-12 17:18:58 +00:00
parent fc7deb78dc
commit dd5e3d11d0

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;