|
@@ -1322,14 +1322,16 @@ static u64 ata_id_n_sectors(const u16 *id)
|
|
{
|
|
{
|
|
if (ata_id_has_lba(id)) {
|
|
if (ata_id_has_lba(id)) {
|
|
if (ata_id_has_lba48(id))
|
|
if (ata_id_has_lba48(id))
|
|
- return ata_id_u64(id, 100);
|
|
|
|
|
|
+ return ata_id_u64(id, ATA_ID_LBA_CAPACITY_2);
|
|
else
|
|
else
|
|
- return ata_id_u32(id, 60);
|
|
|
|
|
|
+ return ata_id_u32(id, ATA_ID_LBA_CAPACITY);
|
|
} else {
|
|
} else {
|
|
if (ata_id_current_chs_valid(id))
|
|
if (ata_id_current_chs_valid(id))
|
|
- return ata_id_u32(id, 57);
|
|
|
|
|
|
+ return id[ATA_ID_CUR_CYLS] * id[ATA_ID_CUR_HEADS] *
|
|
|
|
+ id[ATA_ID_CUR_SECTORS];
|
|
else
|
|
else
|
|
- return id[1] * id[3] * id[6];
|
|
|
|
|
|
+ return id[ATA_ID_CYLS] * id[ATA_ID_HEADS] *
|
|
|
|
+ id[ATA_ID_SECTORS];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|