diff mbox series

rtw88: fix fw_fifo_addr check

Message ID 20201011155438.15892-1-trix@redhat.com
State New
Headers show
Series rtw88: fix fw_fifo_addr check | expand

Commit Message

Tom Rix Oct. 11, 2020, 3:54 p.m. UTC
From: Tom Rix <trix@redhat.com>

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 <trix@redhat.com>
---
 drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nathan Chancellor Oct. 12, 2020, 2:24 a.m. UTC | #1
On Sun, Oct 11, 2020 at 08:54:38AM -0700, trix@redhat.com wrote:
> From: Tom Rix <trix@redhat.com>

> 

> 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 <trix@redhat.com>


Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>


> ---

>  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

>
Andy Huang Oct. 14, 2020, 2:21 a.m. UTC | #2
> On Sun, Oct 11, 2020 at 08:54:38AM -0700, trix@redhat.com wrote:

> > From: Tom Rix <trix@redhat.com>

> >

> > 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 <trix@redhat.com>

> 

> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>

> 


Thanks for your fix,

Acked-by: Tzu-En Huang <tehuang@realtek.com>


> > ---

> >  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.
Kalle Valo Nov. 2, 2020, 6:16 p.m. UTC | #3
trix@redhat.com wrote:

> From: Tom Rix <trix@redhat.com>

> 

> 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 <trix@redhat.com>

> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>

> Acked-by: Tzu-En Huang <tehuang@realtek.com>


Patch applied to wireless-drivers.git, thanks.

ddcd945e556e rtw88: fix fw_fifo_addr check

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20201011155438.15892-1-trix@redhat.com/

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

Patch

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;
 	}