The lan91c96_detect_chip routine is not correct according
to the manual.

Signed-off-by: YanJun Yang <[email protected]>
---
Changes for v2:
 - Avoid line wraps and ensure tabs
 - Don't define a new macro

 drivers/net/lan91c96.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

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 @@ 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)
-- 
1.7.3.4
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to