|
@@ -3056,6 +3056,9 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx,
|
|
|
case NL80211_IFTYPE_ADHOC:
|
|
case NL80211_IFTYPE_ADHOC:
|
|
|
if (!bssid)
|
|
if (!bssid)
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
+ if (ether_addr_equal(sdata->vif.addr, hdr->addr2) ||
|
|
|
|
|
+ ether_addr_equal(sdata->u.ibss.bssid, hdr->addr2))
|
|
|
|
|
+ return 0;
|
|
|
if (ieee80211_is_beacon(hdr->frame_control)) {
|
|
if (ieee80211_is_beacon(hdr->frame_control)) {
|
|
|
return 1;
|
|
return 1;
|
|
|
} else if (!ieee80211_bssid_match(bssid, sdata->u.ibss.bssid)) {
|
|
} else if (!ieee80211_bssid_match(bssid, sdata->u.ibss.bssid)) {
|