Commit fea2b8ec authored by Holger Schurig's avatar Holger Schurig Committed by John W. Linville
Browse files

libertas: move SIOCGIWAP calls to wext.c

parent 8ec97cc8
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -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);
+1 −4
Original line number Diff line number Diff line
@@ -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);

@@ -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;
+9 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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;