sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget./translations/zh_CN/driver-api/usb/error-codesmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/driver-api/usb/error-codesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/driver-api/usb/error-codesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/driver-api/usb/error-codesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/driver-api/usb/error-codesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/driver-api/usb/error-codesmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhtarget)}(h.. _usb-error-codes:h]h}(h]h ]h"]h$]h&]refidusb-error-codesuh1hhKhhhhhH/var/lib/git/docbuild/linux/Documentation/driver-api/usb/error-codes.rstubhsection)}(hhh](htitle)}(hUSB Error codesh]hUSB Error codes}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hRevisedh]hRevised}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h 2004-Oct-21 h]h paragraph)}(h 2004-Oct-21h]h 2004-Oct-21}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hThis is the documentation of (hopefully) all possible error codes (and their interpretation) that can be returned from usbcore.h]hThis is the documentation of (hopefully) all possible error codes (and their interpretation) that can be returned from usbcore.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hSome of them are returned by the Host Controller Drivers (HCDs), which device drivers only see through usbcore. As a rule, all the HCDs should behave the same except for transfer speed dependent behaviors and the way certain faults are reported.h]hSome of them are returned by the Host Controller Drivers (HCDs), which device drivers only see through usbcore. As a rule, all the HCDs should behave the same except for transfer speed dependent behaviors and the way certain faults are reported.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(h0Error codes returned by :c:func:`usb_submit_urb`h](hError codes returned by }(hj&hhhNhNubh)}(h:c:func:`usb_submit_urb`h]hliteral)}(hj0h]husb_submit_urb()}(hj4hhhNhNubah}(h]h ](xrefcc-funceh"]h$]h&]uh1j2hj.ubah}(h]h ]h"]h$]h&]refdocdriver-api/usb/error-codes refdomainj?reftypefunc refexplicitrefwarn reftargetusb_submit_urbuh1hhhhKhj&ubeh}(h]h ]h"]h$]h&]uh1hhj#hhhhhKubh)}(hNon-USB-specific:h]hNon-USB-specific:}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#hhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jqhjnubjr)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jqhjnubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hURB submission went fineh]hURB submission went fine}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-ENOMEM``h]j3)}(hjh]h-ENOMEM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h/no memory for allocation of internal structuresh]h/no memory for allocation of internal structures}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]colsKuh1jlhjiubah}(h]h ]h"]h$]h&]uh1jghj#hhhhhNubh)}(h USB-specific:h]h USB-specific:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#hhubjh)}(hhh]jm)}(hhh](jr)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jqhj+ubjr)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jqhj+ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h ``-EBUSY``h]j3)}(hjMh]h-EBUSY}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjKubah}(h]h ]h"]h$]h&]uh1hhhhK hjHubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hThe URB is already active.h]hThe URB is already active.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjhubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-ENODEV``h]j3)}(hjh]h-ENODEV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h)specified USB-device or bus doesn't existh]h+specified USB-device or bus doesn’t exist}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-ENOENT``h]j3)}(hjh]h-ENOENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h@specified interface or endpoint does not exist or is not enabledh]h@specified interface or endpoint does not exist or is not enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-ENXIO``h]j3)}(hj h]h-ENXIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hghost controller driver does not support queuing of this type of urb. (treat as a host controller bug.)h]hghost controller driver does not support queuing of this type of urb. (treat as a host controller bug.)}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hj(ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]j3)}(hjMh]h-EINVAL}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjKubah}(h]h ]h"]h$]h&]uh1hhhhK*hjHubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]henumerated_list)}(hhh](h list_item)}(h2Invalid transfer type specified (or not supported)h]h)}(hjth]h2Invalid transfer type specified (or not supported)}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjrubah}(h]h ]h"]h$]h&]uh1jphjmubjq)}(h1Invalid or unsupported periodic transfer intervalh]h)}(hjh]h1Invalid or unsupported periodic transfer interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1jphjmubjq)}(h*ISO: attempted to change transfer intervalh]h)}(hjh]h*ISO: attempted to change transfer interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1jphjmubjq)}(h!ISO: ``number_of_packets`` is < 0h]h)}(hjh](hISO: }(hjhhhNhNubj3)}(h``number_of_packets``h]hnumber_of_packets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubh is < 0}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jphjmubjq)}(hvarious other cases h]h)}(hvarious other casesh]hvarious other cases}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1jphjmubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix)uh1jkhjhubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-EXDEV``h]j3)}(hjh]h-EXDEV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmISO: ``URB_ISO_ASAP`` wasn't specified and all the frames the URB would be scheduled in have already expired.h](hISO: }(hj5hhhNhNubj3)}(h``URB_ISO_ASAP``h]h URB_ISO_ASAP}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj5ubhZ wasn’t specified and all the frames the URB would be scheduled in have already expired.}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-EFBIG``h]j3)}(hjih]h-EFBIG}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjgubah}(h]h ]h"]h$]h&]uh1hhhhK4hjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h;Host controller driver can't schedule that many ISO frames.h]h=Host controller driver can’t schedule that many ISO frames.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK4hjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-EPIPE``h]j3)}(hjh]h-EPIPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLThe pipe type specified in the URB doesn't match the endpoint's actual type.h]hPThe pipe type specified in the URB doesn’t match the endpoint’s actual type.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-EMSGSIZE``h]j3)}(hjh]h -EMSGSIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]jl)}(hhh](jq)}(hVendpoint maxpacket size is zero; it is not usable in the current interface altsetting.h]h)}(hVendpoint maxpacket size is zero; it is not usable in the current interface altsetting.h]hVendpoint maxpacket size is zero; it is not usable in the current interface altsetting.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hj ubah}(h]h ]h"]h$]h&]uh1jphjubjq)}(h1ISO packet is larger than the endpoint maxpacket.h]h)}(hj$h]h1ISO packet is larger than the endpoint maxpacket.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKreject`` was set.h](hSubmission failed because }(hjJhhhNhNubj3)}(h``urb->reject``h]h urb->reject}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjJubh was set.}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhjGubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h``-EHOSTUNREACH``h]j3)}(hj~h]h -EHOSTUNREACH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj|ubah}(h]h ]h"]h$]h&]uh1hhhhKKhjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(h1URB was rejected because the device is suspended.h]h1URB was rejected because the device is suspended.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h ``-ENOEXEC``h]j3)}(hjh]h-ENOEXEC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h-A control URB doesn't contain a Setup packet.h]h/A control URB doesn’t contain a Setup packet.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]colsKuh1jlhj(ubah}(h]h ]h"]h$]h&]uh1jghj#hhhhhNubeh}(h]&error-codes-returned-by-usb-submit-urbah ]h"](error codes returned by usb_submit_urb()ah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hWError codes returned by ``in urb->status`` or in ``iso_frame_desc[n].status`` (for ISO)h](hError codes returned by }(hjhhhNhNubj3)}(h``in urb->status``h]hin urb->status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubh or in }(hjhhhNhNubj3)}(h``iso_frame_desc[n].status``h]hiso_frame_desc[n].status}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubh (for ISO)}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhhhhhKQubh)}(hUSB device drivers may only test urb status values in completion handlers. This is because otherwise there would be a race between HCDs updating these values on one CPU, and device drivers testing them on another CPU.h]hUSB device drivers may only test urb status values in completion handlers. This is because otherwise there would be a race between HCDs updating these values on one CPU, and device drivers testing them on another CPU.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjhhubh)}(hA transfer's actual_length may be positive even when an error has been reported. That's because transfers often involve several packets, so that one or more packets could finish before an error stops further endpoint I/O.h]hA transfer’s actual_length may be positive even when an error has been reported. That’s because transfers often involve several packets, so that one or more packets could finish before an error stops further endpoint I/O.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjhhubh)}(hXFor isochronous URBs, the urb status value is non-zero only if the URB is unlinked, the device is removed, the host controller is disabled, or the total transferred length is less than the requested length and the ``URB_SHORT_NOT_OK`` flag is set. Completion handlers for isochronous URBs should only see ``urb->status`` set to zero, ``-ENOENT``, ``-ECONNRESET``, ``-ESHUTDOWN``, or ``-EREMOTEIO``. Individual frame descriptor status fields may report more status codes.h](hFor isochronous URBs, the urb status value is non-zero only if the URB is unlinked, the device is removed, the host controller is disabled, or the total transferred length is less than the requested length and the }(hjbhhhNhNubj3)}(h``URB_SHORT_NOT_OK``h]hURB_SHORT_NOT_OK}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubhH flag is set. Completion handlers for isochronous URBs should only see }(hjbhhhNhNubj3)}(h``urb->status``h]h urb->status}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubh set to zero, }(hjbhhhNhNubj3)}(h ``-ENOENT``h]h-ENOENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubh, }(hjbhhhNhNubj3)}(h``-ECONNRESET``h]h -ECONNRESET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubh, }(hjbhhhNhNubj3)}(h``-ESHUTDOWN``h]h -ESHUTDOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubh, or }(hjbhhhNhNubj3)}(h``-EREMOTEIO``h]h -EREMOTEIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbubhI. Individual frame descriptor status fields may report more status codes.}(hjbhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK[hjhhubjh)}(hhh]jm)}(hhh](jr)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jqhjubjr)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jqhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTransfer completed successfullyh]hTransfer completed successfully}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-ENOENT``h]j3)}(hj7h]h-ENOENT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj5ubah}(h]h ]h"]h$]h&]uh1hhhhKghj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h:URB was synchronously unlinked by :c:func:`usb_unlink_urb`h](h"URB was synchronously unlinked by }(hjUhhhNhNubh)}(h:c:func:`usb_unlink_urb`h]j3)}(hj_h]husb_unlink_urb()}(hjahhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hj]ubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQusb_unlink_urbuh1hhhhKhhjUubeh}(h]h ]h"]h$]h&]uh1hhhhKghjRubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EINPROGRESS``h]j3)}(hjh]h -EINPROGRESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLURB still pending, no results yet (That is, if drivers see this it's a bug.)h]hNURB still pending, no results yet (That is, if drivers see this it’s a bug.)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EPROTO`` [#f1]_, [#f2]_h](j3)}(h ``-EPROTO``h]h-EPROTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubh }(hjhhhNhNubhfootnote_reference)}(h[#f1]_h]h1}(hjhhhNhNubah}(h]id2ah ]h"]h$]h&]autoKhf1docnamejKuh1jhjresolvedKubh, }(hjhhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id3ah ]h"]h$]h&]jKhf2jjKuh1jhjjKubeh}(h]h ]h"]h$]h&]uh1hhhhKmhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]jl)}(hhh](jq)}(hbitstuff errorh]h)}(hj' h]hbitstuff error}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj% ubah}(h]h ]h"]h$]h&]uh1jphj" ubjq)}(hFno response packet received within the prescribed bus turn-around timeh]h)}(hFno response packet received within the prescribed bus turn-around timeh]hFno response packet received within the prescribed bus turn-around time}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhj< ubah}(h]h ]h"]h$]h&]uh1jphj" ubjq)}(hunknown USB error h]h)}(hunknown USB errorh]hunknown USB error}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjT ubah}(h]h ]h"]h$]h&]uh1jphj" ubeh}(h]h ]h"]h$]h&]jjjhjjuh1jkhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EILSEQ`` [#f1]_, [#f2]_h](j3)}(h ``-EILSEQ``h]h-EILSEQ}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubh }(hj hhhNhNubj)}(h[#f1]_h]h1}(hj hhhNhNubah}(h]id4ah ]h"]h$]h&]jKhjjjKuh1jhj jKubh, }(hj hhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id5ah ]h"]h$]h&]jKhj jjKuh1jhj jKubeh}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubj)}(hhh](jl)}(hhh](jq)}(h CRC mismatchh]h)}(hj h]h CRC mismatch}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1jphj ubjq)}(hFno response packet received within the prescribed bus turn-around timeh]h)}(hFno response packet received within the prescribed bus turn-around timeh]hFno response packet received within the prescribed bus turn-around time}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj ubah}(h]h ]h"]h$]h&]uh1jphj ubjq)}(hunknown USB error h]h)}(hunknown USB errorh]hunknown USB error}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKuhj ubah}(h]h ]h"]h$]h&]uh1jphj ubeh}(h]h ]h"]h$]h&]jjjhjjuh1jkhj ubh)}(hNote that often the controller hardware does not distinguish among cases a), b), and c), so a driver cannot tell whether there was a protocol error, a failure to respond (often caused by device disconnect), or some other fault.h]hNote that often the controller hardware does not distinguish among cases a), b), and c), so a driver cannot tell whether there was a protocol error, a failure to respond (often caused by device disconnect), or some other fault.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhj ubeh}(h]h ]h"]h$]h&]uh1jhj~ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-ETIME`` [#f2]_h](j3)}(h ``-ETIME``h]h-ETIME}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj; ubh }(hj; hhhNhNubj)}(h[#f2]_h]h2}(hjQ hhhNhNubah}(h]id6ah ]h"]h$]h&]jKhj jjKuh1jhj; jKubeh}(h]h ]h"]h$]h&]uh1hhhhK~hj8 ubah}(h]h ]h"]h$]h&]uh1jhj5 ubj)}(hhh]h)}(hNo response packet received within the prescribed bus turn-around time. This error may instead be reported as ``-EPROTO`` or ``-EILSEQ``.h](hoNo response packet received within the prescribed bus turn-around time. This error may instead be reported as }(hjo hhhNhNubj3)}(h ``-EPROTO``h]h-EPROTO}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjo ubh or }(hjo hhhNhNubj3)}(h ``-EILSEQ``h]h-EILSEQ}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjo ubh.}(hjo hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK~hjl ubah}(h]h ]h"]h$]h&]uh1jhj5 ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-ETIMEDOUT``h]j3)}(hj h]h -ETIMEDOUT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hSynchronous USB message functions use this code to indicate timeout expired before the transfer completed, and no other error was reported by HC.h]hSynchronous USB message functions use this code to indicate timeout expired before the transfer completed, and no other error was reported by HC.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EPIPE`` [#f2]_h](j3)}(h ``-EPIPE``h]h-EPIPE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubh }(hj hhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id7ah ]h"]h$]h&]jKhj jjKuh1jhj jKubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h^Endpoint stalled. For non-control endpoints, reset this status with :c:func:`usb_clear_halt`.h](hEEndpoint stalled. For non-control endpoints, reset this status with }(hj' hhhNhNubh)}(h:c:func:`usb_clear_halt`h]j3)}(hj1 h]husb_clear_halt()}(hj3 hhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hj/ ubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQusb_clear_haltuh1hhhhKhj' ubh.}(hj' hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-ECOMM``h]j3)}(hjl h]h-ECOMM}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjj ubah}(h]h ]h"]h$]h&]uh1hhhhKhjg ubah}(h]h ]h"]h$]h&]uh1jhjd ubj)}(hhh]h)}(hzDuring an IN transfer, the host controller received data from an endpoint faster than it could be written to system memoryh]hzDuring an IN transfer, the host controller received data from an endpoint faster than it could be written to system memory}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjd ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-ENOSR``h]j3)}(hj h]h-ENOSR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hDuring an OUT transfer, the host controller could not retrieve data from system memory fast enough to keep up with the USB data rateh]hDuring an OUT transfer, the host controller could not retrieve data from system memory fast enough to keep up with the USB data rate}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EOVERFLOW`` [#f1]_h](j3)}(h``-EOVERFLOW``h]h -EOVERFLOW}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubh }(hj hhhNhNubj)}(h[#f1]_h]h1}(hj hhhNhNubah}(h]id8ah ]h"]h$]h&]jKhjjjKuh1jhj jKubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hThe amount of data returned by the endpoint was greater than either the max packet size of the endpoint or the remaining buffer size. "Babble".h]hThe amount of data returned by the endpoint was greater than either the max packet size of the endpoint or the remaining buffer size. “Babble”.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-EREMOTEIO``h]j3)}(hj@ h]h -EREMOTEIO}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj> ubah}(h]h ]h"]h$]h&]uh1hhhhKhj; ubah}(h]h ]h"]h$]h&]uh1jhj8 ubj)}(hhh]h)}(hThe data read from the endpoint did not fill the specified buffer, and ``URB_SHORT_NOT_OK`` was set in ``urb->transfer_flags``.h](hGThe data read from the endpoint did not fill the specified buffer, and }(hj^ hhhNhNubj3)}(h``URB_SHORT_NOT_OK``h]hURB_SHORT_NOT_OK}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj^ ubh was set in }(hj^ hhhNhNubj3)}(h``urb->transfer_flags``h]hurb->transfer_flags}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj^ ubh.}(hj^ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj[ ubah}(h]h ]h"]h$]h&]uh1jhj8 ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-ENODEV``h]j3)}(hj h]h-ENODEV}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hDevice was removed. Often preceded by a burst of other errors, since the hub driver doesn't detect device removal events immediately.h]hDevice was removed. Often preceded by a burst of other errors, since the hub driver doesn’t detect device removal events immediately.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-EXDEV``h]j3)}(hj h]h-EXDEV}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(heISO transfer only partially completed (only set in ``iso_frame_desc[n].status``, not ``urb->status``)h](h3ISO transfer only partially completed (only set in }(hj hhhNhNubj3)}(h``iso_frame_desc[n].status``h]hiso_frame_desc[n].status}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubh, not }(hj hhhNhNubj3)}(h``urb->status``h]h urb->status}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubh)}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]j3)}(hjH h]h-EINVAL}(hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjF ubah}(h]h ]h"]h$]h&]uh1hhhhKhjC ubah}(h]h ]h"]h$]h&]uh1jhj@ ubj)}(hhh]h)}(h1ISO madness, if this happens: Log off and go homeh]h1ISO madness, if this happens: Log off and go home}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjc ubah}(h]h ]h"]h$]h&]uh1jhj@ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-ECONNRESET``h]j3)}(hj h]h -ECONNRESET}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h;URB was asynchronously unlinked by :c:func:`usb_unlink_urb`h](h#URB was asynchronously unlinked by }(hj hhhNhNubh)}(h:c:func:`usb_unlink_urb`h]j3)}(hj h]husb_unlink_urb()}(hj hhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQusb_unlink_urbuh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``-ESHUTDOWN``h]j3)}(hj h]h -ESHUTDOWN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hThe device or host controller has been disabled due to some problem that could not be worked around, such as a physical disconnect.h]hThe device or host controller has been disabled due to some problem that could not be worked around, such as a physical disconnect.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jlhjubah}(h]h ]h"]h$]h&]uh1jghjhhhhhNubhfootnote)}(hError codes like ``-EPROTO``, ``-EILSEQ`` and ``-EOVERFLOW`` normally indicate hardware problems such as bad devices (including firmware) or cables. h](hlabel)}(hhh]h1}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j8hj4hhhNhNubh)}(hError codes like ``-EPROTO``, ``-EILSEQ`` and ``-EOVERFLOW`` normally indicate hardware problems such as bad devices (including firmware) or cables.h](hError codes like }(hjGhhhNhNubj3)}(h ``-EPROTO``h]h-EPROTO}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjGubh, }(hjGhhhNhNubj3)}(h ``-EILSEQ``h]h-EILSEQ}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjGubh and }(hjGhhhNhNubj3)}(h``-EOVERFLOW``h]h -EOVERFLOW}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjGubhX normally indicate hardware problems such as bad devices (including firmware) or cables.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj4ubeh}(h]jah ]h"]f1ah$]h&](jj j ejKjjKuh1j2hhhKhjhhubj3)}(hXThis is also one of several codes that different kinds of host controller use to indicate a transfer has failed because of device disconnect. In the interval before the hub driver starts disconnect processing, devices may receive such fault reports for every request. h](j9)}(hhh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j8hjhhhNhNubh)}(hX This is also one of several codes that different kinds of host controller use to indicate a transfer has failed because of device disconnect. In the interval before the hub driver starts disconnect processing, devices may receive such fault reports for every request.h]hX This is also one of several codes that different kinds of host controller use to indicate a transfer has failed because of device disconnect. In the interval before the hub driver starts disconnect processing, devices may receive such fault reports for every request.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]j ah ]h"]f2ah$]h&](j j j[ j ejKjjKuh1j2hhhKhjhhubeh}(h]Kerror-codes-returned-by-in-urb-status-or-in-iso-frame-desc-n-status-for-isoah ]h"]Oerror codes returned by in urb->status or in iso_frame_desc[n].status (for iso)ah$]h&]uh1hhhhhhhhKQubh)}(hhh](h)}(h)Error codes returned by usbcore-functionsh]h)Error codes returned by usbcore-functions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhnote)}(h2expect also other submit and transfer status codesh]h)}(hjh]h2expect also other submit and transfer status codes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h:c:func:`usb_register`:h](h)}(h:c:func:`usb_register`h]j3)}(hjh]husb_register()}(hjhhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQ usb_registeruh1hhhhKhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubjh)}(hhh]jm)}(hhh](jr)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jqhjubjr)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jqhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]j3)}(hj<h]h-EINVAL}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj:ubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h#error during registering new driverh]h#error during registering new driver}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jlhjubah}(h]h ]h"]h$]h&]uh1jghjhhhhhNubh)}(hO``usb_get_*/usb_set_*()``, :c:func:`usb_control_msg`, :c:func:`usb_bulk_msg()`:h](j3)}(h``usb_get_*/usb_set_*()``h]husb_get_*/usb_set_*()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjubh, }(hjhhhNhNubh)}(h:c:func:`usb_control_msg`h]j3)}(hjh]husb_control_msg()}(hjhhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQusb_control_msguh1hhhhKhjubh, }hjsbh)}(h:c:func:`usb_bulk_msg()`h]j3)}(hjh]husb_bulk_msg()}(hjhhhNhNubah}(h]h ](j>j?c-funceh"]h$]h&]uh1j2hjubah}(h]h ]h"]h$]h&]refdocjK refdomainj?reftypefunc refexplicitrefwarnjQ usb_bulk_msguh1hhhhKhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubjh)}(hhh]jm)}(hhh](jr)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jqhjubjr)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jqhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``-ETIMEDOUT``h]j3)}(hjh]h -ETIMEDOUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Timeout expired before the transfer completed.h]h.Timeout expired before the transfer completed.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jlhjubah}(h]h ]h"]h$]h&]uh1jghjhhhhhNubeh}(h])error-codes-returned-by-usbcore-functionsah ]h"])error codes returned by usbcore-functionsah$]h&]uh1hhhhhhhhKubeh}(h](hid1eh ]h"](usb error codesusb-error-codeseh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}jghsexpect_referenced_by_id}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(f1](jj j ef2](j j jQ j eurefids}(h]haj](jj j ej ](j j jQ j eunameids}(jghjfjcjj jjjjjj j^j[u nametypes}(jgjfjjjjj^uh}(hhjchj j#jjjjj j j j j j j[ jQ j j j j jj4j jj[ju footnote_refs}(j](jj j ej](j j jQ j eu citation_refs} autofootnotes](j4jeautofootnote_refs](jj j j jQ j j esymbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h5Hyperlink target "usb-error-codes" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1juba transformerN include_log] decorationNhhub.