hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/usb/gadget/legacy/raw_gadget.c
....@@ -309,13 +309,15 @@
309309 dev->eps_num = i;
310310 spin_unlock_irqrestore(&dev->lock, flags);
311311
312
+ ret = raw_queue_event(dev, USB_RAW_EVENT_CONNECT, 0, NULL);
313
+ if (ret < 0) {
314
+ dev_err(&gadget->dev, "failed to queue event\n");
315
+ set_gadget_data(gadget, NULL);
316
+ return ret;
317
+ }
318
+
312319 /* Matches kref_put() in gadget_unbind(). */
313320 kref_get(&dev->count);
314
-
315
- ret = raw_queue_event(dev, USB_RAW_EVENT_CONNECT, 0, NULL);
316
- if (ret < 0)
317
- dev_err(&gadget->dev, "failed to queue event\n");
318
-
319321 return ret;
320322 }
321323