sata_inic162x: disable LBA48 devices
sata_inic162x can't do LBA48 properly yet and is likely to corrupt data on drives larger than LBA28 limit. Disable LBA48 devices during device configuration. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
74cdbba42d
commit
90c937853d
1 changed files with 7 additions and 0 deletions
|
@ -496,6 +496,13 @@ static void inic_dev_config(struct ata_device *dev)
|
|||
/* inic can only handle upto LBA28 max sectors */
|
||||
if (dev->max_sectors > ATA_MAX_SECTORS)
|
||||
dev->max_sectors = ATA_MAX_SECTORS;
|
||||
|
||||
if (dev->n_sectors >= 1 << 28) {
|
||||
ata_dev_printk(dev, KERN_ERR,
|
||||
"ERROR: This driver doesn't support LBA48 yet and may cause\n"
|
||||
" data corruption on such devices. Disabling.\n");
|
||||
ata_dev_disable(dev);
|
||||
}
|
||||
}
|
||||
|
||||
static void init_port(struct ata_port *ap)
|
||||
|
|
Loading…
Reference in a new issue