diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 0fc9752faceab5980ae23a11cdad1bd42f634a06..fe0e91e0b8bce479444661f32f116569d59a132a 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -995,6 +995,7 @@ int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
 		if (!ieee80211_set_channel_type(sdata->local, sdata,
 					       params->channel_type)) {
 			mutex_unlock(&sdata->u.ibss.mtx);
+			kfree_skb(skb);
 			return -EINVAL;
 		}
 	}