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
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
>
> 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.
[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