summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-05-25 23:50:24 +0400
committerJeff Garzik <jeff@garzik.org>2007-07-11 05:14:19 +0400
commit15ce09432a4399e61b57f2ceb564522d6534c15f (patch)
tree4ba7528880c6fd5b72904db23bdd3e1b2da07b96
parent45a66c1c3ff88e8050dd25e81bafdf79a12a8042 (diff)
downloadlinux-15ce09432a4399e61b57f2ceb564522d6534c15f.tar.xz
pata_sis: FIFO whack
If you are using a SiS controller and the BIOS didn't set it up then the FIFO may be left active when we try and set up the CD. Not convinced this matters but I'd prefer to be safe Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/ata/pata_sis.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c
index 2b4508206a6c..657b1ee2f5c1 100644
--- a/drivers/ata/pata_sis.c
+++ b/drivers/ata/pata_sis.c
@@ -149,6 +149,9 @@ static int sis_pre_reset(struct ata_port *ap, unsigned long deadline)
if (!pci_test_config_bits(pdev, &sis_enable_bits[ap->port_no]))
return -ENOENT;
+ /* Clear the FIFO settings. We can't enable the FIFO until
+ we know we are poking at a disk */
+ pci_write_config_byte(pdev, 0x4B, 0);
return ata_std_prereset(ap, deadline);
}