diff options
author | yongari <yongari@FreeBSD.org> | 2010-11-28 01:16:37 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-11-28 01:16:37 +0000 |
commit | c51ef9c35267fee5fbc8b7bea0411cbd3440a47d (patch) | |
tree | e623a39ac733e861814f22bec5c4eb778e977516 /sys/dev/usb/net/if_axe.c | |
parent | 1f0dbbc5b67c8339aedcff487cc94750fbf42113 (diff) | |
download | FreeBSD-src-c51ef9c35267fee5fbc8b7bea0411cbd3440a47d.zip FreeBSD-src-c51ef9c35267fee5fbc8b7bea0411cbd3440a47d.tar.gz |
Do full controller initialization in axe_reset() for controllers
that require special configuration from EEPROM. This will put
controllers into known sane state.
Diffstat (limited to 'sys/dev/usb/net/if_axe.c')
-rw-r--r-- | sys/dev/usb/net/if_axe.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/usb/net/if_axe.c b/sys/dev/usb/net/if_axe.c index 847c7e7..5ee9c77 100644 --- a/sys/dev/usb/net/if_axe.c +++ b/sys/dev/usb/net/if_axe.c @@ -671,6 +671,12 @@ axe_reset(struct axe_softc *sc) /* Wait a little while for the chip to get its brains in order. */ uether_pause(&sc->sc_ue, hz / 100); + + /* Reinitialize controller to achieve full reset. */ + if (sc->sc_flags & AXE_FLAG_178) + axe_ax88178_init(sc); + else if (sc->sc_flags & AXE_FLAG_772) + axe_ax88772_init(sc); } static void |