https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242337
Mark Johnston <ma...@freebsd.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ma...@freebsd.org --- Comment #4 from Mark Johnston <ma...@freebsd.org> --- Hmm, note that one of the callers of iwm_rate2idx() already contains this logic (i.e., maps an unknown rate to the lowest one). I guess the problem is with the code which programs the fw rate table. iwm_setrates() already skips over invalid rates... but the code which fills in the rest of the table is wrong. Can you try this hack instead? I did not test it. There is a larger issue here in that we are ending up with a rate of 0, but we can at least avoid panicking. diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c index 06bd66cc3ef6..4bd6547cc57f 100644 --- a/sys/dev/iwm/if_iwm.c +++ b/sys/dev/iwm/if_iwm.c @@ -4385,8 +4385,10 @@ iwm_setrates(struct iwm_softc *sc, struct iwm_node *in, int rix) /* Map 802.11 rate to HW rate index. */ ridx = iwm_rate2ridx(sc, rate); - if (ridx == -1) + if (ridx == -1) { + nrates--; continue; + } #if 0 if (txant == 0) -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-wireless@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-wireless To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"