pata_netcell: LBA48 force identify bits correct
This matches Bartlomiej's patch for ide_pci_generic:
c339dfdd65
In the libata case netcell has its own mini driver. I suspect this fix is
actually only needed for some firmware revs but it does no harm either way.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ca55bd7e29
commit
d3ae33efb8
|
@ -20,13 +20,24 @@
|
||||||
|
|
||||||
/* No PIO or DMA methods needed for this device */
|
/* No PIO or DMA methods needed for this device */
|
||||||
|
|
||||||
|
static unsigned int netcell_read_id(struct ata_device *adev,
|
||||||
|
struct ata_taskfile *tf, u16 *id)
|
||||||
|
{
|
||||||
|
unsigned int err_mask = ata_do_dev_read_id(adev, tf, id);
|
||||||
|
/* Firmware forgets to mark words 85-87 valid */
|
||||||
|
if (err_mask == 0)
|
||||||
|
id[ATA_ID_CSF_DEFAULT] |= 0x0400;
|
||||||
|
return err_mask;
|
||||||
|
}
|
||||||
|
|
||||||
static struct scsi_host_template netcell_sht = {
|
static struct scsi_host_template netcell_sht = {
|
||||||
ATA_BMDMA_SHT(DRV_NAME),
|
ATA_BMDMA_SHT(DRV_NAME),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ata_port_operations netcell_ops = {
|
static struct ata_port_operations netcell_ops = {
|
||||||
.inherits = &ata_bmdma_port_ops,
|
.inherits = &ata_bmdma_port_ops,
|
||||||
.cable_detect = ata_cable_80wire,
|
.cable_detect = ata_cable_80wire,
|
||||||
|
.read_id = netcell_read_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue