NET: lan91c96: Correct chip detect logic
The lan91c96_detect_chip routine is not correct according
to the manual.
Signed-off-by: YanJun Yang <yangyj.ee@gmail.com>
diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c
index bd6966e..883f3a7 100644
--- a/drivers/net/lan91c96.c
+++ b/drivers/net/lan91c96.c
@@ -780,7 +780,7 @@
u8 chip_id;
int r;
SMC_SELECT_BANK(dev, 3);
- chip_id = SMC_inw(dev, 0xA) & LAN91C96_REV_REVID;
+ chip_id = (SMC_inw(dev, 0xA) & LAN91C96_REV_CHIPID) >> 4;
SMC_SELECT_BANK(dev, 0);
for (r = 0; r < sizeof(supported_chips) / sizeof(struct id_type); r++)
if (chip_id == supported_chips[r].id)