Hi Felipe ping ? > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > Current usbhs_for_each_dfifo 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 is based on > 925403f425a4a9c503f2fc295652647b1eb10d82 > (usb: renesas_usbhs: tidyup original usbhsx_for_each_xxx macro) > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > --- > >> Felip > > eoriginal patch was posted in > > Subject: [PATCH][RFC] usb: renesas_usbhs: tidyup usbhs_for_each_dfifo macro > Date: Fri, 3 Apr 2015 00:42:53 +0000 > > This is non RFC version > > drivers/usb/renesas_usbhs/fifo.h | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/renesas_usbhs/fifo.h b/drivers/usb/renesas_usbhs/fifo.h > index 04d3f8a..c7d9b86 100644 > --- a/drivers/usb/renesas_usbhs/fifo.h > +++ b/drivers/usb/renesas_usbhs/fifo.h > @@ -44,10 +44,11 @@ struct usbhs_fifo_info { > struct usbhs_fifo dfifo[USBHS_MAX_NUM_DFIFO]; > }; > #define usbhsf_get_dnfifo(p, n) (&((p)->fifo_info.dfifo[n])) > -#define usbhs_for_each_dfifo(priv, dfifo, i) \ > - for ((i) = 0, dfifo = usbhsf_get_dnfifo(priv, (i)); \ > - ((i) < USBHS_MAX_NUM_DFIFO); \ > - (i)++, dfifo = usbhsf_get_dnfifo(priv, (i))) > +#define usbhs_for_each_dfifo(priv, dfifo, i) \ > + for ((i) = 0; \ > + ((i) < USBHS_MAX_NUM_DFIFO) && \ > + ((dfifo) = usbhsf_get_dnfifo(priv, (i))); \ > + (i)++) > > struct usbhs_pkt_handle; > struct usbhs_pkt { > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html