Explorar o código

pata_legacy: bogus clock in opti82c46x_set_piomode()

"sysclk" is used as an index into a 4 element array.  My static
checker complains because it can be out of bounds.  From the
context, it looks like there is a right bit shift missing.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Dan Carpenter %!s(int64=13) %!d(string=hai) anos
pai
achega
e0044c9822
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/ata/pata_legacy.c

+ 1 - 1
drivers/ata/pata_legacy.c

@@ -542,7 +542,7 @@ static void opti82c46x_set_piomode(struct ata_port *ap, struct ata_device *adev)
 	u8 sysclk;
 
 	/* Get the clock */
-	sysclk = opti_syscfg(0xAC) & 0xC0;	/* BIOS set */
+	sysclk = (opti_syscfg(0xAC) & 0xC0) >> 6;	/* BIOS set */
 
 	/* Enter configuration mode */
 	ioread16(ap->ioaddr.error_addr);