Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

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



(Michael van Elst) <mlelstv%serpens.de@localhost> wrote:

> ktnb%posteo.net@localhost (Kevin Bloom) writes:
> 
> >(Michael van Elst) <mlelstv%serpens.de@localhost> wrote:
> 
> >> ktnb%posteo.net@localhost (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;
>  
> 

That patch seems to have fixed it! Thanks for you help! Do you think
that will be commited to NetBSD 11?


Home | Main Index | Thread Index | Old Index