aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-06-10 05:22:26 -0400
committerDavid S. Miller <davem@davemloft.net>2008-06-10 05:22:26 -0400
commit65b53e4cc90e59936733b3b95b9451d2ca47528d (patch)
tree29932718192962671c48c3fd1ea017a6112459e8 /drivers/net/wireless/libertas
parent788c0a53164c05c5ccdb1472474372b72ba74644 (diff)
parent2e761e0532a784816e7e822dbaaece8c5d4be14d (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/cmd.c5
-rw-r--r--drivers/net/wireless/libertas/debugfs.c4
-rw-r--r--drivers/net/wireless/libertas/main.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c
index cf261d3487fd..75427e61898d 100644
--- a/drivers/net/wireless/libertas/cmd.c
+++ b/drivers/net/wireless/libertas/cmd.c
@@ -1858,6 +1858,9 @@ static void lbs_send_confirmsleep(struct lbs_private *priv)
1858 1858
1859 spin_lock_irqsave(&priv->driver_lock, flags); 1859 spin_lock_irqsave(&priv->driver_lock, flags);
1860 1860
1861 /* We don't get a response on the sleep-confirmation */
1862 priv->dnld_sent = DNLD_RES_RECEIVED;
1863
1861 /* If nothing to do, go back to sleep (?) */ 1864 /* If nothing to do, go back to sleep (?) */
1862 if (!__kfifo_len(priv->event_fifo) && !priv->resp_len[priv->resp_idx]) 1865 if (!__kfifo_len(priv->event_fifo) && !priv->resp_len[priv->resp_idx])
1863 priv->psstate = PS_STATE_SLEEP; 1866 priv->psstate = PS_STATE_SLEEP;
@@ -1920,12 +1923,12 @@ void lbs_ps_confirm_sleep(struct lbs_private *priv)
1920 1923
1921 lbs_deb_enter(LBS_DEB_HOST); 1924 lbs_deb_enter(LBS_DEB_HOST);
1922 1925
1926 spin_lock_irqsave(&priv->driver_lock, flags);
1923 if (priv->dnld_sent) { 1927 if (priv->dnld_sent) {
1924 allowed = 0; 1928 allowed = 0;
1925 lbs_deb_host("dnld_sent was set\n"); 1929 lbs_deb_host("dnld_sent was set\n");
1926 } 1930 }
1927 1931
1928 spin_lock_irqsave(&priv->driver_lock, flags);
1929 /* In-progress command? */ 1932 /* In-progress command? */
1930 if (priv->cur_cmd) { 1933 if (priv->cur_cmd) {
1931 allowed = 0; 1934 allowed = 0;
diff --git a/drivers/net/wireless/libertas/debugfs.c b/drivers/net/wireless/libertas/debugfs.c
index ad2fabca9116..0aa0ce3b2c42 100644
--- a/drivers/net/wireless/libertas/debugfs.c
+++ b/drivers/net/wireless/libertas/debugfs.c
@@ -312,8 +312,8 @@ static ssize_t lbs_threshold_write(uint16_t tlv_type, uint16_t event_mask,
312 if (tlv_type != TLV_TYPE_BCNMISS) 312 if (tlv_type != TLV_TYPE_BCNMISS)
313 tlv->freq = freq; 313 tlv->freq = freq;
314 314
315 /* The command header, the event mask, and the one TLV */ 315 /* The command header, the action, the event mask, and one TLV */
316 events->hdr.size = cpu_to_le16(sizeof(events->hdr) + 2 + sizeof(*tlv)); 316 events->hdr.size = cpu_to_le16(sizeof(events->hdr) + 4 + sizeof(*tlv));
317 317
318 ret = lbs_cmd_with_response(priv, CMD_802_11_SUBSCRIBE_EVENT, events); 318 ret = lbs_cmd_with_response(priv, CMD_802_11_SUBSCRIBE_EVENT, events);
319 319
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index b7ab3590b586..abd6d9ed8f4b 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -765,8 +765,8 @@ static int lbs_thread(void *data)
765 lbs_deb_thread("4: currenttxskb %p, dnld_sent %d\n", 765 lbs_deb_thread("4: currenttxskb %p, dnld_sent %d\n",
766 priv->currenttxskb, priv->dnld_sent); 766 priv->currenttxskb, priv->dnld_sent);
767 767
768 spin_lock_irq(&priv->driver_lock);
769 /* Process any pending command response */ 768 /* Process any pending command response */
769 spin_lock_irq(&priv->driver_lock);
770 resp_idx = priv->resp_idx; 770 resp_idx = priv->resp_idx;
771 if (priv->resp_len[resp_idx]) { 771 if (priv->resp_len[resp_idx]) {
772 spin_unlock_irq(&priv->driver_lock); 772 spin_unlock_irq(&priv->driver_lock);