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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/pt_BR/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.}(hj)hhhNhNubah}(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)}(hjDh]husb_submit_urb()}(hjHhhhNhNubah}(h]h ](xrefcc-funceh"]h$]h&]uh1jFhjBubah}(h]h ]h"]h$]h&]refdocdriver-api/usb/error-codes refdomainjSreftypefunc refexplicitrefwarn reftargetusb_submit_urbuh1hhhhKhj:ubeh}(h]h ]h"]h$]h&]uh1hhj7hhhhhKubh)}(hNon-USB-specific:h]hNon-USB-specific:}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7hhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubhtbody)}(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]jG)}(hjh]h-ENOMEM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj}ubah}(h]h ]h"]h$]h&]uh1j{hj7hhhhhNubh)}(h USB-specific:h]h USB-specific:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jhj?ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h ``-EBUSY``h]jG)}(hjah]h-EBUSY}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj_ubah}(h]h ]h"]h$]h&]uh1hhhhK hj\ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hThe URB is already active.h]hThe URB is already active.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hj|ubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-ENODEV``h]jG)}(hjh]h-ENODEV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-ENOENT``h]jG)}(hjh]h-ENOENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-ENXIO``h]jG)}(hj!h]h-ENXIO}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]jG)}(hjah]h-EINVAL}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj_ubah}(h]h ]h"]h$]h&]uh1hhhhK*hj\ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]henumerated_list)}(hhh](h list_item)}(h2Invalid transfer type specified (or not supported)h]h)}(hjh]h2Invalid transfer type specified (or not supported)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubj)}(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&]uh1jhjubj)}(h!ISO: ``number_of_packets`` is < 0h]h)}(hjh](hISO: }(hjhhhNhNubjG)}(h``number_of_packets``h]hnumber_of_packets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubh is < 0}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hvarious other cases h]h)}(hvarious other casesh]hvarious other cases}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix)uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-EXDEV``h]jG)}(hj+h]h-EXDEV}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj)ubah}(h]h ]h"]h$]h&]uh1hhhhK0hj&ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hmISO: ``URB_ISO_ASAP`` wasn't specified and all the frames the URB would be scheduled in have already expired.h](hISO: }(hjIhhhNhNubjG)}(h``URB_ISO_ASAP``h]h URB_ISO_ASAP}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjIubhZ wasn’t specified and all the frames the URB would be scheduled in have already expired.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjFubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-EFBIG``h]jG)}(hj}h]h-EFBIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj{ubah}(h]h ]h"]h$]h&]uh1hhhhK4hjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(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&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-EPIPE``h]jG)}(hjh]h-EPIPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-EMSGSIZE``h]jG)}(hjh]h -EMSGSIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh](j)}(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.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h1ISO packet is larger than the endpoint maxpacket.h]h)}(hj8h]h1ISO packet is larger than the endpoint maxpacket.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKubah}(h]h ]h"]h$]h&]uh1hhhhKIhj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h2Submission failed because ``urb->reject`` was set.h](hSubmission failed because }(hj^hhhNhNubjG)}(h``urb->reject``h]h urb->reject}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj^ubh was set.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhj[ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``-EHOSTUNREACH``h]jG)}(hjh]h -EHOSTUNREACH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h ``-ENOEXEC``h]jG)}(hjh]h-ENOEXEC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]colsKuh1jhj<ubah}(h]h ]h"]h$]h&]uh1j{hj7hhhhhNubeh}(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 }(hj(hhhNhNubjG)}(h``in urb->status``h]hin urb->status}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj(ubh or in }(hj(hhhNhNubjG)}(h``iso_frame_desc[n].status``h]hiso_frame_desc[n].status}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj(ubh (for ISO)}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj%hhhhhKQubh)}(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.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj%hhubh)}(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.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhj%hhubh)}(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 }(hjvhhhNhNubjG)}(h``URB_SHORT_NOT_OK``h]hURB_SHORT_NOT_OK}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubhH flag is set. Completion handlers for isochronous URBs should only see }(hjvhhhNhNubjG)}(h``urb->status``h]h urb->status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubh set to zero, }(hjvhhhNhNubjG)}(h ``-ENOENT``h]h-ENOENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubh, }(hjvhhhNhNubjG)}(h``-ECONNRESET``h]h -ECONNRESET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubh, }(hjvhhhNhNubjG)}(h``-ESHUTDOWN``h]h -ESHUTDOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubh, or }(hjvhhhNhNubjG)}(h``-EREMOTEIO``h]h -EREMOTEIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjvubhI. Individual frame descriptor status fields may report more status codes.}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK[hj%hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hTransfer completed successfullyh]hTransfer completed successfully}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-ENOENT``h]jG)}(hjKh]h-ENOENT}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjIubah}(h]h ]h"]h$]h&]uh1hhhhKghjFubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h:URB was synchronously unlinked by :c:func:`usb_unlink_urb`h](h"URB was synchronously unlinked by }(hjihhhNhNubh)}(h:c:func:`usb_unlink_urb`h]jG)}(hjsh]husb_unlink_urb()}(hjuhhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhjqubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnjeusb_unlink_urbuh1hhhhKhhjiubeh}(h]h ]h"]h$]h&]uh1hhhhKghjfubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EINPROGRESS``h]jG)}(hjh]h -EINPROGRESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubah}(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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EPROTO`` [#f1]_, [#f2]_h](jG)}(h ``-EPROTO``h]h-EPROTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubh }(hjhhhNhNubhfootnote_reference)}(h[#f1]_h]h1}(hj hhhNhNubah}(h]id2ah ]h"]h$]h&]autoKhf1docnamej_uh1jhjresolvedKubh, }(hjhhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id3ah ]h"]h$]h&]j Khf2j j_uh1jhjj Kubeh}(h]h ]h"]h$]h&]uh1hhhhKmhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh](j)}(hbitstuff errorh]h)}(hj; h]hbitstuff error}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhj9 ubah}(h]h ]h"]h$]h&]uh1jhj6 ubj)}(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}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjP ubah}(h]h ]h"]h$]h&]uh1jhj6 ubj)}(hunknown USB error h]h)}(hunknown USB errorh]hunknown USB error}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjh ubah}(h]h ]h"]h$]h&]uh1jhj6 ubeh}(h]h ]h"]h$]h&]jjjhjjuh1jhj3 ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EILSEQ`` [#f1]_, [#f2]_h](jG)}(h ``-EILSEQ``h]h-EILSEQ}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh }(hj hhhNhNubj)}(h[#f1]_h]h1}(hj hhhNhNubah}(h]id4ah ]h"]h$]h&]j Khj j j_uh1jhj j Kubh, }(hj hhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id5ah ]h"]h$]h&]j Khj& j j_uh1jhj j Kubeh}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh](j)}(h CRC mismatchh]h)}(hj h]h CRC mismatch}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhj ubj)}(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&]uh1jhj ubeh}(h]h ]h"]h$]h&]jjjhjjuh1jhj 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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-ETIME`` [#f2]_h](jG)}(h ``-ETIME``h]h-ETIME}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjO ubh }(hjO hhhNhNubj)}(h[#f2]_h]h2}(hje hhhNhNubah}(h]id6ah ]h"]h$]h&]j Khj& j j_uh1jhjO j Kubeh}(h]h ]h"]h$]h&]uh1hhhhK~hjL ubah}(h]h ]h"]h$]h&]uh1jhjI 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 }(hj hhhNhNubjG)}(h ``-EPROTO``h]h-EPROTO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh or }(hj hhhNhNubjG)}(h ``-EILSEQ``h]h-EILSEQ}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK~hj ubah}(h]h ]h"]h$]h&]uh1jhjI ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-ETIMEDOUT``h]jG)}(hj h]h -ETIMEDOUT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EPIPE`` [#f2]_h](jG)}(h ``-EPIPE``h]h-EPIPE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh }(hj hhhNhNubj)}(h[#f2]_h]h2}(hj hhhNhNubah}(h]id7ah ]h"]h$]h&]j Khj& j j_uh1jhj j Kubeh}(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]jG)}(hjE h]husb_clear_halt()}(hjG hhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhjC ubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnjeusb_clear_haltuh1hhhhKhj; ubh.}(hj; hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj8 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-ECOMM``h]jG)}(hj h]h-ECOMM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj~ ubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ ubah}(h]h ]h"]h$]h&]uh1jhjx 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&]uh1jhjx ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-ENOSR``h]jG)}(hj h]h-ENOSR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EOVERFLOW`` [#f1]_h](jG)}(h``-EOVERFLOW``h]h -EOVERFLOW}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh }(hj hhhNhNubj)}(h[#f1]_h]h1}(hj hhhNhNubah}(h]id8ah ]h"]h$]h&]j Khj j j_uh1jhj j Kubeh}(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”.}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-EREMOTEIO``h]jG)}(hjT h]h -EREMOTEIO}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjR ubah}(h]h ]h"]h$]h&]uh1hhhhKhjO ubah}(h]h ]h"]h$]h&]uh1jhjL 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 }(hjr hhhNhNubjG)}(h``URB_SHORT_NOT_OK``h]hURB_SHORT_NOT_OK}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjr ubh was set in }(hjr hhhNhNubjG)}(h``urb->transfer_flags``h]hurb->transfer_flags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjr ubh.}(hjr hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjo ubah}(h]h ]h"]h$]h&]uh1jhjL ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-ENODEV``h]jG)}(hj h]h-ENODEV}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-EXDEV``h]jG)}(hj h]h-EXDEV}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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 hhhNhNubjG)}(h``iso_frame_desc[n].status``h]hiso_frame_desc[n].status}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh, not }(hj hhhNhNubjG)}(h``urb->status``h]h urb->status}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubh)}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]jG)}(hj\ h]h-EINVAL}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjZ ubah}(h]h ]h"]h$]h&]uh1hhhhKhjW ubah}(h]h ]h"]h$]h&]uh1jhjT ubj)}(hhh]h)}(h1ISO madness, if this happens: Log off and go homeh]h1ISO madness, if this happens: Log off and go home}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjw ubah}(h]h ]h"]h$]h&]uh1jhjT ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-ECONNRESET``h]jG)}(hj h]h -ECONNRESET}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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]jG)}(hj h]husb_unlink_urb()}(hj hhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhj ubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnjeusb_unlink_urbuh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``-ESHUTDOWN``h]jG)}(hj h]h -ESHUTDOWN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hj%hhhhhNubhfootnote)}(hError codes like ``-EPROTO``, ``-EILSEQ`` and ``-EOVERFLOW`` normally indicate hardware problems such as bad devices (including firmware) or cables. h](hlabel)}(hhh]h1}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjHhhhNhNubh)}(hError codes like ``-EPROTO``, ``-EILSEQ`` and ``-EOVERFLOW`` normally indicate hardware problems such as bad devices (including firmware) or cables.h](hError codes like }(hj[hhhNhNubjG)}(h ``-EPROTO``h]h-EPROTO}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj[ubh, }(hj[hhhNhNubjG)}(h ``-EILSEQ``h]h-EILSEQ}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj[ubh and }(hj[hhhNhNubjG)}(h``-EOVERFLOW``h]h -EOVERFLOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj[ubhX normally indicate hardware problems such as bad devices (including firmware) or cables.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjHubeh}(h]j ah ]h"]f1ah$]h&](j j j ej Kj j_uh1jFhhhKhj%hhubjG)}(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](jM)}(hhh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhNhNubh)}(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 jo j' ej Kj j_uh1jFhhhKhj%hhubeh}(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]jG)}(hjh]husb_register()}(hjhhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhjubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnje usb_registeruh1hhhhKhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhj.ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``-EINVAL``h]jG)}(hjPh]h-EINVAL}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjNubah}(h]h ]h"]h$]h&]uh1hhhhKhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h#error during registering new driverh]h#error during registering new driver}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj+ubah}(h]h ]h"]h$]h&]uh1j{hjhhhhhNubh)}(hO``usb_get_*/usb_set_*()``, :c:func:`usb_control_msg`, :c:func:`usb_bulk_msg()`:h](jG)}(h``usb_get_*/usb_set_*()``h]husb_get_*/usb_set_*()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjubh, }(hjhhhNhNubh)}(h:c:func:`usb_control_msg`h]jG)}(hjh]husb_control_msg()}(hjhhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhjubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnjeusb_control_msguh1hhhhKhjubh, }hjsbh)}(h:c:func:`usb_bulk_msg()`h]jG)}(hjh]husb_bulk_msg()}(hjhhhNhNubah}(h]h ](jRjSc-funceh"]h$]h&]uh1jFhjubah}(h]h ]h"]h$]h&]refdocj_ refdomainjSreftypefunc refexplicitrefwarnje usb_bulk_msguh1hhhhKhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``-ETIMEDOUT``h]jG)}(hj"h]h -ETIMEDOUT}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(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&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhhhNubeh}(h])error-codes-returned-by-usbcore-functionsah ]h"])error codes returned by usbcore-functionsah$]h&]uh1hhhhhhhhKubeh}(h](hŒid1eh ]h"](usb error codesusb-error-codeseh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}j{hsexpect_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](j j j ef2](j j je j eurefids}(h]haj ](j j j ej& ](j j je j eunameids}(j{hjzjwj"jjjjj jj& jrjou nametypes}(j{jzj"jjjjruh}(hhjwhjj7jj%j j j! j j j j j jo je j' j j j j jHj& jjoju footnote_refs}(j](j j j ej](j j je j eu citation_refs} autofootnotes](jHjeautofootnote_refs](j j j j je 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&]levelKtypeINFOsourcehÌlineKuh1juba transformerN include_log] decorationNhhub.