ath9k_hw_reset() in ath9k_start() can fail, and in this case,
ath9k_start() should return an error instead of executing the
subsequent code.
Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/net/wireless/ath/ath9k/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index f23cb2f3d296..f78e7c46764d 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -681,6 +681,7 @@ static int ath9k_start(struct ieee80211_hw *hw)
"Unable to reset hardware; reset status %d (freq %u MHz)\n",
r, curchan->center_freq);
ah->reset_power_on = false;
+ return r;
}
/* Setup our intr mask. */
--
2.17.0
Heiner Kallweit <[email protected]> writes:
> On 04.05.2019 12:08, Jia-Ju Bai wrote:
>> ath9k_hw_reset() in ath9k_start() can fail, and in this case,
>> ath9k_start() should return an error instead of executing the
>> subsequent code.
>>
> Such mechanical patches w/o understanding the code are always
> problematic. Do you have any proof that this error is fatal?
> I think it is not, else we wouldn't have this line:
> ah->reset_power_on = false;
> Also you should consider that a mutex and a spinlock are held.
> Maybe changing the error message to a warning would be more
> appropriate. But this I would leave to somebody being more
> familiar with this driver.
A very good point, thanks Heiner! I will drop this unless someone
familiar with ath9k says that this is ok.
--
Kalle Valo