Message ID | 1354174439-5589-5-git-send-email-panto@antoniou-consulting.com |
---|---|
State | Superseded |
Delegated to: | Marek Vasut |
Headers | show |
Hi Pantelis, > Well, not terminating the list causes very interesting crashes. > As in changing the vendor & product ID crashes. Fun. > > Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> > --- > drivers/usb/gadget/g_dnl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c > index 25da733..a5a4c1f 100644 > --- a/drivers/usb/gadget/g_dnl.c > +++ b/drivers/usb/gadget/g_dnl.c > @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = { > static struct usb_string g_dnl_string_defs[] = { > { 0, manufacturer, }, > { 1, product, }, > + { } /* end of list */ Thanks for spotting. > }; > > static struct usb_gadget_strings g_dnl_string_tab = { Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Dear Pantelis Antoniou, > Well, not terminating the list causes very interesting crashes. > As in changing the vendor & product ID crashes. Fun. > > Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> > --- > drivers/usb/gadget/g_dnl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c > index 25da733..a5a4c1f 100644 > --- a/drivers/usb/gadget/g_dnl.c > +++ b/drivers/usb/gadget/g_dnl.c > @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = { > static struct usb_string g_dnl_string_defs[] = { > { 0, manufacturer, }, > { 1, product, }, > + { } /* end of list */ So you're adding an uninited entry here? How'll this work? > }; > > static struct usb_gadget_strings g_dnl_string_tab = { Best regards, Marek Vasut
Hi Marek, On Nov 29, 2012, at 10:20 AM, Marek Vasut wrote: > Dear Pantelis Antoniou, > >> Well, not terminating the list causes very interesting crashes. >> As in changing the vendor & product ID crashes. Fun. >> >> Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> >> --- >> drivers/usb/gadget/g_dnl.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c >> index 25da733..a5a4c1f 100644 >> --- a/drivers/usb/gadget/g_dnl.c >> +++ b/drivers/usb/gadget/g_dnl.c >> @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = { >> static struct usb_string[] = { >> { 0, manufacturer, }, >> { 1, product, }, >> + { } /* end of list */ > > So you're adding an uninited entry here? How'll this work? > This is very common idiom. It's not uninitialized, all the members are set to 0, including the char * members. It is exactly the same method used in drivers/usb/gadget/ether.c >> }; >> >> static struct usb_gadget_strings g_dnl_string_tab = { > > Best regards, > Marek Vasut Regards -- Pantelis
Dear Pantelis Antoniou, > Hi Marek, > > On Nov 29, 2012, at 10:20 AM, Marek Vasut wrote: > > Dear Pantelis Antoniou, > > > >> Well, not terminating the list causes very interesting crashes. > >> As in changing the vendor & product ID crashes. Fun. > >> > >> Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> > >> --- > >> drivers/usb/gadget/g_dnl.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c > >> index 25da733..a5a4c1f 100644 > >> --- a/drivers/usb/gadget/g_dnl.c > >> +++ b/drivers/usb/gadget/g_dnl.c > >> @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = { > >> static struct usb_string[] = { > >> > >> { 0, manufacturer, }, > >> { 1, product, }, > >> > >> + { } /* end of list */ > > > > So you're adding an uninited entry here? How'll this work? > > This is very common idiom. It's not uninitialized, all the members are > set to 0, including the char * members. > > It is exactly the same method used in drivers/usb/gadget/ether.c Blah, it's a matter of taste then (I prefer it explicit, but I don't really care). Thanks for clearing this up. Best regards, Marek Vasut
diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 25da733..a5a4c1f 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = { static struct usb_string g_dnl_string_defs[] = { { 0, manufacturer, }, { 1, product, }, + { } /* end of list */ }; static struct usb_gadget_strings g_dnl_string_tab = {
Well, not terminating the list causes very interesting crashes. As in changing the vendor & product ID crashes. Fun. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> --- drivers/usb/gadget/g_dnl.c | 1 + 1 file changed, 1 insertion(+)