From 50b3226d10aad7bf39d02504f7e5b01d8051d7f3 Mon Sep 17 00:00:00 2001 From: Alan Date: Wed, 15 Nov 2006 16:17:13 +0000 Subject: [PATCH] --- yaml --- r: 42118 b: refs/heads/master c: 54083f114efad2d4fa993c52024f8973c70b9edb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ata/pata_hpt366.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1d2ad0da86d7..a4551f62ad42 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b2d1eee1e99e15a80fa9623724d6861a81d2aba4 +refs/heads/master: 54083f114efad2d4fa993c52024f8973c70b9edb diff --git a/trunk/drivers/ata/pata_hpt366.c b/trunk/drivers/ata/pata_hpt366.c index c0e150a9586b..c15c8dc3a6db 100644 --- a/trunk/drivers/ata/pata_hpt366.c +++ b/trunk/drivers/ata/pata_hpt366.c @@ -27,7 +27,7 @@ #include #define DRV_NAME "pata_hpt366" -#define DRV_VERSION "0.5" +#define DRV_VERSION "0.5.1" struct hpt_clock { u8 xfer_speed; @@ -222,9 +222,17 @@ static u32 hpt36x_find_mode(struct ata_port *ap, int speed) static int hpt36x_pre_reset(struct ata_port *ap) { + static const struct pci_bits hpt36x_enable_bits[] = { + { 0x50, 1, 0x04, 0x04 }, + { 0x54, 1, 0x04, 0x04 } + }; + u8 ata66; struct pci_dev *pdev = to_pci_dev(ap->host->dev); + if (!pci_test_config_bits(pdev, &hpt36x_enable_bits[ap->port_no])) + return -ENOENT; + pci_read_config_byte(pdev, 0x5A, &ata66); if (ata66 & (1 << ap->port_no)) ap->cbl = ATA_CBL_PATA40;