Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 17f24d9 in mainline


Ignore:
Timestamp:
2017-08-20T14:00:35Z (5 years ago)
Author:
Petr Manek <petr.manek@…>
Branches:
lfn, master, serial
Children:
c33c40e
Parents:
60ac352
Message:

Discovered correct way of determining RH address.

Location:
uspace/drv/bus/usb/xhci
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/hc.c

    r60ac352 r17f24d9  
    369369        /* Check for root hub communication */
    370370        /* FIXME: Zero is a very crude workaround. Detect RH better. */
    371         if (batch->ep->address == 0) {
     371        if (batch->ep->address == xhci_rh_get_address(&hc->rh)) {
    372372                usb_log_debug("XHCI root hub request.\n");
    373373                return xhci_rh_schedule(&hc->rh, batch);
  • uspace/drv/bus/usb/xhci/rh.h

    r60ac352 r17f24d9  
    6565int xhci_rh_interrupt(xhci_rh_t *);
    6666
     67/** Get XHCI rh address.
     68 *
     69 * @param rh XHCI rh instance.
     70 * @return USB address assigned to the hub.
     71 * Wrapper for virtual hub address
     72 */
     73static inline usb_address_t xhci_rh_get_address(xhci_rh_t *rh)
     74{
     75        assert(rh);
     76        /* FIXME: The line end below causes infinite loop. */
     77        return 0; // virthub_base_get_address(&rh->base);
     78}
     79
    6780#endif
    6881
Note: See TracChangeset for help on using the changeset viewer.