Skip to content

Commit

Permalink
libertas: move SIOCGIWAP calls to wext.c
Browse files Browse the repository at this point in the history
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Holger Schurig authored and John W. Linville committed Oct 27, 2009
1 parent 8ec97cc commit fea2b8e
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 11 deletions.
8 changes: 1 addition & 7 deletions drivers/net/wireless/libertas/cmdresp.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,17 @@
*/
void lbs_mac_event_disconnected(struct lbs_private *priv)
{
union iwreq_data wrqu;

if (priv->connect_status != LBS_CONNECTED)
return;

lbs_deb_enter(LBS_DEB_ASSOC);

memset(wrqu.ap_addr.sa_data, 0x00, ETH_ALEN);
wrqu.ap_addr.sa_family = ARPHRD_ETHER;

/*
* Cisco AP sends EAP failure and de-auth in less than 0.5 ms.
* It causes problem in the Supplicant
*/

msleep_interruptible(1000);
wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
lbs_send_disconnect_notification(priv);

/* report disconnect to upper layer */
netif_stop_queue(priv->dev);
Expand Down
5 changes: 1 addition & 4 deletions drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1227,7 +1227,6 @@ EXPORT_SYMBOL_GPL(lbs_add_card);
void lbs_remove_card(struct lbs_private *priv)
{
struct net_device *dev = priv->dev;
union iwreq_data wrqu;

lbs_deb_enter(LBS_DEB_MAIN);

Expand All @@ -1252,9 +1251,7 @@ void lbs_remove_card(struct lbs_private *priv)
lbs_ps_wakeup(priv, CMD_OPTION_WAITFORRSP);
}

memset(wrqu.ap_addr.sa_data, 0xaa, ETH_ALEN);
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
lbs_send_disconnect_notification(priv);

if (priv->is_deep_sleep) {
priv->is_deep_sleep = 0;
Expand Down
9 changes: 9 additions & 0 deletions drivers/net/wireless/libertas/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@ static inline void lbs_cancel_association_work(struct lbs_private *priv)
priv->pending_assoc_req = NULL;
}

void lbs_send_disconnect_notification(struct lbs_private *priv)
{
union iwreq_data wrqu;

memset(wrqu.ap_addr.sa_data, 0x00, ETH_ALEN);
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
}

void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str)
{
union iwreq_data iwrq;
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/libertas/wext.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#ifndef _LBS_WEXT_H_
#define _LBS_WEXT_H_

void lbs_send_disconnect_notification(struct lbs_private *priv);
void lbs_send_iwevcustom_event(struct lbs_private *priv, s8 *str);

extern struct iw_handler_def lbs_handler_def;
Expand Down

0 comments on commit fea2b8e

Please sign in to comment.