Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78913
b: refs/heads/master
c: 9f9dac2
h: refs/heads/master
i:
  78911: d46a6a0
v: v3
  • Loading branch information
Holger Schurig authored and David S. Miller committed Jan 28, 2008
1 parent 3023c74 commit c0b4ca7
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 35 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 49df2b33478fd67e642d05786d06de322504842c
refs/heads/master: 9f9dac281ba2acd3d6d3574076f86b8f99aaebc0
18 changes: 0 additions & 18 deletions trunk/drivers/net/wireless/libertas/assoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,4 @@ struct assoc_request * wlan_get_association_request(wlan_adapter *adapter);

void libertas_sync_channel(struct work_struct *work);

#define ASSOC_DELAY (HZ / 2)
static inline void wlan_postpone_association_work(wlan_private *priv)
{
if (priv->adapter->surpriseremoved)
return;
cancel_delayed_work(&priv->assoc_work);
queue_delayed_work(priv->work_thread, &priv->assoc_work, ASSOC_DELAY);
}

static inline void wlan_cancel_association_work(wlan_private *priv)
{
cancel_delayed_work(&priv->assoc_work);
if (priv->adapter->pending_assoc_req) {
kfree(priv->adapter->pending_assoc_req);
priv->adapter->pending_assoc_req = NULL;
}
}

#endif /* _WLAN_ASSOC_H */
50 changes: 34 additions & 16 deletions trunk/drivers/net/wireless/libertas/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,24 @@
#include "assoc.h"


static inline void libertas_postpone_association_work(wlan_private *priv)
{
if (priv->adapter->surpriseremoved)
return;
cancel_delayed_work(&priv->assoc_work);
queue_delayed_work(priv->work_thread, &priv->assoc_work, HZ / 2);
}

static inline void libertas_cancel_association_work(wlan_private *priv)
{
cancel_delayed_work(&priv->assoc_work);
if (priv->adapter->pending_assoc_req) {
kfree(priv->adapter->pending_assoc_req);
priv->adapter->pending_assoc_req = NULL;
}
}


/**
* @brief Find the channel frequency power info with specific channel
*
Expand Down Expand Up @@ -949,9 +967,9 @@ static int wlan_set_freq(struct net_device *dev, struct iw_request_info *info,
out:
if (ret == 0) {
set_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
} else {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}
mutex_unlock(&adapter->lock);

Expand Down Expand Up @@ -1050,11 +1068,11 @@ static int wlan_set_mode(struct net_device *dev,
assoc_req = wlan_get_association_request(adapter);
if (!assoc_req) {
ret = -ENOMEM;
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
} else {
assoc_req->mode = *uwrq;
set_bit(ASSOC_FLAG_MODE, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
lbs_deb_wext("Switching to mode: 0x%x\n", *uwrq);
}
mutex_unlock(&adapter->lock);
Expand Down Expand Up @@ -1335,9 +1353,9 @@ static int wlan_set_encode(struct net_device *dev,
out:
if (ret == 0) {
set_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
} else {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}
mutex_unlock(&adapter->lock);

Expand Down Expand Up @@ -1576,9 +1594,9 @@ static int wlan_set_encodeext(struct net_device *dev,

out:
if (ret == 0) {
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
} else {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}
mutex_unlock(&adapter->lock);

Expand Down Expand Up @@ -1623,9 +1641,9 @@ static int wlan_set_genie(struct net_device *dev,
out:
if (ret == 0) {
set_bit(ASSOC_FLAG_WPA_IE, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
} else {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}
mutex_unlock(&adapter->lock);

Expand Down Expand Up @@ -1752,9 +1770,9 @@ static int wlan_set_auth(struct net_device *dev,
if (ret == 0) {
if (updated)
set_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
} else if (ret != -EOPNOTSUPP) {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}
mutex_unlock(&adapter->lock);

Expand Down Expand Up @@ -1929,13 +1947,13 @@ static int wlan_set_essid(struct net_device *dev, struct iw_request_info *info,
memcpy(&assoc_req->ssid, &ssid, IW_ESSID_MAX_SIZE);
assoc_req->ssid_len = ssid_len;
set_bit(ASSOC_FLAG_SSID, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
}
}

/* Cancel the association request if there was an error */
if (ret != 0) {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
}

mutex_unlock(&adapter->lock);
Expand Down Expand Up @@ -1974,13 +1992,13 @@ static int wlan_set_wap(struct net_device *dev, struct iw_request_info *info,
/* Get or create the current association request */
assoc_req = wlan_get_association_request(adapter);
if (!assoc_req) {
wlan_cancel_association_work(priv);
libertas_cancel_association_work(priv);
ret = -ENOMEM;
} else {
/* Copy the BSSID to the association request */
memcpy(&assoc_req->bssid, awrq->sa_data, ETH_ALEN);
set_bit(ASSOC_FLAG_BSSID, &assoc_req->flags);
wlan_postpone_association_work(priv);
libertas_postpone_association_work(priv);
}

mutex_unlock(&adapter->lock);
Expand Down

0 comments on commit c0b4ca7

Please sign in to comment.