Dan Carpenter <dan.carpenter@xxxxxxxxxx> writes: > There is a success path where "ret" isn't initialized where we never > have a ATH11K_SPECTRAL_TAG_SCAN_SEARCH and then ret isn't initialized. > > Fixes: 9d11b7bff950 ("ath11k: add support for spectral scan") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > drivers/net/wireless/ath/ath11k/spectral.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath11k/spectral.c b/drivers/net/wireless/ath/ath11k/spectral.c > index 1c5d65bb411f..bfbf905f7507 100644 > --- a/drivers/net/wireless/ath/ath11k/spectral.c > +++ b/drivers/net/wireless/ath/ath11k/spectral.c > @@ -677,7 +677,7 @@ static int ath11k_spectral_process_data(struct ath11k *ar, > u32 data_len, i; > u8 sign, tag; > int tlv_len, sample_sz; > - int ret; > + int ret = 0; > bool quit = false; I try to avoid initialising ret variables so I would like find another way. What about doing this (completely untested!) in the end of the function: return 0; err: kfree(fft_sample); unlock: spin_unlock_bh(&ar->spectral.lock); return ret; -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches