[PATCH -next] ath11k: Add checked value for ath11k_ahb_remove
Kalle Valo
kvalo at codeaurora.org
Mon Sep 21 09:27:32 EDT 2020
Kalle Valo <kvalo at codeaurora.org> writes:
> + rajkumar
>
> Bo YU <tsu.yubo at gmail.com> writes:
>
>> Return value form wait_for_completion_timeout should to be checked.
>>
>> This is detected by Coverity,#CID:1464479 (CHECKED_RETURN)
>>
>> FIXES: d5c65159f2895(ath11k: driver for Qualcomm IEEE 802.11ax devices)
>
> This should be
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
>
> But I can fix that.
>
>> --- a/drivers/net/wireless/ath/ath11k/ahb.c
>> +++ b/drivers/net/wireless/ath/ath11k/ahb.c
>> @@ -981,12 +981,16 @@ static int ath11k_ahb_probe(struct platform_device *pdev)
>> static int ath11k_ahb_remove(struct platform_device *pdev)
>> {
>> struct ath11k_base *ab = platform_get_drvdata(pdev);
>> -
>> + int ret = 0;
>> 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 (!wait_for_completion_timeout(&ab->driver_recovery,
>> + ATH11K_AHB_RECOVERY_TIMEOUT)) {
>> + ath11k_warn(ab, "fail to receive recovery response
>> completion.\n");
>> + ret = -ETIMEDOUT;
>> + }
>
> This is a good find. Rajkumar, can you take a look if this is ok?
>
>>
>> set_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags);
>> cancel_work_sync(&ab->restart_work);
>> @@ -999,7 +1003,7 @@ static int ath11k_ahb_remove(struct platform_device *pdev)
>> ath11k_core_free(ab);
>> platform_set_drvdata(pdev, NULL);
>>
>> - return 0;
>> + return ret;
>> }
>
> Especially I wonder what happens if ath11k_ahb_remove() returns an
> error. Should we just print a warning and return 0 instead?
I changed this patch so that we return 0 even if timeout happens, just
to be on the safe side. The patch is now in the pending branch.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list