View | Details | Raw Unified | Return to bug 197143 | Differences between
and this patch

Collapse All | Expand All

(-)sys/dev/wpi/if_wpi.c (-11 / +18 lines)
Lines 516-522 Link Here
516
	ic->ic_scan_start = wpi_scan_start;
516
	ic->ic_scan_start = wpi_scan_start;
517
	ic->ic_scan_end = wpi_scan_end;
517
	ic->ic_scan_end = wpi_scan_end;
518
	ic->ic_set_channel = wpi_set_channel;
518
	ic->ic_set_channel = wpi_set_channel;
519
	sc->sc_scan_curchan = ic->ic_scan_curchan;
520
	ic->ic_scan_curchan = wpi_scan_curchan;
519
	ic->ic_scan_curchan = wpi_scan_curchan;
521
	ic->ic_scan_mindwell = wpi_scan_mindwell;
520
	ic->ic_scan_mindwell = wpi_scan_mindwell;
522
	ic->ic_setregdomain = wpi_setregdomain;
521
	ic->ic_setregdomain = wpi_setregdomain;
Lines 4020-4025 Link Here
4020
	    chan->chan, IEEE80211_IS_CHAN_PASSIVE(c));
4019
	    chan->chan, IEEE80211_IS_CHAN_PASSIVE(c));
4021
4020
4022
	hdr->nchan++;
4021
	hdr->nchan++;
4022
4023
	if (hdr->nchan == 1 && sc->rxon.chan == chan->chan) {
4024
		/* XXX Force probe request transmission. */
4025
		memcpy(chan + 1, chan, sizeof (struct wpi_scan_chan));
4026
4027
		chan++;
4028
4029
		/* Reduce unnecessary delay. */
4030
		chan->flags = 0;
4031
		chan->passive = chan->active = hdr->quiet_time;
4032
4033
		hdr->nchan++;
4034
	}
4035
4023
	chan++;
4036
	chan++;
4024
4037
4025
	buflen = (uint8_t *)chan - buf;
4038
	buflen = (uint8_t *)chan - buf;
Lines 5400-5415 Link Here
5400
	int error;
5413
	int error;
5401
5414
5402
	WPI_RXON_LOCK(sc);
5415
	WPI_RXON_LOCK(sc);
5403
	if (sc->rxon.chan != ieee80211_chan2ieee(ic, ic->ic_curchan)) {
5416
	error = wpi_scan(sc, ic->ic_curchan);
5404
		error = wpi_scan(sc, ic->ic_curchan);
5417
	WPI_RXON_UNLOCK(sc);
5405
		WPI_RXON_UNLOCK(sc);
5418
	if (error != 0)
5406
		if (error != 0)
5419
		ieee80211_cancel_scan(vap);
5407
			ieee80211_cancel_scan(vap);
5408
	} else {
5409
		WPI_RXON_UNLOCK(sc);
5410
		/* Send probe request when associated. */
5411
		sc->sc_scan_curchan(ss, maxdwell);
5412
	}
5413
}
5420
}
5414
5421
5415
/**
5422
/**
(-)sys/dev/wpi/if_wpivar.h (-2 lines)
Lines 210-217 Link Here
210
	struct mtx		nt_mtx;
210
	struct mtx		nt_mtx;
211
211
212
	void			(*sc_node_free)(struct ieee80211_node *);
212
	void			(*sc_node_free)(struct ieee80211_node *);
213
	void			(*sc_scan_curchan)(struct ieee80211_scan_state *,
214
				    unsigned long);
215
213
216
	struct wpi_rx_radiotap_header	sc_rxtap;
214
	struct wpi_rx_radiotap_header	sc_rxtap;
217
	struct wpi_tx_radiotap_header	sc_txtap;
215
	struct wpi_tx_radiotap_header	sc_txtap;

Return to bug 197143