Re: [PATCH] usb/gadget/fsl_udc_core.c: fix oops on resume

From: Peter Chen
Date: Thu Jan 12 2012 - 20:35:46 EST


On Wed, Jan 11, 2012 at 09:46:17AM +0100, Michael Thalmeier wrote:
> Sometimes the fsl_udc_irq function oopses when waking up from suspend.
What's the situation it will happen? The udc driver will bind with gadget
first, then open the interrupt enable. When unload gadget driver, it will
disable all interrupt bits first, then unbind the gadget driver.
>
> Signed-off-by: Michael Thalmeier <michael.thalmeier@xxxxxxx>
> ---
> drivers/usb/gadget/fsl_udc_core.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
> index d7ea6c0..4070c7a 100644
> --- a/drivers/usb/gadget/fsl_udc_core.c
> +++ b/drivers/usb/gadget/fsl_udc_core.c
> @@ -1749,7 +1749,7 @@ static void suspend_irq(struct fsl_udc *udc)
> udc->usb_state = USB_STATE_SUSPENDED;
>
> /* report suspend to the driver, serial.c does not support this */
> - if (udc->driver->suspend)
> + if (udc->driver && udc->driver->suspend)
> udc->driver->suspend(&udc->gadget);
> }
>
> @@ -1759,7 +1759,7 @@ static void bus_resume(struct fsl_udc *udc)
> udc->resume_state = 0;
>
> /* report resume to the driver, serial.c does not support this */
> - if (udc->driver->resume)
> + if (udc->driver && udc->driver->resume)
> udc->driver->resume(&udc->gadget);
> }
>
> --
> 1.7.7.5
>
>
>
> --
> Scanned by MailScanner.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

--

Best Regards,
Peter Chen

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/