Hi, On Fri, Feb 10, 2012 at 10:12:25AM +0100, Lukasz Majewski wrote: > The USB Disconnect Interrupt handler, according to specification, > is only working at HOST mode. > > Samsung SoCs (e.g. Exynos4) are working at device mode, so > this interrupt is never caught. > > Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > --- > drivers/usb/gadget/s3c-hsotg.c | 12 ++---------- > 1 files changed, 2 insertions(+), 10 deletions(-) > > diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c > index 6543bb5..db3af37 100644 > --- a/drivers/usb/gadget/s3c-hsotg.c > +++ b/drivers/usb/gadget/s3c-hsotg.c > @@ -2230,12 +2230,11 @@ static void s3c_hsotg_core_init(struct s3c_hsotg *hsotg) > /* Clear any pending interrupts */ > writel(0xffffffff, hsotg->regs + S3C_GINTSTS); > > - writel(S3C_GINTSTS_DisconnInt | S3C_GINTSTS_SessReqInt | > + writel(S3C_GINTSTS_ErlySusp | S3C_GINTSTS_SessReqInt | > S3C_GINTSTS_ConIDStsChng | S3C_GINTSTS_USBRst | > S3C_GINTSTS_EnumDone | S3C_GINTSTS_OTGInt | > S3C_GINTSTS_USBSusp | S3C_GINTSTS_WkUpInt | > - S3C_GINTSTS_GOUTNakEff | S3C_GINTSTS_GINNakEff | > - S3C_GINTSTS_ErlySusp, > + S3C_GINTSTS_GOUTNakEff | S3C_GINTSTS_GINNakEff, this too, should you do runtime detection ? If this is indeed a synopsys dwc usb2 core, there might be some read-only registers where you can check if device-only, host-only or OTG modes are enabled. BTW, you have a OTG core, at least judging by the filename. -- balbi
Attachment:
signature.asc
Description: Digital signature