JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 9: DDI and DKI Properties and Data Structures
search filter icon
search icon

Document Information

Preface

Introduction

Data Structures for Drivers

aio_req(9S)

buf(9S)

cb_ops(9S)

copyreq(9S)

copyresp(9S)

datab(9S)

dblk(9S)

ddi_device_acc_attr(9S)

ddi_dma_attr(9S)

ddi_dma_cookie(9S)

ddi_dmae_req(9S)

ddi_dma_lim(9S)

ddi_dma_lim_sparc(9S)

ddi_dma_lim_x86(9S)

ddi_dma_req(9S)

ddi_fm_error(9S)

ddi-forceattach(9P)

ddi_idevice_cookie(9S)

ddi-no-autodetach(9P)

devmap_callback_ctl(9S)

dev_ops(9S)

fmodsw(9S)

free_rtn(9S)

gld_mac_info(9S)

gld_stats(9S)

hook_nic_event(9S)

hook_pkt_event(9S)

hook_t(9S)

inquiry-device-type(9P)

inquiry-product-id(9P)

inquiry-revision-id(9P)

inquiry-vendor-id(9P)

iocblk(9S)

iovec(9S)

kstat(9S)

kstat_intr(9S)

kstat_io(9S)

kstat_named(9S)

linkblk(9S)

lso_basic_tcp_ipv4(9S)

mac_callbacks(9S)

mac_capab_lso(9S)

mac_register(9S)

mblk(9S)

modldrv(9S)

modlinkage(9S)

modlstrmod(9S)

module_info(9S)

msgb(9S)

net_inject_t(9S)

net_instance_t(9S)

no-involuntary-power-cycles(9P)

pm(9P)

pm-components(9P)

qband(9S)

qinit(9S)

queclass(9S)

queue(9S)

removable-media(9P)

scsi_address(9S)

scsi_arq_status(9S)

scsi_asc_key_strings(9S)

scsi_device(9S)

scsi_extended_sense(9S)

scsi_hba_tran(9S)

scsi_inquiry(9S)

scsi_pkt(9S)

scsi_status(9S)

streamtab(9S)

stroptions(9S)

tuple(9S)

uio(9S)

usb_bulk_request(9S)

usb_callback_flags(9S)

usb_cfg_descr(9S)

usb_client_dev_data(9S)

usb_completion_reason(9S)

usb_ctrl_request(9S)

usb_dev_descr(9S)

usb_dev_qlf_descr(9S)

usb_ep_descr(9S)

usb_if_descr(9S)

usb_intr_request(9S)

usb_isoc_request(9S)

usb_other_speed_cfg_descr(9S)

usb_request_attributes(9S)

usb_string_descr(9S)

usb_completion_reason

- USB completion reason definitions

Synopsis

#include <sys/usb/usba.h>

Interface Level

Solaris DDI specific (Solaris DDI)

Description

If an error occurs during execution of a USB request, the USBA framework calls a client driver's exception callback handler to relay what happened. The host controller reports transport errors to the exception callback handler through the handler's request argument's completion reason (usb_cr_t) field. A completion reason of USB_CR_OK means the transfer completed with no errors detected.

The usb_cr_t enumerated type contains the following definitions:

USB_CR_OK

The transfer completed without any errors being detected.

USB_CR_CRC

CRC error was detected.

USB_CR_BITSTUFFING

Bit stuffing violation was detected.

USB_CR_DATA_TOGGLE_MM

Data toggle packet identifier did not match expected value.

USB_CR_STALL

The device endpoint indicated that it is stalled. If autoclearing is enabled for the request (request attributes has USB_ATTRS_AUTOCLEARING set), check the callback flags (usb_cb_flags_t) in the callback handler to determine whether the stall is a functional stall (USB_CB_FUNCTIONAL_STALL) or a protocol stall (USB_CB_PROTOCOL_STALL). Please see usb_request_attributes(9S) for more information on autoclearing.

USB_CR_DEV_NOT_RESP

Host controller timed out while waiting for device to respond.

USB_CR_PID_CHECKFAILURE

Check bits on the packet identifier returned from the device were not as expected.

USB_CR_UNEXP_PID

Packet identifier received was not valid.

USB_CR_DATA_OVERRUN

Amount of data returned exceeded either the maximum packet size of the endpoint or the remaining buffer size.

USB_CR_DATA_UNDERRUN

Amount of data returned was not sufficient to fill the specified buffer and the USB_ATTRS_SHORT_XFER_OK attribute was not set. Please see usb_request_attributes(9S) for more information on allowance of short transfers.

USB_CR_BUFFER_OVERRUN

A device sent data faster than the system could digest it.

USB_CR_BUFFER_UNDERRUN

The host controller could not get data from the system fast enough to keep up with the required USB data rate.

USB_CR_TIMEOUT

A timeout specified in a control, bulk, or one-time interrupt request has expired.

USB_CR_NOT_ACCESSED

Request was not accessed nor processed by the host controller.

USB_CR_NO_RESOURCES

No resources were available to continue servicing a periodic interrupt or isochronous request.

USB_CR_STOPPED_POLLING

Servicing of the current periodic request cannot continue because polling on an interrupt-IN or isochronous-IN endpoint has stopped.

USB_CR_PIPE_CLOSING

Request was not started because the pipe to which it was queued was closing or closed.

USB_CR_PIPE_RESET

Request was not started because the pipe to which it was queued was reset.

USB_CR_NOT_SUPPORTED

Request or command is not supported.

USB_CR_FLUSHED

Request was not completed because the pipe to which it was queued went to an error state, became stalled, was reset or was closed.

USB_CR_HC_HARDWARE_ERR

Request could not be completed due to a general host controller hardware error.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
PCI-based systems
Interface stability
Evolving
Availability
SUNWusb, SUNWusbu

See Also

usb_alloc_request(9F), usb_pipe_bulk_xfer(9F), usb_pipe_ctrl_xfer(9F), usb_pipe_intr_xfer(9F), usb_pipe_isoc_xfer(9F), usb_bulk_request(9S), usb_ctrl_request(9S), usb_intr_request(9S), usb_isoc_request(9S).