summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJérôme Pouiller <jerome.pouiller@silabs.com>2020-04-01 13:03:44 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-04-13 08:55:34 +0200
commit517b358fddd737e81a3e0762d0893722871fafe9 (patch)
treebf04e79da4fd2958486931035ee65a979aa99485 /drivers
parentabaef5374e53be81ca46ef76d9c03e103b49da51 (diff)
downloadlinux-stable-517b358fddd737e81a3e0762d0893722871fafe9.tar.gz
linux-stable-517b358fddd737e81a3e0762d0893722871fafe9.tar.bz2
linux-stable-517b358fddd737e81a3e0762d0893722871fafe9.zip
staging: wfx: simplify wfx_tx_queue_mask_get()
It is far simpler to return a pointer instead of an error. Thus, it is no more necessary to pass a pointer reference as argument. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20200401110405.80282-12-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/wfx/queue.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/staging/wfx/queue.c b/drivers/staging/wfx/queue.c
index bbab6b192b0c..c602496580f7 100644
--- a/drivers/staging/wfx/queue.c
+++ b/drivers/staging/wfx/queue.c
@@ -382,9 +382,8 @@ static int wfx_get_prio_queue(struct wfx_vif *wvif, u32 tx_allowed_mask)
return winner;
}
-static int wfx_tx_queue_mask_get(struct wfx_vif *wvif,
- struct wfx_queue **queue_p,
- u32 *tx_allowed_mask_p)
+static struct wfx_queue *wfx_tx_queue_mask_get(struct wfx_vif *wvif,
+ u32 *tx_allowed_mask_p)
{
int idx;
u32 tx_allowed_mask;
@@ -398,11 +397,10 @@ static int wfx_tx_queue_mask_get(struct wfx_vif *wvif,
tx_allowed_mask |= BIT(WFX_LINK_ID_AFTER_DTIM);
idx = wfx_get_prio_queue(wvif, tx_allowed_mask);
if (idx < 0)
- return -ENOENT;
+ return NULL;
- *queue_p = &wvif->wdev->tx_queue[idx];
*tx_allowed_mask_p = tx_allowed_mask;
- return 0;
+ return &wvif->wdev->tx_queue[idx];
}
struct hif_msg *wfx_tx_queues_get_after_dtim(struct wfx_vif *wvif)
@@ -434,7 +432,6 @@ struct hif_msg *wfx_tx_queues_get(struct wfx_dev *wdev)
u32 tx_allowed_mask = 0;
u32 vif_tx_allowed_mask = 0;
struct wfx_vif *wvif;
- int not_found;
int i;
if (atomic_read(&wdev->tx_lock))
@@ -469,12 +466,12 @@ struct hif_msg *wfx_tx_queues_get(struct wfx_dev *wdev)
while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
spin_lock_bh(&wvif->ps_state_lock);
- not_found = wfx_tx_queue_mask_get(wvif, &vif_queue,
+ vif_queue = wfx_tx_queue_mask_get(wvif,
&vif_tx_allowed_mask);
spin_unlock_bh(&wvif->ps_state_lock);
- if (!not_found) {
+ if (vif_queue) {
if (queue && queue != vif_queue)
dev_info(wdev->dev, "vifs disagree about queue priority\n");
tx_allowed_mask |= vif_tx_allowed_mask;