usb: renesas_usbhs: tidyup original usbhsx_for_each_xxx macro
Current usbhsx_for_each_xxx macro will read out-of-array's memory after last loop operation. It was not good C language operation, and the binary which was compiled by (at least) gcc 4.8.1 is broken This patch tidyup these issues Reported-by: Yusuke Goda <yusuke.goda.sx@renesas.com> Reviewed-by: Takashi Yoshii <takashi.yoshii.zj@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:

committed by
Felipe Balbi

parent
519c6013d3
commit
925403f425
@@ -111,9 +111,9 @@ static const char usbhsh_hcd_name[] = "renesas_usbhs host";
|
||||
container_of(usbhs_mod_get(priv, USBHS_HOST), struct usbhsh_hpriv, mod)
|
||||
|
||||
#define __usbhsh_for_each_udev(start, pos, h, i) \
|
||||
for (i = start, pos = (h)->udev + i; \
|
||||
i < USBHSH_DEVICE_MAX; \
|
||||
i++, pos = (h)->udev + i)
|
||||
for ((i) = start; \
|
||||
((i) < USBHSH_DEVICE_MAX) && ((pos) = (h)->udev + (i)); \
|
||||
(i)++)
|
||||
|
||||
#define usbhsh_for_each_udev(pos, hpriv, i) \
|
||||
__usbhsh_for_each_udev(1, pos, hpriv, i)
|
||||
|
Reference in New Issue
Block a user