On Thu, Oct 21, 2021 at 04:43:58PM +0800, Cai Huoqing wrote: > Repalce kthread_create/wake_up_process() with kthread_run() > to simplify the code. > > Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx> > --- > drivers/usb/gadget/function/f_mass_storage.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c > index 3cabf7692ee1..1e3cab5d635c 100644 > --- a/drivers/usb/gadget/function/f_mass_storage.c > +++ b/drivers/usb/gadget/function/f_mass_storage.c > @@ -2962,7 +2962,7 @@ static int fsg_bind(struct usb_configuration *c, struct usb_function *f) > if (!common->thread_task) { > common->state = FSG_STATE_NORMAL; > common->thread_task = > - kthread_create(fsg_main_thread, common, "file-storage"); > + kthread_run(fsg_main_thread, common, "file-storage"); > if (IS_ERR(common->thread_task)) { > ret = PTR_ERR(common->thread_task); > common->thread_task = NULL; > @@ -2971,7 +2971,6 @@ static int fsg_bind(struct usb_configuration *c, struct usb_function *f) > } > DBG(common, "I/O thread pid: %d\n", > task_pid_nr(common->thread_task)); > - wake_up_process(common->thread_task); > } We better not apply this patch for the same reason as the other one: It's probably not a good idea for the fsg_main_thread task to start running before common->thread_task has been assigned. Alan Stern