[Bug 242337] iwm - rate 0 causes iwm panic (and work around)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Dec 1 13:24:09 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242337

--- Comment #2 from dirkx at webweaving.org ---
As a workaround - in if_iwm.c -- simply picking the first rate from the table
(the slowest) makes things work again although it emits below error:


    iwm0: frame 0/230 b800002c UNHANDLED (this should not happen)
    tun0: link state changed to UP

Function changed below.

static int
iwm_rate2ridx(struct iwm_softc *sc, uint8_t rate)
{
        int i;

        for (i = 0; i <= IWM_RIDX_MAX; i++) {
                if (iwm_rates[i].rate == rate)
                        return i;
        }

        device_printf(sc->sc_dev,
            "%s: WARNING: device rate for %u not found!!\n",
            __func__, rate);

        // On KPN Experia ADSL modems - one somehow gets a rate==0;
        // just picking the first value from the table works.
        if (rate == 0) {
            device_printf(sc->sc_dev,
                "%s: WARNING: using first rate fom the table.\n",
                __func__);
            return 0;
        };
        return -1;
}

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-wireless mailing list