mirror of https://gitee.com/openkylin/linux.git
libertas: kill adapter->nr_cmd_pending
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
99c893f34a
commit
ac47246e24
|
@ -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);
|
||||
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue