summaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authormartin <martin@NetBSD.org>2019-12-14 12:26:05 +0000
committermartin <martin@NetBSD.org>2019-12-14 12:26:05 +0000
commit4db32ed7cc7061b2f1fd3a5d2fa55bfda4507260 (patch)
treec31f2ddedf9188f758f72f63295460bd95fa3663 /sys/dev/usb
parent10204952768f9185053ed8e3dbf6952ccff5a1de (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.c8
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);