Page MenuHomeFreeBSD

D5881.id40633.diff
No OneTemporary

D5881.id40633.diff

Index: head/sys/dev/usb/controller/musb_otg.c
===================================================================
--- head/sys/dev/usb/controller/musb_otg.c
+++ head/sys/dev/usb/controller/musb_otg.c
@@ -3168,19 +3168,24 @@
MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0);
- /* read out number of endpoints */
+ if (sc->sc_ep_max == 0) {
+ /* read out number of endpoints */
- nrx =
- (MUSB2_READ_1(sc, MUSB2_REG_EPINFO) / 16);
+ nrx =
+ (MUSB2_READ_1(sc, MUSB2_REG_EPINFO) / 16);
- ntx =
- (MUSB2_READ_1(sc, MUSB2_REG_EPINFO) % 16);
+ ntx =
+ (MUSB2_READ_1(sc, MUSB2_REG_EPINFO) % 16);
+ sc->sc_ep_max = (nrx > ntx) ? nrx : ntx;
+ } else {
+ nrx = ntx = sc->sc_ep_max;
+ }
+
/* these numbers exclude the control endpoint */
DPRINTFN(2, "RX/TX endpoints: %u/%u\n", nrx, ntx);
- sc->sc_ep_max = (nrx > ntx) ? nrx : ntx;
if (sc->sc_ep_max == 0) {
DPRINTFN(2, "ERROR: Looks like the clocks are off!\n");
}

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 23, 6:30 AM (11 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28952237
Default Alt Text
D5881.id40633.diff (945 B)

Event Timeline