Skip to contentSkip to conversation

pata_hpt3x2n: add enablebits checking

PATCH New Bartlomiej Zolnierkiewicz 1 participant 1 message Nov 27, 2009 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pata_hpt3x2n: add enablebits checking

There shouldn't be any problems with it as IDE hpt366 host driver has been supporting enablebits checking for years.

---
 drivers/ata/pata_hpt3x2n.c |    9 +++++++++
 1 file changed, 9 insertions(+)
drivers/ata/pata_hpt3x2n.c +9 -0
Index: b/drivers/ata/pata_hpt3x2n.c
===================================================================
@@ -153,8 +153,17 @@ static int hpt3x2n_cable_detect(struct a
 
 static int hpt3x2n_pre_reset(struct ata_link *link, unsigned long deadline)
 {
+	static const struct pci_bits hpt37x_enable_bits[] = {
+		{ 0x50, 1, 0x04, 0x04 },
+		{ 0x54, 1, 0x04, 0x04 }
+	};
+
 	struct ata_port *ap = link->ap;
 	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
+
+	if (!pci_test_config_bits(pdev, &hpt37x_enable_bits[ap->port_no]))
+		return -ENOENT;
+
 	/* Reset the state machine */
 	pci_write_config_byte(pdev, 0x50 + 4 * ap->port_no, 0x37);
 	udelay(100);