]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ath11k: Add checked value for ath11k_ahb_remove
authorBo YU <tsu.yubo@gmail.com>
Mon, 21 Sep 2020 13:21:22 +0000 (16:21 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:07:42 +0000 (10:07 +0100)
[ Upstream commit 80b892fc8a90e91498babf0f6817139e5ec64b5c ]

Return value form wait_for_completion_timeout should to be checked.

This is detected by Coverity: #CID:1464479 (CHECKED_RETURN)

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Bo YU <tsu.yubo@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200621095136.7xdbzkthoxuw2qow@debian.debian-2
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath11k/ahb.c

index 30092841ac4640c99a019dbfdca570d42e6f987a..a0314c1c8465353dc183d628d8a796d3f1297f65 100644 (file)
@@ -981,12 +981,16 @@ err_core_free:
 static int ath11k_ahb_remove(struct platform_device *pdev)
 {
        struct ath11k_base *ab = platform_get_drvdata(pdev);
+       unsigned long left;
 
        reinit_completion(&ab->driver_recovery);
 
-       if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags))
-               wait_for_completion_timeout(&ab->driver_recovery,
-                                           ATH11K_AHB_RECOVERY_TIMEOUT);
+       if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags)) {
+               left = wait_for_completion_timeout(&ab->driver_recovery,
+                                                  ATH11K_AHB_RECOVERY_TIMEOUT);
+               if (!left)
+                       ath11k_warn(ab, "failed to receive recovery response completion\n");
+       }
 
        set_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags);
        cancel_work_sync(&ab->restart_work);