Print this page
12309 errors in section 9e of the manual


  70      different path than normal.
  71 
  72    Pipe open specifics
  73      A given endpoint on a device can only be opened once.  If there's a
  74      request to open an already open endpoint, then the request to open the
  75      pipe should be failed.
  76 
  77      By the time the call to open a pipe returns, the driver should expect
  78      that any of the pipe transfer or reset entry points will be called on the
  79      pipe.
  80 
  81      A driver can establish private data on an endpoint.  During pipe open it
  82      may set the p_hcd_private member to any value.  Generally this points to
  83      an allocated structure that contains data specific to the host
  84      controller.  This value will remain on the pipe handle.  It is the
  85      responsibility of the driver to clear the data when the pipe is closed.
  86 
  87    Pipe close specifics
  88      When a pipe is closed, the driver must clean up all of the resources that
  89      it allocated when opening the pipe.  For non-periodic transfers, the host
  90      controller driver may assueme that there are no outstanding transfers
  91      that need to be cleaned up.  However, the same is not true for periodic
  92      pipes.
  93 
  94      For pipes that have outstanding periodic transfers, the host controller
  95      driver needs to clean them up and quiesce them as though a call to either
  96      usba_hcdi_pipe_stop_intr_polling(9E) or
  97      usba_hcdi_pipe_stop_isoc_polling(9E) had been called.
  98 
  99      Just as with opening the pipe, the driver should pay attention to the
 100      address of the USB device, as it may be the root hub, which may be a
 101      synthetic pipe.
 102 
 103      When a call to usba_hcdi_pipe_close() completes, the device should be in
 104      a state that the pipe can be opened again.
 105 
 106 RETURN VALUES
 107      Upon successful completion, the usba_hcdi_pipe_open() and
 108      uba_hcdi_pipe_close() functions should return USB_SUCCESS.  Otherwise, it
 109      should return the appropriate USB error.  If uncertain, use USB_FAILURE.
 110 
 111 SEE ALSO
 112      usba_hcdi(9E), usba_hcdi_pipe_stop_intr_polling(9E),
 113      usba_hcdi_pipe_stop_isoc_polling(9E), usb_ep_descr(9S),
 114      usb_ep_xdescr(9S), usba_pipe_handle_data(9S)
 115 
 116 illumos                        November 26, 2017                       illumos


  70      different path than normal.
  71 
  72    Pipe open specifics
  73      A given endpoint on a device can only be opened once.  If there's a
  74      request to open an already open endpoint, then the request to open the
  75      pipe should be failed.
  76 
  77      By the time the call to open a pipe returns, the driver should expect
  78      that any of the pipe transfer or reset entry points will be called on the
  79      pipe.
  80 
  81      A driver can establish private data on an endpoint.  During pipe open it
  82      may set the p_hcd_private member to any value.  Generally this points to
  83      an allocated structure that contains data specific to the host
  84      controller.  This value will remain on the pipe handle.  It is the
  85      responsibility of the driver to clear the data when the pipe is closed.
  86 
  87    Pipe close specifics
  88      When a pipe is closed, the driver must clean up all of the resources that
  89      it allocated when opening the pipe.  For non-periodic transfers, the host
  90      controller driver may assume that there are no outstanding transfers that
  91      need to be cleaned up.  However, the same is not true for periodic pipes.

  92 
  93      For pipes that have outstanding periodic transfers, the host controller
  94      driver needs to clean them up and quiesce them as though a call to either
  95      usba_hcdi_pipe_stop_intr_polling(9E) or
  96      usba_hcdi_pipe_stop_isoc_polling(9E) had been called.
  97 
  98      Just as with opening the pipe, the driver should pay attention to the
  99      address of the USB device, as it may be the root hub, which may be a
 100      synthetic pipe.
 101 
 102      When a call to usba_hcdi_pipe_close() completes, the device should be in
 103      a state that the pipe can be opened again.
 104 
 105 RETURN VALUES
 106      Upon successful completion, the usba_hcdi_pipe_open() and
 107      uba_hcdi_pipe_close() functions should return USB_SUCCESS.  Otherwise, it
 108      should return the appropriate USB error.  If uncertain, use USB_FAILURE.
 109 
 110 SEE ALSO
 111      usba_hcdi(9E), usba_hcdi_pipe_stop_intr_polling(9E),
 112      usba_hcdi_pipe_stop_isoc_polling(9E), usb_ep_descr(9S),
 113      usb_ep_xdescr(9S), usba_pipe_handle_data(9S)
 114 
 115 illumos                        February 15, 2020                       illumos