From: Dan Carpenter Date: Mon, 11 Mar 2013 11:41:51 +0000 (+0300) Subject: pata_legacy: bogus clock in opti82c46x_set_piomode() X-Git-Tag: upstream/snapshot3+hdmi~5244^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e0044c9822ab7b60b493bc135ec258227a082b5a;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c index 4fe9d21..be81642 100644 --- a/drivers/ata/pata_legacy.c +++ b/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);