summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ata/ata-disk.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index fc15ae218837..1d622af033f8 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -121,8 +121,8 @@ ad_attach(struct ata_device *atadev)
!(atadev->param->atavalid & ATA_FLAG_54_58) || !lbasize)
adp->flags |= AD_F_CHS_USED;
- /* use the 28bit LBA size if valid */
- if (atadev->param->cylinders == 16383 && adp->total_secs < lbasize)
+ /* use the 28bit LBA size if valid or bigger than the CHS mapping */
+ if (atadev->param->cylinders == 16383 || adp->total_secs < lbasize)
adp->total_secs = lbasize;
lbasize48 = ((u_int64_t)atadev->param->lba_size48_1) |