summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-06-08 20:27:13 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-06-08 20:27:13 +0200
commit7698fdedcfa3cab3dd40c9b685590b23be02e267 (patch)
tree207ddae0f963174356b1a9de7fff8e48a9c1e9c1 /drivers/ata
parentMerge branch 'mxc-master' of git://git.pengutronix.de/git/imx/linux-2.6 into ... (diff)
parent[ARM] Kirkwood: platform device registration for the crypto engine (diff)
downloadlinux-7698fdedcfa3cab3dd40c9b685590b23be02e267.tar.xz
linux-7698fdedcfa3cab3dd40c9b685590b23be02e267.zip
Merge branch 'for-rmk' of git://git.marvell.com/orion into devel
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/pata_netcell.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c
index bdb236957cb9..9a698097134b 100644
--- a/drivers/ata/pata_netcell.c
+++ b/drivers/ata/pata_netcell.c
@@ -20,13 +20,24 @@
/* 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 = {
ATA_BMDMA_SHT(DRV_NAME),
};
static struct ata_port_operations netcell_ops = {
.inherits = &ata_bmdma_port_ops,
- .cable_detect = ata_cable_80wire,
+ .cable_detect = ata_cable_80wire,
+ .read_id = netcell_read_id,
};