2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-19 16:14:13 +08:00

pata_cmd64x: fix PIO setup

Fix incorrect handling of recovery clocks value == 16 resulting
in overclocked recovery timings & potentially underclocked active
timings.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2010-01-18 18:14:55 +01:00 committed by Jeff Garzik
parent d8b3d8cfe6
commit a2bd62207a

View File

@ -2,6 +2,7 @@
* pata_cmd64x.c - CMD64x PATA for new ATA layer * pata_cmd64x.c - CMD64x PATA for new ATA layer
* (C) 2005 Red Hat Inc * (C) 2005 Red Hat Inc
* Alan Cox <alan@lxorguk.ukuu.org.uk> * Alan Cox <alan@lxorguk.ukuu.org.uk>
* (C) 2009-2010 Bartlomiej Zolnierkiewicz
* *
* Based upon * Based upon
* linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002 * linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002
@ -147,7 +148,9 @@ static void cmd64x_set_timing(struct ata_port *ap, struct ata_device *adev, u8 m
/* Now convert the clocks into values we can actually stuff into /* Now convert the clocks into values we can actually stuff into
the chip */ the chip */
if (t.recover > 1) if (t.recover == 16)
t.recover = 0;
else if (t.recover > 1)
t.recover--; t.recover--;
else else
t.recover = 15; t.recover = 15;