[PATCH] libata: add per-device max_sectors
If a low level driver wants to control max_sectors, it had to adjust ap->host->max_sectors and set ATA_DFLAG_LOCK_SECTORS to tell ata_scsi_slave_config not to override the limit. This is not only cumbersome but also incorrect for hosts which support more than one devices per port. This patch adds per-device ->max_sectors. If the field is unset (zero), libata core layer will adjust ->max_sectors according to default rules. If the field is set, libata honors the setting. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
@@ -1147,9 +1147,7 @@ void ata_dev_config(struct ata_port *ap, unsigned int i)
|
||||
printk(KERN_INFO "ata%u(%u): applying bridge limits\n",
|
||||
ap->id, i);
|
||||
ap->udma_mask &= ATA_UDMA5;
|
||||
ap->host->max_sectors = ATA_MAX_SECTORS;
|
||||
ap->host->hostt->max_sectors = ATA_MAX_SECTORS;
|
||||
ap->device[i].flags |= ATA_DFLAG_LOCK_SECTORS;
|
||||
ap->device[i].max_sectors = ATA_MAX_SECTORS;
|
||||
}
|
||||
|
||||
if (ap->ops->dev_config)
|
||||
|
Reference in New Issue
Block a user