nl80211: Fix RTM_DELLINK processing for bridge events

When a netdev is removed from a bridge, RTM_DELLINK message is received
with ifname (IFLA_IFNAME) pointing to the main netdev event though that
netdev is not deleted. This was causing issues with P2P GO interface
getting disabled when the netdev was removed from a bridge. Fix this by
filtering RTM_DELLINK events that are related to the bridge when
indicating interface status changes.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2014-09-01 16:14:07 +03:00 committed by Jouni Malinen
parent a0fd2ae643
commit 728ff2f469

View file

@ -1367,7 +1367,7 @@ static void wpa_driver_nl80211_event_rtm_dellink(void *ctx,
attr = RTA_NEXT(attr, attrlen); attr = RTA_NEXT(attr, attrlen);
} }
if (ifname[0]) if (ifname[0] && (ifi->ifi_family != AF_BRIDGE || !brid))
wpa_driver_nl80211_event_dellink(drv, ifname); wpa_driver_nl80211_event_dellink(drv, ifname);
if (ifi->ifi_family == AF_BRIDGE && brid) { if (ifi->ifi_family == AF_BRIDGE && brid) {