From 16721715b9f753c6f165bb62eb8e6f57652cc3dc Mon Sep 17 00:00:00 2001 From: Yanjun Yang Date: Tue, 28 Dec 2010 16:08:25 +0800 Subject: [PATCH] NET: lan91c96: Correct chip detect logic The lan91c96_detect_chip routine is not correct according to the manual. Signed-off-by: YanJun Yang --- drivers/net/lan91c96.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c index bd6966ed76..883f3a7c5d 100644 --- a/drivers/net/lan91c96.c +++ b/drivers/net/lan91c96.c @@ -780,7 +780,7 @@ static int lan91c96_detect_chip(struct eth_device *dev) 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) -- 2.39.5