Buffer size was in wrong argument position.
Clarify code by using sizeof().
atacmd[0] = ATA_CMD_REQUEST_SENSE;
atacmd[4] = sizeof(buffer);
u16 ret = ata_cmd_packet(device, atacmd, sizeof(atacmd)
atacmd[0] = ATA_CMD_REQUEST_SENSE;
atacmd[4] = sizeof(buffer);
u16 ret = ata_cmd_packet(device, atacmd, sizeof(atacmd)
- , 18L, 0, ATA_DATA_IN, GET_SEG(SS), (u32)buffer);
+ , 0, sizeof(buffer), GET_SEG(SS), (u32)buffer);
if (ret != 0)
return 0x0002;
if (ret != 0)
return 0x0002;
return -1;
}
u16 ret = ata_cmd_packet(device, packet, sizeof(packet)
return -1;
}
u16 ret = ata_cmd_packet(device, packet, sizeof(packet)
- , 0, 8L, ATA_DATA_IN, GET_SEG(SS), (u32)buf);
+ , 0, sizeof(buf), GET_SEG(SS), (u32)buf);