diff options
| author | martin <martin@NetBSD.org> | 2019-12-14 12:26:05 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2019-12-14 12:26:05 +0000 |
| commit | 4db32ed7cc7061b2f1fd3a5d2fa55bfda4507260 (patch) | |
| tree | c31f2ddedf9188f758f72f63295460bd95fa3663 /sys/dev/usb | |
| parent | 10204952768f9185053ed8e3dbf6952ccff5a1de (diff) | |
Pull up following revision(s) (requested by mlelstv in ticket #551):
sys/dev/usb/if_urtwn.c: revision 1.76
sys/dev/usb/if_urtwn.c: revision 1.77
Reset MCU ready status before resetting the MCU.
Fixes PR kern/54728
Don't deregister twice with pmf.
Diffstat (limited to 'sys/dev/usb')
| -rw-r--r-- | sys/dev/usb/if_urtwn.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/usb/if_urtwn.c b/sys/dev/usb/if_urtwn.c index 284e86b6c2e..8f7c46ddd2c 100644 --- a/sys/dev/usb/if_urtwn.c +++ b/sys/dev/usb/if_urtwn.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_urtwn.c,v 1.71.2.1 2019/09/01 13:00:36 martin Exp $ */ +/* $NetBSD: if_urtwn.c,v 1.71.2.2 2019/12/14 12:26:05 martin Exp $ */ /* $OpenBSD: if_urtwn.c,v 1.42 2015/02/10 23:25:46 mpi Exp $ */ /*- @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v 1.71.2.1 2019/09/01 13:00:36 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v 1.71.2.2 2019/12/14 12:26:05 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -550,8 +550,6 @@ urtwn_detach(device_t self, int flags) callout_halt(&sc->sc_scan_to, NULL); callout_halt(&sc->sc_calib_to, NULL); - pmf_device_deregister(self); - if (ISSET(sc->sc_flags, URTWN_FLAG_ATTACHED)) { urtwn_stop(ifp, 0); usb_rem_task_wait(sc->sc_udev, &sc->sc_task, USB_TASKQ_DRIVER, @@ -3463,6 +3461,8 @@ urtwn_load_firmware(struct urtwn_softc *sc) } if (urtwn_read_1(sc, R92C_MCUFWDL) & R92C_MCUFWDL_RAM_DL_SEL) { + /* Reset MCU ready status */ + urtwn_write_1(sc, R92C_MCUFWDL, 0); if (ISSET(sc->chip, URTWN_CHIP_88E) || ISSET(sc->chip, URTWN_CHIP_92EU)) urtwn_r88e_fw_reset(sc); |
