mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-15 22:31:47 -04:00
[PATCH] libata: Don't believe bogus claims in the older PIO mode register
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user