OSDN Git Service

hw/ide/core: Clear LBA and drive bits for EXECUTE DEVICE DIAGNOSTIC
authorLev Kujawski <lkujaw@member.fsf.org>
Thu, 7 Jul 2022 03:11:36 +0000 (03:11 +0000)
committerKevin Wolf <kwolf@redhat.com>
Fri, 30 Sep 2022 16:43:44 +0000 (18:43 +0200)
commit3195c9e6abe96b367a671474e850ae3f89781880
tree4709c745c0b9150476b664ab3a7e61718791cc14
parentecfcf71314bc1548f387a035e1061296ec8f4ec3
hw/ide/core: Clear LBA and drive bits for EXECUTE DEVICE DIAGNOSTIC

Prior to this patch, cmd_exec_dev_diagnostic relied upon
ide_set_signature to clear the device register.  While the
preservation of the drive bit by ide_set_signature is necessary for
the DEVICE RESET, IDENTIFY DEVICE, and READ SECTOR commands,
ATA/ATAPI-6 specifies that "DEV shall be cleared to zero" for EXECUTE
DEVICE DIAGNOSTIC.

This deviation was uncovered by the ATACT Device Testing Program
written by Hale Landis.

Signed-off-by: Lev Kujawski <lkujaw@member.fsf.org>
Message-Id: <20220707031140.158958-3-lkujaw@member.fsf.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/ide/core.c