NetBSD-Bugs archive

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

Re: kern/34477



Please try the attached patch.

Cheers,
Jared

Index: if_ipw.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_ipw.c,v
retrieving revision 1.39
diff -u -r1.39 if_ipw.c
--- if_ipw.c    10 Apr 2008 19:13:37 -0000      1.39
+++ if_ipw.c    25 May 2008 22:09:14 -0000
@@ -1052,8 +1052,13 @@
 
                tap->wr_flags = 0;
                tap->wr_antsignal = status->rssi;
-               tap->wr_chan_freq = htole16(ic->ic_bss->ni_chan->ic_freq);
-               tap->wr_chan_flags = htole16(ic->ic_bss->ni_chan->ic_flags);
+               if (ic->ic_bss->ni_chan != IEEE80211_CHAN_ANYC) {
+                       tap->wr_chan_freq =
+                           htole16(ic->ic_bss->ni_chan->ic_freq);
+                       tap->wr_chan_flags =
+                           htole16(ic->ic_bss->ni_chan->ic_flags);
+               } else
+                       tap->wr_chan_freq = tap->wr_chan_flags = 0;
 
                bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_rxtap_len, m);
        }
@@ -1326,8 +1331,13 @@
                struct ipw_tx_radiotap_header *tap = &sc->sc_txtap;
 
                tap->wt_flags = 0;
-               tap->wt_chan_freq = htole16(ic->ic_bss->ni_chan->ic_freq);
-               tap->wt_chan_flags = htole16(ic->ic_bss->ni_chan->ic_flags);
+               if (ic->ic_bss->ni_chan != IEEE80211_CHAN_ANYC) {
+                       tap->wt_chan_freq =
+                           htole16(ic->ic_bss->ni_chan->ic_freq);
+                       tap->wt_chan_flags =
+                           htole16(ic->ic_bss->ni_chan->ic_flags);
+               } else
+                       tap->wt_chan_freq = tap->wt_chan_flags = 0;
 
                bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m0);
        }


Home | Main Index | Thread Index | Old Index