diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 3f830ac159e519f7fde25db5d51c4ff344f813ce..0fc9752faceab5980ae23a11cdad1bd42f634a06 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -993,8 +993,10 @@ int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata, if (params->channel_fixed) { sdata->local->oper_channel = params->channel; if (!ieee80211_set_channel_type(sdata->local, sdata, - params->channel_type)) + params->channel_type)) { + mutex_unlock(&sdata->u.ibss.mtx); return -EINVAL; + } } if (params->ie) {