[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1159550807.13029.43.camel@localhost.localdomain>
Date: Fri, 29 Sep 2006 18:26:47 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: jgarzik@...ox.com, linux-kernel@...r.kernel.org
Subject: [PATCH] libata: Don't believe bogus claims in the older PIO mode
register
Signed-off-by: Alan Cox <alan@...hat.com>
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/ata/libata-core.c linux-2.6.18-mm2/drivers/ata/libata-core.c
--- linux.vanilla-2.6.18-mm2/drivers/ata/libata-core.c 2006-09-28 14:33:46.000000000 +0100
+++ linux-2.6.18-mm2/drivers/ata/libata-core.c 2006-09-29 17:33:53.000000000 +0100
@@ -870,7 +870,11 @@
* the PIO timing number for the maximum. Turn it into
* a mask.
*/
- pio_mask = (2 << (id[ATA_ID_OLD_PIO_MODES] & 0xFF)) - 1 ;
+ u8 mode = id[ATA_ID_OLD_PIO_MODES] & 0xFF;
+ if( mode < 5) /* Valid PIO range */
+ pio_mask = (2 << mode) - 1 ;
+ else
+ pio_mask = 1;
/* But wait.. there's more. Design your standards by
* committee and you too can get a free iordy field to
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists