@@ -1651,6 +1651,7 @@ static void ahci_test_identify(AHCIState *ahci)
int rc;
uint8_t cx;
uint64_t table_ptr;
+ const size_t buffsize = 512;
g_assert(ahci != NULL);
@@ -1677,11 +1678,11 @@ static void ahci_test_identify(AHCIState *ahci)
port_clear(ahci, i);
/* Create a data buffer where we will dump the IDENTIFY data to. */
- data_ptr = guest_alloc(guest_malloc, 512);
+ data_ptr = guest_alloc(guest_malloc, buffsize);
g_assert(data_ptr);
/* Construct the Command Table (FIS and PRDT) */
- table_ptr = build_cmd_table(ahci, i, 512, CMD_IDENTIFY, data_ptr);
+ table_ptr = build_cmd_table(ahci, i, buffsize, CMD_IDENTIFY, data_ptr);
/* Pick a command slot and link it to the command table we've built */
cx = link_cmd_slot(ahci, i, table_ptr, CMDH_READ);
@@ -1698,13 +1699,13 @@ static void ahci_test_identify(AHCIState *ahci)
port_check_interrupts(ahci, i, AHCI_PX_IS_DHRS | AHCI_PX_IS_PSS);
port_check_nonbusy(ahci, i, cx);
/* Investigate the CMD, assert that we read 512 bytes */
- port_check_cmd_sanity(ahci, i, cx, 512);
+ port_check_cmd_sanity(ahci, i, cx, buffsize);
/* Investigate FIS responses */
port_check_d2h_sanity(ahci, i, cx);
- port_check_pio_sanity(ahci, i, cx, 512);
+ port_check_pio_sanity(ahci, i, cx, buffsize);
/* Last, but not least: Investigate the IDENTIFY response data. */
- memread(data_ptr, &buff, 512);
+ memread(data_ptr, &buff, buffsize);
/* Check serial number/version in the buffer */
/* NB: IDENTIFY strings are packed in 16bit little endian chunks.
Fix to correct the use of "512" as a magic constant and define it as the buffer size for the operation instead. Signed-off-by: John Snow <jsnow@redhat.com> --- tests/ahci-test.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)