Re: iwm(4) broken on latest -current kernel

[email protected] (Michael van Elst)
Newsgroups gmane.os.netbsd.current
Organization Serpens User Group
Message-ID <[email protected]>
[email protected] (Kevin Bloom) writes:

>(Michael van Elst) <[email protected]> wrote:

>> [email protected] (Kevin Bloom) writes:
>> >I have tried this with no avail. :(
>> >Everything is fine using 11.99.3 but moving to the 11.99.4 kernel
>> >is when it dies. It appears to temporarily connect to the network
>> >but that status never goes to active.

>Here is my output:
>iwm0: mac xx:xx:xx:xx:xx:xx bss xx:xx:xx:xx:xx:xx
...
>	rssi 69 txseq 7162 rxseq 21632


rssi 69 is good enough...


Does the following patch help ?

Index: sys/dev/pci/if_iwm.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_iwm.c,v
retrieving revision 1.92
diff -p -u -r1.92 if_iwm.c
--- sys/dev/pci/if_iwm.c        5 Dec 2025 20:53:51 -0000       1.92
+++ sys/dev/pci/if_iwm.c        20 Dec 2025 09:28:00 -0000
@@ -6575,10 +6575,11 @@ iwm_auth(struct iwm_softc *sc)
         * Prevent the FW from wandering off channel during association
         * by "protecting" the session with a time event.
         */
-       if (in->in_ni.ni_intval) {
-               duration = 11 * in->in_ni.ni_intval / 10;
-               iwm_protect_session(sc, in, duration, 5 * duration);
-       }
+       if (in->in_ni.ni_intval)
+               duration = in->in_ni.ni_intval * 5;
+       else
+               duration = IEEE80211_DUR_TU;
+       iwm_protect_session(sc, in, duration, in->in_ni.ni_intval / 2);
 
        return 0;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.