From: Dmitry Shmidt Date: Mon, 17 Oct 2011 00:05:54 +0000 (-0700) Subject: net: wireless: bcmdhd: Send cfg80211_disconnected() if fails to get rssi X-Git-Tag: firefly_0821_release~7613^2~267 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b11ecb42c0c6cd37748377a4699d811cd4615459;p=firefly-linux-kernel-4.4.55.git net: wireless: bcmdhd: Send cfg80211_disconnected() if fails to get rssi Signed-off-by: Dmitry Shmidt --- diff --git a/drivers/net/wireless/bcmdhd/wl_cfg80211.c b/drivers/net/wireless/bcmdhd/wl_cfg80211.c index a7b88f8e4af2..00cbfafb200c 100644 --- a/drivers/net/wireless/bcmdhd/wl_cfg80211.c +++ b/drivers/net/wireless/bcmdhd/wl_cfg80211.c @@ -2866,7 +2866,8 @@ wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, if (memcmp(mac, curmacp, ETHER_ADDR_LEN)) { WL_ERR(("Wrong Mac address: "MACSTR" != "MACSTR"\n", MAC2STR(mac), MAC2STR(curmacp))); - return -ENOENT; + err = -ENOENT; + goto get_station_err; } /* Report the current tx rate */ err = wldev_ioctl(dev, WLC_GET_RATE, &rate, sizeof(rate), false); @@ -2886,13 +2887,16 @@ wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, sizeof(scb_val_t), false); if (err) { WL_ERR(("Could not get rssi (%d)\n", err)); - return err; + goto get_station_err; } rssi = dtoh32(scb_val.val); sinfo->filled |= STATION_INFO_SIGNAL; sinfo->signal = rssi; WL_DBG(("RSSI %d dBm\n", rssi)); } +get_station_err: + if (err) + cfg80211_disconnected(dev, 0, NULL, 0, GFP_KERNEL); } return err;