aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorSøren Schmidt <sos@FreeBSD.org>2003-12-04 10:33:54 +0000
committerSøren Schmidt <sos@FreeBSD.org>2003-12-04 10:33:54 +0000
commitec7631c9852bac8f07f9afdb9d9e40fc6db62694 (patch)
tree492de42ee1555fd0cd4a3c09d625fc442108de3a /sys/dev/ata
parent238fd800642bf81f88dc00f1950e1943df97c32d (diff)
Notes
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-pci.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c
index 8094e933f933..0d6e763aa1c5 100644
--- a/sys/dev/ata/ata-pci.c
+++ b/sys/dev/ata/ata-pci.c
@@ -577,10 +577,13 @@ ata_pci_intr(struct ata_channel *ch)
case 0x06481095: /* CMD 648 */
case 0x06491095: /* CMD 649 */
- if (!(pci_read_config(device_get_parent(ch->dev), 0x71, 1) &
- (ch->unit ? 0x08 : 0x04)))
- return 1;
- break;
+ if (!(pci_read_config(device_get_parent(ch->dev), 0x71, 1) &
+ (ch->unit ? 0x08 : 0x04)))
+ return 1;
+ pci_write_config(device_get_parent(ch->dev), 0x71,
+ pci_read_config(device_get_parent(ch->dev), 0x71, 1) &
+ ~(ch->unit ? 0x04 : 0x08), 1);
+ break;
case 0x06801095: /* SiI 680 */
if (!(pci_read_config(device_get_parent(ch->dev),