staging: wilc1000: adds a cfg80211_disconnected() function
This patch is adds a cfg80211_disconnected() when connection is lost already. We was find this situation while test the 'rmmod sdio'. SDIO remove function are include both remove mac_close and unregister net_device. That is received one more a disconnect cmd from cfg80211. Driver was already performed disconnect. If wilc->close value was set to true, adds a call to cfg80211_disconnected(). Signed-off-by: Leo Kim <leo.kim@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3f626cf4a8
commit
8006109ba0
1 changed files with 11 additions and 0 deletions
|
@ -819,11 +819,22 @@ static int disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_co
|
||||||
struct wilc_priv *priv;
|
struct wilc_priv *priv;
|
||||||
struct host_if_drv *pstrWFIDrv;
|
struct host_if_drv *pstrWFIDrv;
|
||||||
struct wilc_vif *vif;
|
struct wilc_vif *vif;
|
||||||
|
struct wilc *wilc;
|
||||||
u8 NullBssid[ETH_ALEN] = {0};
|
u8 NullBssid[ETH_ALEN] = {0};
|
||||||
|
|
||||||
wilc_connecting = 0;
|
wilc_connecting = 0;
|
||||||
priv = wiphy_priv(wiphy);
|
priv = wiphy_priv(wiphy);
|
||||||
vif = netdev_priv(priv->dev);
|
vif = netdev_priv(priv->dev);
|
||||||
|
wilc = vif->wilc;
|
||||||
|
|
||||||
|
if (!wilc)
|
||||||
|
return -EIO;
|
||||||
|
|
||||||
|
if (wilc->close) {
|
||||||
|
/* already disconnected done */
|
||||||
|
cfg80211_disconnected(dev, 0, NULL, 0, true, GFP_KERNEL);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
pstrWFIDrv = (struct host_if_drv *)priv->hif_drv;
|
pstrWFIDrv = (struct host_if_drv *)priv->hif_drv;
|
||||||
if (!pstrWFIDrv->p2p_connect)
|
if (!pstrWFIDrv->p2p_connect)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue