summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorYanjun Yang <yangyj.ee@gmail.com>2010-12-28 16:08:25 +0800
committerWolfgang Denk <wd@denx.de>2011-01-18 23:58:35 +0100
commit16721715b9f753c6f165bb62eb8e6f57652cc3dc (patch)
tree1263f128f55cdcbccf0524a8d951266baced9de0 /drivers/net
parented6ce67a2c7071cf5032848caa8bbf037e5ac51b (diff)
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>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/lan91c96.c2
1 files changed, 1 insertions, 1 deletions
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)