Message ID | e4d912a2-37f8-4068-8861-7b9494ae731b@kili.mountain |
---|---|
State | New |
Headers | show |
Series | wifi: rtw89: fix rtw89_read_chip_ver() for RTL8852B and RTL8851B | expand |
On Fri, 2023-04-21 at 13:44 +0300, Dan Carpenter wrote: > > The if statement is reversed so it will not record the chip version. > This was detected using Smatch: > > drivers/net/wireless/realtek/rtw89/core.c:3593 rtw89_read_chip_ver() > error: uninitialized symbol 'val'. I use smatch to check our driver regularly, but I can't find this error. With the latest version v0.5.0-8321-g556064ca, I still can't find it. Do I need to specify additional arguments? Thanks. > > Fixes: a6fb2bb84654 ("wifi: rtw89: read version of analog hardware") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Acked-by: Ping-Ke Shih <pkshih@realtek.com> > --- > drivers/net/wireless/realtek/rtw89/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c > index 7fc0a26a4d73..1d462c9e46d9 100644 > --- a/drivers/net/wireless/realtek/rtw89/core.c > +++ b/drivers/net/wireless/realtek/rtw89/core.c > @@ -3587,7 +3587,7 @@ static void rtw89_read_chip_ver(struct rtw89_dev *rtwdev) > > if (chip->chip_id == RTL8852B || chip->chip_id == RTL8851B) { > ret = rtw89_mac_read_xtal_si(rtwdev, XTAL_SI_CV, &val); > - if (!ret) > + if (ret) > return; > > rtwdev->hal.acv = u8_get_bits(val, XTAL_SI_ACV_MASK); > -- > 2.39.2 > > > ------Please consider the environment before printing this e-mail.
On Fri, Apr 21, 2023 at 11:48:43AM +0000, Ping-Ke Shih wrote: > On Fri, 2023-04-21 at 13:44 +0300, Dan Carpenter wrote: > > > > The if statement is reversed so it will not record the chip version. > > This was detected using Smatch: > > > > drivers/net/wireless/realtek/rtw89/core.c:3593 rtw89_read_chip_ver() > > error: uninitialized symbol 'val'. > > I use smatch to check our driver regularly, but I can't find this error. > With the latest version v0.5.0-8321-g556064ca, I still can't find it. > Do I need to specify additional arguments? Thanks. > You need the cross function database (which takes like 9 hours to build). ~/smatch/smatch_scripts/build_kernel_data.sh regards, dan carpenter
Dan Carpenter <dan.carpenter@linaro.org> wrote: > The if statement is reversed so it will not record the chip version. > This was detected using Smatch: > > drivers/net/wireless/realtek/rtw89/core.c:3593 rtw89_read_chip_ver() > error: uninitialized symbol 'val'. > > Fixes: a6fb2bb84654 ("wifi: rtw89: read version of analog hardware") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > Acked-by: Ping-Ke Shih <pkshih@realtek.com> Patch applied to wireless-next.git, thanks. 9d4f491b860e wifi: rtw89: fix rtw89_read_chip_ver() for RTL8852B and RTL8851B
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 7fc0a26a4d73..1d462c9e46d9 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -3587,7 +3587,7 @@ static void rtw89_read_chip_ver(struct rtw89_dev *rtwdev) if (chip->chip_id == RTL8852B || chip->chip_id == RTL8851B) { ret = rtw89_mac_read_xtal_si(rtwdev, XTAL_SI_CV, &val); - if (!ret) + if (ret) return; rtwdev->hal.acv = u8_get_bits(val, XTAL_SI_ACV_MASK);
The if statement is reversed so it will not record the chip version. This was detected using Smatch: drivers/net/wireless/realtek/rtw89/core.c:3593 rtw89_read_chip_ver() error: uninitialized symbol 'val'. Fixes: a6fb2bb84654 ("wifi: rtw89: read version of analog hardware") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- drivers/net/wireless/realtek/rtw89/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)