File tree 1 file changed +3
-4
lines changed
1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -1636,23 +1636,22 @@ static int ci_udc_start(struct usb_gadget *gadget,
1636
1636
retval = usb_ep_enable (& ci -> ep0in -> ep );
1637
1637
if (retval )
1638
1638
return retval ;
1639
- spin_lock_irqsave (& ci -> lock , flags );
1640
1639
1641
1640
ci -> driver = driver ;
1642
1641
pm_runtime_get_sync (& ci -> gadget .dev );
1643
1642
if (ci -> vbus_active ) {
1643
+ spin_lock_irqsave (& ci -> lock , flags );
1644
1644
hw_device_reset (ci , USBMODE_CM_DC );
1645
1645
} else {
1646
1646
pm_runtime_put_sync (& ci -> gadget .dev );
1647
- goto done ;
1647
+ return retval ;
1648
1648
}
1649
1649
1650
1650
retval = hw_device_state (ci , ci -> ep0out -> qh .dma );
1651
+ spin_unlock_irqrestore (& ci -> lock , flags );
1651
1652
if (retval )
1652
1653
pm_runtime_put_sync (& ci -> gadget .dev );
1653
1654
1654
- done :
1655
- spin_unlock_irqrestore (& ci -> lock , flags );
1656
1655
return retval ;
1657
1656
}
1658
1657
You can’t perform that action at this time.
0 commit comments