summaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_sis.c
diff options
context:
space:
mode:
authorAlan Cox2007-05-25 21:50:24 +0200
committerJeff Garzik2007-07-11 03:14:19 +0200
commit15ce09432a4399e61b57f2ceb564522d6534c15f (patch)
tree4ba7528880c6fd5b72904db23bdd3e1b2da07b96 /drivers/ata/pata_sis.c
parentlibata-core: convert to use cancel_rearming_delayed_work() (diff)
downloadkernel-qcow2-linux-15ce09432a4399e61b57f2ceb564522d6534c15f.tar.gz
kernel-qcow2-linux-15ce09432a4399e61b57f2ceb564522d6534c15f.tar.xz
kernel-qcow2-linux-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/pata_sis.c')
-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);
}