summaryrefslogtreecommitdiff
path: root/drivers/ata
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-05-25 20:50:24 +0100
committerJeff Garzik <jeff@garzik.org>2007-07-10 21:14:19 -0400
commit15ce09432a4399e61b57f2ceb564522d6534c15f (patch)
tree4ba7528880c6fd5b72904db23bdd3e1b2da07b96 /drivers/ata
parent45a66c1c3ff88e8050dd25e81bafdf79a12a8042 (diff)
downloadlinux-3.10-15ce09432a4399e61b57f2ceb564522d6534c15f.tar.gz
linux-3.10-15ce09432a4399e61b57f2ceb564522d6534c15f.tar.bz2
linux-3.10-15ce09432a4399e61b57f2ceb564522d6534c15f.zip
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>
Diffstat (limited to 'drivers/ata')
-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 2b4508206a6..657b1ee2f5c 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);
}