2011-11-21 21:45:36

by John W. Linville

[permalink] [raw]
Subject: [PATCH] rtlwifi: squash warning in _usb_read_sync

drivers/net/wireless/rtlwifi/usb.c: In function ‘_usb_read_sync’:
drivers/net/wireless/rtlwifi/usb.c:102:6: warning: ‘status’ may be used uninitialized in this function
drivers/net/wireless/rtlwifi/usb.c:102:6: note: ‘status’ was declared here

My compiler is dumb, but better to eliminate the warning then to have
anyone waste time evaluating this again...

Signed-off-by: John W. Linville <[email protected]>
---
drivers/net/wireless/rtlwifi/usb.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c
index 79889b8..20f4403 100644
--- a/drivers/net/wireless/rtlwifi/usb.c
+++ b/drivers/net/wireless/rtlwifi/usb.c
@@ -107,7 +107,7 @@ static int _usbctrl_vendorreq_sync_read(struct usb_device *udev, u8 request,
pipe = usb_rcvctrlpipe(udev, 0); /* read_in */
reqtype = REALTEK_USB_VENQT_READ;

- while (++vendorreq_times <= MAX_USBCTRL_VENDORREQ_TIMES) {
+ do {
status = usb_control_msg(udev, pipe, request, reqtype, value,
index, pdata, len, 0); /*max. timeout*/
if (status < 0) {
@@ -118,7 +118,8 @@ static int _usbctrl_vendorreq_sync_read(struct usb_device *udev, u8 request,
} else {
break;
}
- }
+ } while (++vendorreq_times < MAX_USBCTRL_VENDORREQ_TIMES);
+
if (status < 0 && count++ < 4)
pr_err("reg 0x%x, usbctrl_vendorreq TimeOut! status:0x%x value=0x%x\n",
value, status, le32_to_cpu(*(u32 *)pdata));
--
1.7.4.4



2011-11-22 00:06:00

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: squash warning in _usb_read_sync

On 11/21/2011 03:37 PM, John W. Linville wrote:
> drivers/net/wireless/rtlwifi/usb.c: In function ‘_usb_read_sync’:
> drivers/net/wireless/rtlwifi/usb.c:102:6: warning: ‘status’ may be used uninitialized in this function
> drivers/net/wireless/rtlwifi/usb.c:102:6: note: ‘status’ was declared here
>
> My compiler is dumb, but better to eliminate the warning then to have
> anyone waste time evaluating this again...
>
> Signed-off-by: John W. Linville<[email protected]>
> ---
> drivers/net/wireless/rtlwifi/usb.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)

I like this fix a lot better than initializing 'status' to zero.

ACKed-by: Larry Finger <[email protected]>


>
> diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c
> index 79889b8..20f4403 100644
> --- a/drivers/net/wireless/rtlwifi/usb.c
> +++ b/drivers/net/wireless/rtlwifi/usb.c
> @@ -107,7 +107,7 @@ static int _usbctrl_vendorreq_sync_read(struct usb_device *udev, u8 request,
> pipe = usb_rcvctrlpipe(udev, 0); /* read_in */
> reqtype = REALTEK_USB_VENQT_READ;
>
> - while (++vendorreq_times<= MAX_USBCTRL_VENDORREQ_TIMES) {
> + do {
> status = usb_control_msg(udev, pipe, request, reqtype, value,
> index, pdata, len, 0); /*max. timeout*/
> if (status< 0) {
> @@ -118,7 +118,8 @@ static int _usbctrl_vendorreq_sync_read(struct usb_device *udev, u8 request,
> } else {
> break;
> }
> - }
> + } while (++vendorreq_times< MAX_USBCTRL_VENDORREQ_TIMES);
> +
> if (status< 0&& count++< 4)
> pr_err("reg 0x%x, usbctrl_vendorreq TimeOut! status:0x%x value=0x%x\n",
> value, status, le32_to_cpu(*(u32 *)pdata));