Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 79125
b: refs/heads/master
c: ac47246
h: refs/heads/master
i:
  79123: ca1829e
v: v3
  • Loading branch information
David Woodhouse authored and David S. Miller committed Jan 28, 2008
1 parent a2af3e3 commit f788591
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 15 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: 99c893f34ab932171af27264c0cba4946ca0c355
refs/heads/master: ac47246e246c183ed68b3fdb307a83d00313a325
6 changes: 2 additions & 4 deletions trunk/drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1009,10 +1009,9 @@ void lbs_queue_cmd(struct lbs_adapter *adapter,

spin_lock_irqsave(&adapter->driver_lock, flags);

if (addtail) {
if (addtail)
list_add_tail(&cmdnode->list, &adapter->cmdpendingq);
adapter->nr_cmd_pending++;
} else
else
list_add(&cmdnode->list, &adapter->cmdpendingq);

spin_unlock_irqrestore(&adapter->driver_lock, flags);
Expand Down Expand Up @@ -1078,7 +1077,6 @@ static int DownloadcommandToStation(struct lbs_private *priv,
spin_lock_irqsave(&adapter->driver_lock, flags);
adapter->cur_cmd_retcode = ret;
__lbs_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
adapter->nr_cmd_pending--;
adapter->cur_cmd = NULL;
spin_unlock_irqrestore(&adapter->driver_lock, flags);
goto done;
Expand Down
5 changes: 0 additions & 5 deletions trunk/drivers/net/wireless/libertas/cmdresp.c
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,6 @@ int lbs_process_rx_command(struct lbs_private *priv)
lbs_deb_host("invalid response!\n");
adapter->cur_cmd_retcode = -1;
__lbs_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
adapter->nr_cmd_pending--;
adapter->cur_cmd = NULL;
spin_unlock_irqrestore(&adapter->driver_lock, flags);
ret = -1;
Expand Down Expand Up @@ -848,7 +847,6 @@ int lbs_process_rx_command(struct lbs_private *priv)
}

__lbs_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
adapter->nr_cmd_pending--;
adapter->cur_cmd = NULL;
spin_unlock_irqrestore(&adapter->driver_lock, flags);

Expand All @@ -872,7 +870,6 @@ int lbs_process_rx_command(struct lbs_private *priv)
}

__lbs_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
adapter->nr_cmd_pending--;
adapter->cur_cmd = NULL;
spin_unlock_irqrestore(&adapter->driver_lock, flags);

Expand All @@ -892,8 +889,6 @@ int lbs_process_rx_command(struct lbs_private *priv)
if (adapter->cur_cmd) {
/* Clean up and Put current command back to cmdfreeq */
__lbs_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
adapter->nr_cmd_pending--;
WARN_ON(adapter->nr_cmd_pending > 128);
adapter->cur_cmd = NULL;
}
spin_unlock_irqrestore(&adapter->driver_lock, flags);
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/net/wireless/libertas/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,8 @@ static ssize_t lbs_setuserscan(struct file *file,

lbs_scan_networks(priv, scan_cfg, 1);
wait_event_interruptible(priv->adapter->cmd_pending,
priv->adapter->surpriseremoved || !priv->adapter->nr_cmd_pending);
priv->adapter->surpriseremoved ||
(!priv->adapter->cur_cmd && list_empty(&priv->adapter->cmdpendingq)));

if (priv->adapter->surpriseremoved)
goto out_scan_cfg;
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,6 @@ struct lbs_adapter {
struct list_head cmdpendingq;

wait_queue_head_t cmd_pending;
u8 nr_cmd_pending;
/* command related variables protected by adapter->driver_lock */

/** Async and Sync Event variables */
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -929,14 +929,13 @@ static int lbs_thread(void *data)
/* Wake-up command waiters which can't sleep in
* lbs_prepare_and_send_command
*/
if (!adapter->nr_cmd_pending)
if (!list_empty(&adapter->cmdpendingq))
wake_up_all(&adapter->cmd_pending);

lbs_tx_runqueue(priv);
}

del_timer(&adapter->command_timer);
adapter->nr_cmd_pending = 0;
wake_up_all(&adapter->cmd_pending);

lbs_deb_leave(LBS_DEB_THREAD);
Expand Down Expand Up @@ -1105,7 +1104,6 @@ static int lbs_init_adapter(struct lbs_private *priv)

spin_lock_init(&adapter->driver_lock);
init_waitqueue_head(&adapter->cmd_pending);
adapter->nr_cmd_pending = 0;

/* Allocate the command buffers */
if (lbs_allocate_cmd_buffer(priv)) {
Expand Down

0 comments on commit f788591

Please sign in to comment.