projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d223a60
)
[PATCH] libata: Don't believe bogus claims in the older PIO mode register
author
Alan Cox
<alan@lxorguk.ukuu.org.uk>
Fri, 29 Sep 2006 17:26:47 +0000
(18:26 +0100)
committer
Jeff Garzik
<jeff@garzik.org>
Thu, 5 Oct 2006 10:55:00 +0000
(06:55 -0400)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-core.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/ata/libata-core.c
b/drivers/ata/libata-core.c
index dce65651d8586ffb67c4bf4dcc3efc38940cc8b0..ad8e2c64c867ea1927597032896d471e417660c7 100644
(file)
--- a/
drivers/ata/libata-core.c
+++ b/
drivers/ata/libata-core.c
@@
-870,7
+870,11
@@
static unsigned int ata_id_xfermask(const u16 *id)
* 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