staging: wfx: simplify wfx_tx_queue_mask_get()
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Wed, 1 Apr 2020 11:03:44 +0000 (13:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Apr 2020 06:55:34 +0000 (08:55 +0200)
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>
drivers/staging/wfx/queue.c

index bbab6b1..c602496 100644 (file)
@@ -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;