| From 9716387311c790de381214c03e7f1b72b91a8189 Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sshtylyov@ru.mvista.com> |
| Date: Thu, 19 Jan 2012 19:09:56 +0300 |
| Subject: pata_legacy: correctly mask recovery field for HT6560B |
| |
| From: Sergei Shtylyov <sshtylyov@ru.mvista.com> |
| |
| commit 9716387311c790de381214c03e7f1b72b91a8189 upstream. |
| |
| According to the HT6560H datasheet, the recovery timing field is 4-bit wide, |
| with a value of 0 meaning 16 cycles. Correct obvious thinko in the recovery |
| field mask. |
| |
| Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> |
| Signed-off-by: Jeff Garzik <jgarzik@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/ata/pata_legacy.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/ata/pata_legacy.c |
| +++ b/drivers/ata/pata_legacy.c |
| @@ -401,8 +401,7 @@ static void ht6560b_set_piomode(struct a |
| ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); |
| |
| active = clamp_val(t.active, 2, 15); |
| - recover = clamp_val(t.recover, 2, 16); |
| - recover &= 0x15; |
| + recover = clamp_val(t.recover, 2, 16) & 0x0F; |
| |
| inb(0x3E6); |
| inb(0x3E6); |