Hello,

It looks to me that unmap_1 and unmap_2 in bnxt_attach() are reversed.
When pci_mapreg_map() is called for sc_db_* and fails we unmap
sc_db_* when we should unmap previous pci_mapreg_map() call for sc_hwrm_*.

Index: if_bnxt.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_bnxt.c,v
retrieving revision 1.37
diff -u -p -r1.37 if_bnxt.c
--- if_bnxt.c   27 Jun 2022 10:02:20 -0000      1.37
+++ if_bnxt.c   18 Mar 2023 14:01:59 -0000
@@ -725,11 +725,11 @@ deintr:
 free_resp:
        bnxt_dmamem_free(sc, sc->sc_cmd_resp);
 unmap_2:
-       bus_space_unmap(sc->sc_hwrm_t, sc->sc_hwrm_h, sc->sc_hwrm_s);
-       sc->sc_hwrm_s = 0;
-unmap_1:
        bus_space_unmap(sc->sc_db_t, sc->sc_db_h, sc->sc_db_s);
        sc->sc_db_s = 0;
+unmap_1:
+       bus_space_unmap(sc->sc_hwrm_t, sc->sc_hwrm_h, sc->sc_hwrm_s);
+       sc->sc_hwrm_s = 0;
 }
 
 void

Reply via email to