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)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 22 Sep 2020 07:41:00 +0000 (10:41 +0300)
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
drivers/net/wireless/ath/ath11k/ahb.c

index b642e52c490436762d2bd2c48548ac0d1f8b7955..430723c64adce6d03db67ca2196348d5801affef 100644 (file)
@@ -718,12 +718,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);