1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>usb_ep_dequeue</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="USB Gadget API for Linux"><link rel="up" href="core.html" title="Core Objects and Methods"><link rel="prev" href="API-usb-ep-queue.html" title="usb_ep_queue"><link rel="next" href="API-usb-ep-set-halt.html" title="usb_ep_set_halt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">usb_ep_dequeue</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-usb-ep-queue.html">Prev</a> </td><th width="60%" align="center">Core Objects and Methods</th><td width="20%" align="right"> <a accesskey="n" href="API-usb-ep-set-halt.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-usb-ep-dequeue"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>usb_ep_dequeue — 2 dequeues (cancels, unlinks) an I/O request from an endpoint 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">usb_ep_dequeue </b>(</code></td><td>struct usb_ep * <var class="pdparam">ep</var>, </td></tr><tr><td> </td><td>struct usb_request * <var class="pdparam">req</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1120970444"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>ep</code></em></span></dt><dd><p> 4 the endpoint associated with the request 5 </p></dd><dt><span class="term"><em class="parameter"><code>req</code></em></span></dt><dd><p> 6 the request being canceled 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1124025788"></a><h2>Description</h2><p> 8 If the request is still active on the endpoint, it is dequeued and its 9 completion routine is called (with status -ECONNRESET); else a negative 10 error code is returned. This is guaranteed to happen before the call to 11 <code class="function">usb_ep_dequeue</code> returns. 12 </p><p> 13 14 Note that some hardware can't clear out write fifos (to unlink the request 15 at the head of the queue) except as part of disconnecting from usb. Such 16 restrictions prevent drivers from supporting configuration changes, 17 even to configuration zero (a <span class="quote">“<span class="quote">chapter 9</span>”</span> requirement). 18</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-usb-ep-queue.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="core.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-usb-ep-set-halt.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">usb_ep_queue</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">usb_ep_set_halt</span></td></tr></table></div></body></html> 19