aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/libata-core.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index d2880b013c88..eb9709864a21 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -915,7 +915,8 @@ static int ata_read_native_max_address(struct ata_device *dev, u64 *max_sectors)
915 *max_sectors = ata_tf_to_lba48(&tf); 915 *max_sectors = ata_tf_to_lba48(&tf);
916 else 916 else
917 *max_sectors = ata_tf_to_lba(&tf); 917 *max_sectors = ata_tf_to_lba(&tf);
918 918 if (dev->horkage & ATA_HORKAGE_HPA_SIZE)
919 (*max_sectors)--;
919 return 0; 920 return 0;
920} 921}
921 922
@@ -3905,6 +3906,10 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
3905 { "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_HORKAGE_BROKEN_HPA }, 3906 { "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_HORKAGE_BROKEN_HPA },
3906 { "MAXTOR 6L080L4", "A93.0500", ATA_HORKAGE_BROKEN_HPA }, 3907 { "MAXTOR 6L080L4", "A93.0500", ATA_HORKAGE_BROKEN_HPA },
3907 3908
3909 /* Devices which report 1 sector over size HPA */
3910 { "ST340823A", NULL, ATA_HORKAGE_HPA_SIZE, },
3911 { "ST320413A", NULL, ATA_HORKAGE_HPA_SIZE, },
3912
3908 /* End Marker */ 3913 /* End Marker */
3909 { } 3914 { }
3910}; 3915};