Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

pata_netcell: LBA48 force identify bits correct

This matches Bartlomiej's patch for ide_pci_generic:
c339dfdd65b52bfd947ab29d1210314a2f6d622d

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>

authored by

Alan Cox and committed by
Linus Torvalds
d3ae33ef ca55bd7e

+12 -1
+12 -1
drivers/ata/pata_netcell.c
··· 20 20 21 21 /* No PIO or DMA methods needed for this device */ 22 22 23 + static unsigned int netcell_read_id(struct ata_device *adev, 24 + struct ata_taskfile *tf, u16 *id) 25 + { 26 + unsigned int err_mask = ata_do_dev_read_id(adev, tf, id); 27 + /* Firmware forgets to mark words 85-87 valid */ 28 + if (err_mask == 0) 29 + id[ATA_ID_CSF_DEFAULT] |= 0x0400; 30 + return err_mask; 31 + } 32 + 23 33 static struct scsi_host_template netcell_sht = { 24 34 ATA_BMDMA_SHT(DRV_NAME), 25 35 }; 26 36 27 37 static struct ata_port_operations netcell_ops = { 28 38 .inherits = &ata_bmdma_port_ops, 29 - .cable_detect = ata_cable_80wire, 39 + .cable_detect = ata_cable_80wire, 40 + .read_id = netcell_read_id, 30 41 }; 31 42 32 43