Re: f_hid.c conversion to the new function interface and crash due to race

From: Variksla
Date: Wed Aug 09 2017 - 11:11:07 EST




> On Aug 9, 2017, at 2:56 AM, Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> wrote:

Thanks for replying.
>
>
> Hi,
>
> noman pouigt <variksla@xxxxxxxxx> writes:
>> Hello,
>>
>> I am currently using 3.18 linux kernel and getting below
>
> return -EKERNELTOOOLD;
>
> Sorry, you're on your own. You should ask for support from whoever
> forces you to use 3.18 kernel.

I have updated f_hid.c file to latest kernel though as I knew it would be too much to ask to get support for old code.

I am just not sure about how to instantiate the function driver as earlier f_fs was instantiating the hid driver. However, after hid got converted to new function driver who is responsible for calling setup, bind and unbind functions in f_hid.c ?

Below is the glue code in android.c.
drivers/usb/gadget/android.c
static struct android_usb_function hid_function = {
.name = "hid",
.init = hid_function_init,
.cleanup = hid_function_cleanup,
.bind_config = hid_function_bind_config,
.attributes = hid_function_attributes,
};

Is there something similar in new function driver in upstream kernel?
>
> --
> balbi