提交 0f587f1b 编写于 作者: Y Yuval Mintz 提交者: David S. Miller

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: NYuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: NAriel Elior <Ariel.Elior@qlogic.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 fcd02d27
...@@ -11650,6 +11650,13 @@ static int bnx2x_get_hwinfo(struct bnx2x *bp) ...@@ -11650,6 +11650,13 @@ static int bnx2x_get_hwinfo(struct bnx2x *bp)
u32 val = 0, val2 = 0; u32 val = 0, val2 = 0;
int rc = 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); bnx2x_get_common_hwinfo(bp);
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册