Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1684946 > unrolled thread
| Started by | Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> |
|---|---|
| First post | 2017-07-11 12:30 +0200 |
| Last post | 2017-07-18 05:30 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] usb: dwc2: gadget: On USB RESET reset device address to zero Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> - 2017-07-11 12:30 +0200
Re: [PATCH] usb: dwc2: gadget: On USB RESET reset device address to zero John Youn <John.Youn@synopsys.com> - 2017-07-18 05:30 +0200
| From | Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> |
|---|---|
| Date | 2017-07-11 12:30 +0200 |
| Subject | [PATCH] usb: dwc2: gadget: On USB RESET reset device address to zero |
| Message-ID | <u20Ay-11v-9@gated-at.bofh.it> |
Reseted DEVADDR field in DCFG to zero on USB RESET. Device address in DCFG register does not reset to zero, which required to pass enumeration, after disconnect and reconnect. Signed-off-by: Minas Harutyunyan <hminas@synopsys.com> --- drivers/usb/dwc2/gadget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 98a4a79e7f6e..c5c0a26a4d66 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -3561,6 +3561,9 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw) /* Report disconnection if it is not already done. */ dwc2_hsotg_disconnect(hsotg); + /* Reset device address to zero */ + __bic32(hsotg->regs + DCFG, DCFG_DEVADDR_MASK); + if (usb_status & GOTGCTL_BSESVLD && connected) dwc2_hsotg_core_init_disconnected(hsotg, true); } -- 2.11.0
[toc] | [next] | [standalone]
| From | John Youn <John.Youn@synopsys.com> |
|---|---|
| Date | 2017-07-18 05:30 +0200 |
| Subject | Re: [PATCH] usb: dwc2: gadget: On USB RESET reset device address to zero |
| Message-ID | <u4rmW-5vl-23@gated-at.bofh.it> |
| In reply to | #1684946 |
On 07/11/2017 03:25 AM, Minas Harutyunyan wrote: > Reseted DEVADDR field in DCFG to zero on USB RESET. > > Device address in DCFG register does not reset to zero, > which required to pass enumeration, after disconnect and > reconnect. > > Signed-off-by: Minas Harutyunyan <hminas@synopsys.com> > --- > drivers/usb/dwc2/gadget.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c > index 98a4a79e7f6e..c5c0a26a4d66 100644 > --- a/drivers/usb/dwc2/gadget.c > +++ b/drivers/usb/dwc2/gadget.c > @@ -3561,6 +3561,9 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw) > /* Report disconnection if it is not already done. */ > dwc2_hsotg_disconnect(hsotg); > > + /* Reset device address to zero */ > + __bic32(hsotg->regs + DCFG, DCFG_DEVADDR_MASK); > + > if (usb_status & GOTGCTL_BSESVLD && connected) > dwc2_hsotg_core_init_disconnected(hsotg, true); > } > Acked-by: John Youn <johnyoun@synopsys.com> John
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web