Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac47246e authored by David Woodhouse's avatar David Woodhouse Committed by David S. Miller
Browse files

libertas: kill adapter->nr_cmd_pending

parent 99c893f3
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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;
+0 −5
Original line number Diff line number Diff line
@@ -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);
+2 −1
Original line number Diff line number Diff line
@@ -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;
+0 −1
Original line number Diff line number Diff line
@@ -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 */
+1 −3
Original line number Diff line number Diff line
@@ -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)) {