diff options
author | John Snow <jsnow@redhat.com> | 2015-09-17 14:17:05 -0400 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2015-09-18 10:58:56 -0400 |
commit | 9ef2e93f9b1888c7d0deb4a105149138e6ad2e98 (patch) | |
tree | 1599935bfbf94597a5369d13233966d117f35669 /hw/ide/internal.h | |
parent | d9033e1d3aa666c5071580617a57bd853c5d794a (diff) | |
download | qemu-9ef2e93f9b1888c7d0deb4a105149138e6ad2e98.tar.gz qemu-9ef2e93f9b1888c7d0deb4a105149138e6ad2e98.tar.bz2 qemu-9ef2e93f9b1888c7d0deb4a105149138e6ad2e98.zip |
atapi: abort transfers with 0 byte limits
We're supposed to abort on transfers like this, unless we fill
Word 125 of our IDENTIFY data with a default transfer size, which
we don't currently do.
This is an ATA error, not a SCSI/ATAPI one.
See ATA8-ACS3 sections 7.17.6.49 or 7.21.5.
If we don't do this, QEMU will loop forever trying to transfer
zero bytes, which isn't particularly useful.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1442253685-23349-2-git-send-email-jsnow@redhat.com
Diffstat (limited to 'hw/ide/internal.h')
-rw-r--r-- | hw/ide/internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ide/internal.h b/hw/ide/internal.h index 7288a677a4..05e93ffe3b 100644 --- a/hw/ide/internal.h +++ b/hw/ide/internal.h @@ -538,6 +538,7 @@ void ide_set_sector(IDEState *s, int64_t sector_num); void ide_start_dma(IDEState *s, BlockCompletionFunc *cb); void dma_buf_commit(IDEState *s, uint32_t tx_bytes); void ide_dma_error(IDEState *s); +void ide_abort_command(IDEState *s); void ide_atapi_cmd_ok(IDEState *s); void ide_atapi_cmd_error(IDEState *s, int sense_key, int asc); |