From: Daniel Verkamp Date: Tue, 22 May 2012 23:26:42 +0000 (-0700) Subject: ahci: SATA FIS is 20 bytes, not 0x20 X-Git-Tag: v1.1.1~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd63a77e990f68a699ba220c8006386bd4379f81;p=thirdparty%2Fqemu.git ahci: SATA FIS is 20 bytes, not 0x20 As in the SATA and AHCI specifications, a FIS is 5 Dwords of 4 bytes each, which comes to 20 bytes (decimal), not 0x20. Signed-off-by: Daniel Verkamp Signed-off-by: Kevin Wolf (cherry picked from commit 4bb9c939a57103898f5a51aa6a7336eb3320d923) Signed-off-by: Michael Roth --- diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index a883a920be1..2d7d03d7724 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -462,7 +462,7 @@ static void ahci_check_cmd_bh(void *opaque) static void ahci_init_d2h(AHCIDevice *ad) { - uint8_t init_fis[0x20]; + uint8_t init_fis[20]; IDEState *ide_state = &ad->port.ifs[0]; memset(init_fis, 0, sizeof(init_fis)); @@ -619,7 +619,7 @@ static void ahci_write_fis_d2h(AHCIDevice *ad, uint8_t *cmd_fis) d2h_fis[11] = cmd_fis[11]; d2h_fis[12] = cmd_fis[12]; d2h_fis[13] = cmd_fis[13]; - for (i = 14; i < 0x20; i++) { + for (i = 14; i < 20; i++) { d2h_fis[i] = 0; }