Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/usb Initialize firmware mailbox counter when firmwar...



details:   https://anonhg.NetBSD.org/src/rev/e8d4991f10bb
branches:  trunk
changeset: 986278:e8d4991f10bb
user:      nat <nat%NetBSD.org@localhost>
date:      Fri Sep 17 13:00:20 2021 +0000

description:
Initialize firmware mailbox counter when firmware is reset.

diffstat:

 sys/dev/usb/if_urtwn.c |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (41 lines):

diff -r 4652edef3061 -r e8d4991f10bb sys/dev/usb/if_urtwn.c
--- a/sys/dev/usb/if_urtwn.c    Fri Sep 17 12:58:31 2021 +0000
+++ b/sys/dev/usb/if_urtwn.c    Fri Sep 17 13:00:20 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_urtwn.c,v 1.98 2021/09/17 12:58:31 nat Exp $        */
+/*     $NetBSD: if_urtwn.c,v 1.99 2021/09/17 13:00:20 nat 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.98 2021/09/17 12:58:31 nat Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v 1.99 2021/09/17 13:00:20 nat Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -3362,7 +3362,10 @@
        KASSERT(mutex_owned(&sc->sc_write_mtx));
 
        /* Tell 8051 to reset itself. */
+       mutex_enter(&sc->sc_fwcmd_mtx);
        urtwn_write_1(sc, R92C_HMETFR + 3, 0x20);
+       sc->fwcur = 0;
+       mutex_exit(&sc->sc_fwcmd_mtx);
 
        /* Wait until 8051 resets by itself. */
        for (ntries = 0; ntries < 100; ntries++) {
@@ -3404,6 +3407,11 @@
        }
        DELAY(50);
 
+       mutex_enter(&sc->sc_fwcmd_mtx);
+       /* Init firmware commands ring. */
+       sc->fwcur = 0;
+       mutex_exit(&sc->sc_fwcmd_mtx);
+
 }
 
 static int



Home | Main Index | Thread Index | Old Index