2020-10-11 18:07:36

by Tom Rix

[permalink] [raw]
Subject: [PATCH] rtw88: fix fw_fifo_addr check

From: Tom Rix <[email protected]>

The clang build reports this warning

fw.c:1485:21: warning: address of array 'rtwdev->chip->fw_fifo_addr'
will always evaluate to 'true'
if (!rtwdev->chip->fw_fifo_addr) {

fw_fifo_addr is an array in rtw_chip_info so it is always
nonzero. A better check is if the first element of the array is
nonzero. In the cases where fw_fifo_addr is initialized by rtw88b
and rtw88c, the first array element is 0x780.

Signed-off-by: Tom Rix <[email protected]>
---
drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
index 042015bc8055..b2fd87834f23 100644
--- a/drivers/net/wireless/realtek/rtw88/fw.c
+++ b/drivers/net/wireless/realtek/rtw88/fw.c
@@ -1482,7 +1482,7 @@ static bool rtw_fw_dump_check_size(struct rtw_dev *rtwdev,
int rtw_fw_dump_fifo(struct rtw_dev *rtwdev, u8 fifo_sel, u32 addr, u32 size,
u32 *buffer)
{
- if (!rtwdev->chip->fw_fifo_addr) {
+ if (!rtwdev->chip->fw_fifo_addr[0]) {
rtw_dbg(rtwdev, RTW_DBG_FW, "chip not support dump fw fifo\n");
return -ENOTSUPP;
}
--
2.18.1


2020-10-12 02:31:49

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] rtw88: fix fw_fifo_addr check

On Sun, Oct 11, 2020 at 08:54:38AM -0700, [email protected] wrote:
> From: Tom Rix <[email protected]>
>
> The clang build reports this warning
>
> fw.c:1485:21: warning: address of array 'rtwdev->chip->fw_fifo_addr'
> will always evaluate to 'true'
> if (!rtwdev->chip->fw_fifo_addr) {
>
> fw_fifo_addr is an array in rtw_chip_info so it is always
> nonzero. A better check is if the first element of the array is
> nonzero. In the cases where fw_fifo_addr is initialized by rtw88b
> and rtw88c, the first array element is 0x780.
>
> Signed-off-by: Tom Rix <[email protected]>

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
> index 042015bc8055..b2fd87834f23 100644
> --- a/drivers/net/wireless/realtek/rtw88/fw.c
> +++ b/drivers/net/wireless/realtek/rtw88/fw.c
> @@ -1482,7 +1482,7 @@ static bool rtw_fw_dump_check_size(struct rtw_dev *rtwdev,
> int rtw_fw_dump_fifo(struct rtw_dev *rtwdev, u8 fifo_sel, u32 addr, u32 size,
> u32 *buffer)
> {
> - if (!rtwdev->chip->fw_fifo_addr) {
> + if (!rtwdev->chip->fw_fifo_addr[0]) {
> rtw_dbg(rtwdev, RTW_DBG_FW, "chip not support dump fw fifo\n");
> return -ENOTSUPP;
> }
> --
> 2.18.1
>

2020-10-14 08:25:44

by Andy Huang

[permalink] [raw]
Subject: RE: [PATCH] rtw88: fix fw_fifo_addr check


> On Sun, Oct 11, 2020 at 08:54:38AM -0700, [email protected] wrote:
> > From: Tom Rix <[email protected]>
> >
> > The clang build reports this warning
> >
> > fw.c:1485:21: warning: address of array 'rtwdev->chip->fw_fifo_addr'
> > will always evaluate to 'true'
> > if (!rtwdev->chip->fw_fifo_addr) {
> >
> > fw_fifo_addr is an array in rtw_chip_info so it is always nonzero. A
> > better check is if the first element of the array is nonzero. In the
> > cases where fw_fifo_addr is initialized by rtw88b and rtw88c, the
> > first array element is 0x780.
> >
> > Signed-off-by: Tom Rix <[email protected]>
>
> Reviewed-by: Nathan Chancellor <[email protected]>
>

Thanks for your fix,

Acked-by: Tzu-En Huang <[email protected]>

> > ---
> > drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/wireless/realtek/rtw88/fw.c
> > b/drivers/net/wireless/realtek/rtw88/fw.c
> > index 042015bc8055..b2fd87834f23 100644
> > --- a/drivers/net/wireless/realtek/rtw88/fw.c
> > +++ b/drivers/net/wireless/realtek/rtw88/fw.c
> > @@ -1482,7 +1482,7 @@ static bool rtw_fw_dump_check_size(struct
> > rtw_dev *rtwdev, int rtw_fw_dump_fifo(struct rtw_dev *rtwdev, u8
> fifo_sel, u32 addr, u32 size,
> > u32 *buffer)
> > {
> > - if (!rtwdev->chip->fw_fifo_addr) {
> > + if (!rtwdev->chip->fw_fifo_addr[0]) {
> > rtw_dbg(rtwdev, RTW_DBG_FW, "chip not support dump fw fifo\n");
> > return -ENOTSUPP;
> > }
> > --
> > 2.18.1
> >
>
> ------Please consider the environment before printing this e-mail.

2020-11-02 18:18:52

by Kalle Valo

[permalink] [raw]
Subject: Re: rtw88: fix fw_fifo_addr check

[email protected] wrote:

> From: Tom Rix <[email protected]>
>
> The clang build reports this warning
>
> fw.c:1485:21: warning: address of array 'rtwdev->chip->fw_fifo_addr'
> will always evaluate to 'true'
> if (!rtwdev->chip->fw_fifo_addr) {
>
> fw_fifo_addr is an array in rtw_chip_info so it is always
> nonzero. A better check is if the first element of the array is
> nonzero. In the cases where fw_fifo_addr is initialized by rtw88b
> and rtw88c, the first array element is 0x780.
>
> Fixes: 0fbc2f0f34cc ("rtw88: add dump firmware fifo support")
> Signed-off-by: Tom Rix <[email protected]>
> Reviewed-by: Nathan Chancellor <[email protected]>
> Acked-by: Tzu-En Huang <[email protected]>

Patch applied to wireless-drivers.git, thanks.

ddcd945e556e rtw88: fix fw_fifo_addr check

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches