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

Changeset 7d5287db in mainline


Ignore:
Timestamp:
2018-01-25T18:55:18Z (4 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial
Children:
e454d9c
Parents:
d08aa42d
git-author:
Ondřej Hlavatý <aearsis@…> (2018-01-25 18:55:01)
git-committer:
Ondřej Hlavatý <aearsis@…> (2018-01-25 18:55:18)
Message:

xhci: fix forgotten transfer when EP 0 is gone

File:
1 edited

Legend:

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

    rd08aa42d r7d5287db  
    468468                                 * possible that we have to clear all of them.
    469469                                 */
    470                                 xhci_endpoint_clear_halt(xhci_endpoint_get(halted_ep), 0);
     470                                const int err = xhci_endpoint_clear_halt(xhci_endpoint_get(halted_ep), 0);
    471471                                endpoint_del_ref(halted_ep);
     472                                if (err) {
     473                                        /*
     474                                         * The endpoint halt condition failed to be cleared in HC.
     475                                         * As it does not make sense to send the reset to the device
     476                                         * itself, return as unschedulable answer.
     477                                         *
     478                                         * Furthermore, if this is a request to clear EP 0 stall, it
     479                                         * would be gone forever, as the endpoint is halted.
     480                                         */
     481                                        return err;
     482                                }
    472483                        } else {
    473484                                usb_log_warning("Device(%u): Resetting unregistered endpoint"
Note: See TracChangeset for help on using the changeset viewer.