On Thu, Apr 24 2014, Andrzej Pietrasiewicz wrote: > In order for usb functions to expose OS descriptors they > need to be made aware of OS descriptors. This involves > extending the "options" structure and setting up > appropriate associations. > > Signed-off-by: Andrzej Pietrasiewicz <[email protected]> > --- > drivers/usb/gadget/f_rndis.c | 24 +++++++++++++++++++++--- > drivers/usb/gadget/u_rndis.h | 3 +++ > 2 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c > index c11761c..b781a59 100644 > --- a/drivers/usb/gadget/f_rndis.c > +++ b/drivers/usb/gadget/f_rndis.c > @@ -682,6 +682,15 @@ rndis_bind(struct usb_configuration *c, struct > usb_function *f) > > rndis_opts = container_of(f->fi, struct f_rndis_opts, func_inst); > > + if (cdev->use_os_string) { > + f->os_desc_table = kcalloc(1, sizeof(*f->os_desc_table), > + GFP_KERNEL);
Uh? It's a bit strange to always allocate 1 element table. Perhaps
just use kzalloc?
> + if (!f->os_desc_table)
> + return PTR_ERR(f->os_desc_table);
return -ENOMEM;
> + f->os_desc_n = 1;
> + f->os_desc_table[0].os_desc = &rndis_opts->rndis_os_desc;
> + }
> +
> /*
> * in drivers/usb/gadget/configfs.c:configfs_composite_bind()
> * configurations are bound in sequence with list_for_each_entry,
--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michał “mina86” Nazarewicz (o o)
ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo--
signature.asc
Description: PGP signature
