Message ID | 20230709133154.26206-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 9373771aaed17f5c2c38485f785568abe3a9f8c1 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] wifi: airo: avoid uninitialized warning in airo_get_rate() | expand |
On Sun, Jul 09, 2023 at 06:31:54AM -0700, Randy Dunlap wrote: > Quieten a gcc (11.3.0) build error or warning by checking the function > call status and returning -EBUSY if the function call failed. > This is similar to what several other wireless drivers do for the > SIOCGIWRATE ioctl call when there is a locking problem. > > drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized] Hi Randy, There seem to be other calls to readStatusRid() in the same file with similar properties. Perhaps it would be best to fix them too? > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> > Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org > Cc: Kalle Valo <kvalo@kernel.org> > Cc: linux-wireless@vger.kernel.org > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: Paolo Abeni <pabeni@redhat.com> > Cc: netdev@vger.kernel.org > --- > drivers/net/wireless/cisco/airo.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c > --- a/drivers/net/wireless/cisco/airo.c > +++ b/drivers/net/wireless/cisco/airo.c > @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi > struct iw_param *vwrq = &wrqu->bitrate; > struct airo_info *local = dev->ml_priv; > StatusRid status_rid; /* Card status info */ > + int ret; > > - readStatusRid(local, &status_rid, 1); > + ret = readStatusRid(local, &status_rid, 1); > + if (ret) > + return -EBUSY; > > vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000; > /* If more than one rate, set auto */ >
Hi Simon, On 7/11/23 10:25, Simon Horman wrote: > On Sun, Jul 09, 2023 at 06:31:54AM -0700, Randy Dunlap wrote: >> Quieten a gcc (11.3.0) build error or warning by checking the function >> call status and returning -EBUSY if the function call failed. >> This is similar to what several other wireless drivers do for the >> SIOCGIWRATE ioctl call when there is a locking problem. >> >> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized] > > Hi Randy, > > There seem to be other calls to readStatusRid() in the same file > with similar properties. Perhaps it would be best to fix them too? > Yes, there are 40+ calls that could have problems. Please see this thread: https://lore.kernel.org/all/2f6ffd1c-a756-b7b8-bba4-77c2308f26b9@infradead.org/ This is an attempt to shut up the build error/warning, which only occurs after this one function call. For such an old driver/hardware, I don't plan to do massive surgery to it. >> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> >> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org >> Cc: Kalle Valo <kvalo@kernel.org> >> Cc: linux-wireless@vger.kernel.org >> Cc: "David S. Miller" <davem@davemloft.net> >> Cc: Eric Dumazet <edumazet@google.com> >> Cc: Jakub Kicinski <kuba@kernel.org> >> Cc: Paolo Abeni <pabeni@redhat.com> >> Cc: netdev@vger.kernel.org >> --- >> drivers/net/wireless/cisco/airo.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c >> --- a/drivers/net/wireless/cisco/airo.c >> +++ b/drivers/net/wireless/cisco/airo.c >> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi >> struct iw_param *vwrq = &wrqu->bitrate; >> struct airo_info *local = dev->ml_priv; >> StatusRid status_rid; /* Card status info */ >> + int ret; >> >> - readStatusRid(local, &status_rid, 1); >> + ret = readStatusRid(local, &status_rid, 1); >> + if (ret) >> + return -EBUSY; >> >> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000; >> /* If more than one rate, set auto */ >>
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Sun, 9 Jul 2023 06:31:54 -0700 you wrote: > Quieten a gcc (11.3.0) build error or warning by checking the function > call status and returning -EBUSY if the function call failed. > This is similar to what several other wireless drivers do for the > SIOCGIWRATE ioctl call when there is a locking problem. > > drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized] > > [...] Here is the summary with links: - [net] wifi: airo: avoid uninitialized warning in airo_get_rate() https://git.kernel.org/netdev/net/c/9373771aaed1 You are awesome, thank you!
On Tue, Jul 11, 2023 at 02:07:57PM -0700, Randy Dunlap wrote: > Hi Simon, > > On 7/11/23 10:25, Simon Horman wrote: > > On Sun, Jul 09, 2023 at 06:31:54AM -0700, Randy Dunlap wrote: > >> Quieten a gcc (11.3.0) build error or warning by checking the function > >> call status and returning -EBUSY if the function call failed. > >> This is similar to what several other wireless drivers do for the > >> SIOCGIWRATE ioctl call when there is a locking problem. > >> > >> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized] > > > > Hi Randy, > > > > There seem to be other calls to readStatusRid() in the same file > > with similar properties. Perhaps it would be best to fix them too? > > > > Yes, there are 40+ calls that could have problems. > Please see this thread: > https://lore.kernel.org/all/2f6ffd1c-a756-b7b8-bba4-77c2308f26b9@infradead.org/ > > This is an attempt to shut up the build error/warning, which only occurs after > this one function call. > > For such an old driver/hardware, I don't plan to do massive surgery > to it. Thanks Randy, given the circumstances I agree this is a reasonable approach. Reviewed-by: Simon Horman <simon.horman@corigine.com>
diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c --- a/drivers/net/wireless/cisco/airo.c +++ b/drivers/net/wireless/cisco/airo.c @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi struct iw_param *vwrq = &wrqu->bitrate; struct airo_info *local = dev->ml_priv; StatusRid status_rid; /* Card status info */ + int ret; - readStatusRid(local, &status_rid, 1); + ret = readStatusRid(local, &status_rid, 1); + if (ret) + return -EBUSY; vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000; /* If more than one rate, set auto */
Quieten a gcc (11.3.0) build error or warning by checking the function call status and returning -EBUSY if the function call failed. This is similar to what several other wireless drivers do for the SIOCGIWRATE ioctl call when there is a locking problem. drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized] Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org Cc: Kalle Valo <kvalo@kernel.org> Cc: linux-wireless@vger.kernel.org Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Paolo Abeni <pabeni@redhat.com> Cc: netdev@vger.kernel.org --- drivers/net/wireless/cisco/airo.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)