Re: [PATCH] usb: renesas_usbhs: avoid uninitialized variable use

2015-05-24 Thread Simon Horman
On Fri, May 22, 2015 at 11:33:57AM +, Yoshihiro Shimoda wrote:
 Hi Arnd,
 
  Sent: Friday, May 22, 2015 8:07 PM
  
  After the renesas_usbhs driver is enabled in ARM multi_v7_defconfig,
  we now get a new warning:
  
  renesas_usbhs/mod.c: In function 'usbhs_interrupt':
  renesas_usbhs/mod.c:246:7: warning: 'intenb1' may be used uninitialized in 
  this function [-Wmaybe-uninitialized]
  
  gcc correctly points to a problem here, for the case that the
  device is in host mode, we use the intenb1 variable without
  having assigned it first. The state-intsts1 has a similar
  problem, but gcc cannot know that.
  
  This avoids the problem by initializing both sides of the
  comparison to zero when we don't read them from the respective
  registers.
  
  Signed-off-by: Arnd Bergmann a...@arndb.de
  Fixes: 88a25e02f3 (usb: renesas_usbhs: Add access control for INTSTS1 and 
  INTENB1 register)
 
 Thank you very much for the patch!
 
 Acked-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
 
 (I'm not sure why a toolchain I used (Linaro GCC 2014.11) doesn't show this 
 warning...)
 
 Best regards,
 Yoshihiro Shimoda

Reviewed-by: Simon Horman horms+rene...@verge.net.au

 
  diff --git a/drivers/usb/renesas_usbhs/mod.c 
  b/drivers/usb/renesas_usbhs/mod.c
  index e5ce6e6d4f51..d4be5d594896 100644
  --- a/drivers/usb/renesas_usbhs/mod.c
  +++ b/drivers/usb/renesas_usbhs/mod.c
  @@ -223,6 +223,8 @@ static int usbhs_status_get_each_irq(struct usbhs_priv 
  *priv,
  if (usbhs_mod_is_host(priv)) {
  state-intsts1 = usbhs_read(priv, INTSTS1);
  intenb1 = usbhs_read(priv, INTENB1);
  +   } else {
  +   state-intsts1 = intenb1 = 0;
  }
  
  /* mask */
  
  --
  To unsubscribe from this list: send the line unsubscribe linux-usb in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: renesas_usbhs: avoid uninitialized variable use

2015-05-22 Thread Arnd Bergmann
After the renesas_usbhs driver is enabled in ARM multi_v7_defconfig,
we now get a new warning:

renesas_usbhs/mod.c: In function 'usbhs_interrupt':
renesas_usbhs/mod.c:246:7: warning: 'intenb1' may be used uninitialized in this 
function [-Wmaybe-uninitialized]

gcc correctly points to a problem here, for the case that the
device is in host mode, we use the intenb1 variable without
having assigned it first. The state-intsts1 has a similar
problem, but gcc cannot know that.

This avoids the problem by initializing both sides of the
comparison to zero when we don't read them from the respective
registers.

Signed-off-by: Arnd Bergmann a...@arndb.de
Fixes: 88a25e02f3 (usb: renesas_usbhs: Add access control for INTSTS1 and 
INTENB1 register)

diff --git a/drivers/usb/renesas_usbhs/mod.c b/drivers/usb/renesas_usbhs/mod.c
index e5ce6e6d4f51..d4be5d594896 100644
--- a/drivers/usb/renesas_usbhs/mod.c
+++ b/drivers/usb/renesas_usbhs/mod.c
@@ -223,6 +223,8 @@ static int usbhs_status_get_each_irq(struct usbhs_priv 
*priv,
if (usbhs_mod_is_host(priv)) {
state-intsts1 = usbhs_read(priv, INTSTS1);
intenb1 = usbhs_read(priv, INTENB1);
+   } else {
+   state-intsts1 = intenb1 = 0;
}
 
/* mask */

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] usb: renesas_usbhs: avoid uninitialized variable use

2015-05-22 Thread Yoshihiro Shimoda
Hi Arnd,

 Sent: Friday, May 22, 2015 8:07 PM
 
 After the renesas_usbhs driver is enabled in ARM multi_v7_defconfig,
 we now get a new warning:
 
 renesas_usbhs/mod.c: In function 'usbhs_interrupt':
 renesas_usbhs/mod.c:246:7: warning: 'intenb1' may be used uninitialized in 
 this function [-Wmaybe-uninitialized]
 
 gcc correctly points to a problem here, for the case that the
 device is in host mode, we use the intenb1 variable without
 having assigned it first. The state-intsts1 has a similar
 problem, but gcc cannot know that.
 
 This avoids the problem by initializing both sides of the
 comparison to zero when we don't read them from the respective
 registers.
 
 Signed-off-by: Arnd Bergmann a...@arndb.de
 Fixes: 88a25e02f3 (usb: renesas_usbhs: Add access control for INTSTS1 and 
 INTENB1 register)

Thank you very much for the patch!

Acked-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com

(I'm not sure why a toolchain I used (Linaro GCC 2014.11) doesn't show this 
warning...)

Best regards,
Yoshihiro Shimoda

 diff --git a/drivers/usb/renesas_usbhs/mod.c b/drivers/usb/renesas_usbhs/mod.c
 index e5ce6e6d4f51..d4be5d594896 100644
 --- a/drivers/usb/renesas_usbhs/mod.c
 +++ b/drivers/usb/renesas_usbhs/mod.c
 @@ -223,6 +223,8 @@ static int usbhs_status_get_each_irq(struct usbhs_priv 
 *priv,
   if (usbhs_mod_is_host(priv)) {
   state-intsts1 = usbhs_read(priv, INTSTS1);
   intenb1 = usbhs_read(priv, INTENB1);
 + } else {
 + state-intsts1 = intenb1 = 0;
   }
 
   /* mask */
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-usb in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html