Intel® IXP400 Software
Access-Layer Components: USB Access (ixUSB) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
306 Document Number: 252539, Revision: 007
The second case of a STALL handshake is known as a “protocol stall” and is unique to control
pipes. Protocol stall differs from functional stall in meaning and duration.
A protocol STALL is returned during the Data or Status stage of a control transfer, and the STALL
condition terminates at the beginning of the next control transfer (Setup). Protocol stalls are usually
sent to notify the host that a particular USB command is malformed or not implemented.
22.4.4 ixUSB Error Handling
The USB API calls return the IX_FAIL error code after detecting errors. It is the responsibility of
the user to implement appropriate error handling.
Detailed error codes are used to report USB Driver errors. They are provided in the lastError field
of the USBDevice structure that must be passed by the user in every API call. When the API calls
are successful the lastError field is assigned the IX_SUCCESS value.
Figure 103. STALL on OUT Transactions
Host
OUT
Device
STALL
Bus
Request Reply
Data
B2419-01