Message ID | 20190504100815.19876-1-baijiaju1990@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | net: wireless: ath9k: Return an error when ath9k_hw_reset() fails | expand |
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. > Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> > --- > 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. */ >
Heiner Kallweit <hkallweit1@gmail.com> 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.
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. */
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 <baijiaju1990@gmail.com> --- drivers/net/wireless/ath/ath9k/main.c | 1 + 1 file changed, 1 insertion(+)