Check channels which are passed in IBSS mode.

PR:		kern/197143
Submitted by:	 Andriy Voskoboinyk <s3erios@gmail.com>
This commit is contained in:
adrian 2015-05-03 23:08:25 +00:00
parent d223b21846
commit 92d93a7215

View File

@ -3775,6 +3775,14 @@ wpi_config(struct wpi_softc *sc)
sc->rxon.cck_mask = 0x0f; /* not yet negotiated */
sc->rxon.ofdm_mask = 0xff; /* not yet negotiated */
/* XXX Current configuration may be unusable. */
if (IEEE80211_IS_CHAN_NOADHOC(c) && sc->rxon.mode == WPI_MODE_IBSS) {
device_printf(sc->sc_dev,
"%s: invalid channel (%d) selected for IBSS mode\n",
__func__, ieee80211_chan2ieee(ic, c));
return EINVAL;
}
if ((error = wpi_send_rxon(sc, 0, 0)) != 0) {
device_printf(sc->sc_dev, "%s: could not send RXON\n",
__func__);