Commit 07f995ca authored by Yejune Deng's avatar Yejune Deng Committed by Kalle Valo
Browse files

cw1200: replace a set of atomic_add()

parent 8d201d36
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ int cw1200_register_bh(struct cw1200_common *priv)

void cw1200_unregister_bh(struct cw1200_common *priv)
{
	atomic_add(1, &priv->bh_term);
	atomic_inc(&priv->bh_term);
	wake_up(&priv->bh_wq);

	flush_workqueue(priv->bh_workqueue);
@@ -107,7 +107,7 @@ void cw1200_irq_handler(struct cw1200_common *priv)
	if (/* WARN_ON */(priv->bh_error))
		return;

	if (atomic_add_return(1, &priv->bh_rx) == 1)
	if (atomic_inc_return(&priv->bh_rx) == 1)
		wake_up(&priv->bh_wq);
}
EXPORT_SYMBOL_GPL(cw1200_irq_handler);
@@ -120,7 +120,7 @@ void cw1200_bh_wakeup(struct cw1200_common *priv)
		return;
	}

	if (atomic_add_return(1, &priv->bh_tx) == 1)
	if (atomic_inc_return(&priv->bh_tx) == 1)
		wake_up(&priv->bh_wq);
}

@@ -382,7 +382,7 @@ static int cw1200_bh_tx_helper(struct cw1200_common *priv,
	BUG_ON(tx_len < sizeof(*wsm));
	BUG_ON(__le16_to_cpu(wsm->len) != tx_len);

	atomic_add(1, &priv->bh_tx);
	atomic_inc(&priv->bh_tx);

	tx_len = priv->hwbus_ops->align_size(
		priv->hwbus_priv, tx_len);
@@ -537,7 +537,7 @@ static int cw1200_bh(void *arg)
			pr_debug("[BH] Device resume.\n");
			atomic_set(&priv->bh_suspend, CW1200_BH_RESUMED);
			wake_up(&priv->bh_evt_wq);
			atomic_add(1, &priv->bh_rx);
			atomic_inc(&priv->bh_rx);
			goto done;
		}

+4 −4
Original line number Diff line number Diff line
@@ -1139,7 +1139,7 @@ static int wsm_cmd_send(struct cw1200_common *priv,
			pr_err("Outstanding outgoing frames:  %d\n", priv->hw_bufs_used);

			/* Kill BH thread to report the error to the top layer. */
			atomic_add(1, &priv->bh_term);
			atomic_inc(&priv->bh_term);
			wake_up(&priv->bh_wq);
			ret = -ETIMEDOUT;
		}
@@ -1160,7 +1160,7 @@ static int wsm_cmd_send(struct cw1200_common *priv,
void wsm_lock_tx(struct cw1200_common *priv)
{
	wsm_cmd_lock(priv);
	if (atomic_add_return(1, &priv->tx_lock) == 1) {
	if (atomic_inc_return(&priv->tx_lock) == 1) {
		if (wsm_flush_tx(priv))
			pr_debug("[WSM] TX is locked.\n");
	}
@@ -1169,7 +1169,7 @@ void wsm_lock_tx(struct cw1200_common *priv)

void wsm_lock_tx_async(struct cw1200_common *priv)
{
	if (atomic_add_return(1, &priv->tx_lock) == 1)
	if (atomic_inc_return(&priv->tx_lock) == 1)
		pr_debug("[WSM] TX is locked (async).\n");
}

@@ -1223,7 +1223,7 @@ bool wsm_flush_tx(struct cw1200_common *priv)
void wsm_unlock_tx(struct cw1200_common *priv)
{
	int tx_lock;
	tx_lock = atomic_sub_return(1, &priv->tx_lock);
	tx_lock = atomic_dec_return(&priv->tx_lock);
	BUG_ON(tx_lock < 0);

	if (tx_lock == 0) {