ath11k: cleanup reo command error code overwritten
authorGovindaraj Saminathan <gsamin@codeaurora.org>
Mon, 13 Apr 2020 11:21:12 +0000 (16:51 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 15 Apr 2020 08:03:48 +0000 (11:03 +0300)
should not overwrite the error code. No buffer available then return
invalid. For other failures return the error code of actual failure.

Signed-off-by: Govindaraj Saminathan <gsamin@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1586776872-25766-1-git-send-email-gsamin@codeaurora.org
drivers/net/wireless/ath/ath11k/dp_tx.c

index 7aac4b0eea0cf03f03f192f102e71f65142f5d70..6f40e72f41e66aab5e3d10da782cfb5efb577ebe 100644 (file)
@@ -543,8 +543,12 @@ int ath11k_dp_tx_send_reo_cmd(struct ath11k_base *ab, struct dp_rx_tid *rx_tid,
        cmd_ring = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id];
        cmd_num = ath11k_hal_reo_cmd_send(ab, cmd_ring, type, cmd);
 
+       /* cmd_num should start from 1, during failure return the error code */
+       if (cmd_num < 0)
+               return cmd_num;
+
        /* reo cmd ring descriptors has cmd_num starting from 1 */
-       if (cmd_num <= 0)
+       if (cmd_num == 0)
                return -EINVAL;
 
        if (!cb)