mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 14:52:05 +00:00
usb: gadget: bcm63xx_udc: use udc-core's reset notifier
Replace usb_gadget_driver's disconnect with udc-core's reset notifier at bus reset handler. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
5443a7915f
commit
4f6bd9fd4a
@ -1962,7 +1962,7 @@ static irqreturn_t bcm63xx_udc_ctrl_isr(int irq, void *dev_id)
|
||||
{
|
||||
struct bcm63xx_udc *udc = dev_id;
|
||||
u32 stat;
|
||||
bool disconnected = false;
|
||||
bool disconnected = false, bus_reset = false;
|
||||
|
||||
stat = usbd_readl(udc, USBD_EVENT_IRQ_STATUS_REG) &
|
||||
usbd_readl(udc, USBD_EVENT_IRQ_MASK_REG);
|
||||
@ -1990,7 +1990,7 @@ static irqreturn_t bcm63xx_udc_ctrl_isr(int irq, void *dev_id)
|
||||
|
||||
udc->ep0_req_reset = 1;
|
||||
schedule_work(&udc->ep0_wq);
|
||||
disconnected = true;
|
||||
bus_reset = true;
|
||||
}
|
||||
if (stat & BIT(USBD_EVENT_IRQ_SETUP)) {
|
||||
if (bcm63xx_update_link_speed(udc)) {
|
||||
@ -2013,6 +2013,8 @@ static irqreturn_t bcm63xx_udc_ctrl_isr(int irq, void *dev_id)
|
||||
|
||||
if (disconnected && udc->driver)
|
||||
udc->driver->disconnect(&udc->gadget);
|
||||
else if (bus_reset && udc->driver)
|
||||
usb_gadget_udc_reset(&udc->gadget, udc->driver);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user