DORMANTno replies

[PATCH] pata_legacy: correctly mask recovery field for HT6560B

From: Sergei Shtylyov <hidden>
Date: 2012-01-19 15:11:05

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 <redacted>
Cc: stable@kernel.org

---
The patch is against the current Linus' tree.
The bug was there from the day one, so the fix needs to be merged to
all stable kernels since 2.6.19 (when PATA driver were merged)...

 drivers/ata/pata_legacy.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: linux-2.6/drivers/ata/pata_legacy.c
===================================================================
--- linux-2.6.orig/drivers/ata/pata_legacy.c
+++ linux-2.6/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);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help