diff options
| -rw-r--r-- | sys/dev/ata/ata-disk.c | 4 |
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) | |
