On Thu, Jan 26, 2017 at 06:36:06AM +0000, Peter Kay wrote: > sfer overflow
Interesting. This is the first time I've ever seen this panic trigger. Can you apply this patch and try to trigger it again? Index: ieee80211_mira.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_mira.c,v retrieving revision 1.8 diff -u -p -r1.8 ieee80211_mira.c --- ieee80211_mira.c 12 Jan 2017 18:06:57 -0000 1.8 +++ ieee80211_mira.c 26 Jan 2017 09:37:27 -0000 @@ -427,8 +427,15 @@ ieee80211_mira_update_stats(struct ieee8 /* Compute Sub-Frame Error Rate (see section 2.2 in MiRA paper). */ sfer = (mn->frames * mn->retries + mn->txfail); - if ((sfer >> MIRA_FP_SHIFT) != 0) + if ((sfer >> MIRA_FP_SHIFT) != 0) { + printf("%s: driver stats:\n", __func__); + printf("mn->frames = %u\n", mn->frames); + printf("mn->retries = %u\n", mn->retries); + printf("mn->txfail = %u\n", mn->txfail); + printf("mn->ampdu_size = %u\n", mn->ampdu_size); + printf("mn->agglen = %u\n", mn->agglen); panic("sfer overflow"); /* bug in wifi driver */ + } sfer <<= MIRA_FP_SHIFT; /* convert to fixed-point */ sfer /= ((mn->retries + 1) * mn->frames); if (sfer > MIRA_FP_1)