On Thu, Sep 01, 2016 at 11:26:10AM +0200, Imre Vadasz wrote: > Hi, > The iwm_firmware_load_chunk() function returns the value of the > uninitialized int error variable, when the "while (!sc->sc_fw_chunk_done)" > loop terminates immediately. I saw this happen repeatedly in the init > firmware loading during bootup. Example log output with iwm compiled with > debugging output, for an AC8260 chipset: > > iwm0: loading ucode type 1 > iwm0: could not load firmware chunk 0 (error 712) > iwm0: failed to load init firmware > iwm apm stop > > So we should explicitly initialize the error variable to 0 in > iwm_firmware_load_chunk():
Yes, indeed. I will commit this now. Thank you! > > Index: sys/dev/pci/if_iwm.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_iwm.c,v > retrieving revision 1.99 > diff -u -r1.99 if_iwm.c > --- sys/dev/pci/if_iwm.c 17 Aug 2016 09:39:38 -0000 1.99 > +++ sys/dev/pci/if_iwm.c 1 Sep 2016 09:17:50 -0000 > @@ -3169,6 +3169,7 @@ > iwm_nic_unlock(sc); > > /* wait 1s for this segment to load */ > + error = 0; > while (!sc->sc_fw_chunk_done) > if ((error = tsleep(&sc->sc_fw, 0, "iwmfw", hz)) != 0) > break; >