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)

Reply via email to