Re: libata dev_config call order wrong.
From: Jeff Garzik <hidden>
Date: 2004-08-29 18:26:33
Also in:
lkml
From: Jeff Garzik <hidden>
Date: 2004-08-29 18:26:33
Also in:
lkml
Jeff Garzik wrote:
me either, unless I can figure out a way to detect that a disk is PATA not SATA. Nothing is obvious from the specs on www.t13.org, but who knows.
According to the Serial ATA docs, IDENTIFY DEVICE word 93 will be zero
if it's Serial ATA. Who knows if that's true, given the wierd wild
world of ATA devices.
So, given the attached patch, you could try and create a generic
ata_dev_config that all drivers call, that does something like
/* limit bridge transfers to udma5, 200 sectors */
if ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev))) {
printk(KERN_INFO "ata%u(%u): applying bridge limits\n",
ap->id, dev->devno);
ap->udma_mask &= ATA_UDMA5;
ap->host->max_sectors = ATA_MAX_SECTORS;
ap->host->hostt->max_sectors = ATA_MAX_SECTORS;
dev->flags |= ATA_DFLAG_LOCK_SECTORS;
}
Regards,
Jeff