bnx2x: Prevent probe as early as possible
It's possible that due to errors [either on PCI or on device itself] registers reads would fail, returning all-Fs. This adds a check as early as possible so that driver will not read junk values and make incorrect probe decisions according to them; instead, gracefully fail the probe. Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fcd02d27b5
commit
0f587f1bfb
|
@ -11650,6 +11650,13 @@ static int bnx2x_get_hwinfo(struct bnx2x *bp)
|
|||
u32 val = 0, val2 = 0;
|
||||
int rc = 0;
|
||||
|
||||
/* Validate that chip access is feasible */
|
||||
if (REG_RD(bp, MISC_REG_CHIP_NUM) == 0xffffffff) {
|
||||
dev_err(&bp->pdev->dev,
|
||||
"Chip read returns all Fs. Preventing probe from continuing\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
bnx2x_get_common_hwinfo(bp);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue