Lines Matching refs:urb

65  * @urb: array of urbs for the CPort in messages
70 struct urb *urb[NUM_CPORT_IN_URB];
107 struct urb *cport_out_urb[NUM_CPORT_OUT_URB];
120 struct urb *arpc_urb[NUM_ARPC_IN_URB];
141 static void cport_out_callback(struct urb *urb);
171 static void ap_urb_complete(struct urb *urb)
173 struct usb_ctrlrequest *dr = urb->context;
176 usb_free_urb(urb);
182 struct urb *urb;
187 urb = usb_alloc_urb(0, GFP_ATOMIC);
188 if (!urb)
193 usb_free_urb(urb);
206 usb_fill_control_urb(urb, udev, usb_sndctrlpipe(udev, 0),
209 retval = usb_submit_urb(urb, GFP_ATOMIC);
211 usb_free_urb(urb);
231 struct urb *urb;
236 urb = cport_in->urb[i];
238 ret = usb_submit_urb(urb, GFP_KERNEL);
241 "failed to submit in-urb: %d\n", ret);
250 urb = cport_in->urb[i];
251 usb_kill_urb(urb);
260 struct urb *urb;
264 urb = cport_in->urb[i];
265 usb_kill_urb(urb);
271 struct urb *urb;
276 urb = es2->arpc_urb[i];
278 ret = usb_submit_urb(urb, GFP_KERNEL);
281 "failed to submit arpc in-urb: %d\n", ret);
290 urb = es2->arpc_urb[i];
291 usb_kill_urb(urb);
299 struct urb *urb;
303 urb = es2->arpc_urb[i];
304 usb_kill_urb(urb);
308 static struct urb *next_free_urb(struct es2_ap_dev *es2, gfp_t gfp_mask)
310 struct urb *urb = NULL;
321 urb = es2->cport_out_urb[i];
326 if (urb)
327 return urb;
338 static void free_urb(struct es2_ap_dev *es2, struct urb *urb)
343 * See if this was an urb in our pool, if so mark it "free", otherwise
348 if (urb == es2->cport_out_urb[i]) {
350 urb = NULL;
356 /* If urb is not NULL, then we need to free this urb */
357 usb_free_urb(urb);
397 struct urb *urb;
410 /* Find a free urb */
411 urb = next_free_urb(es2, gfp_mask);
412 if (!urb)
416 message->hcpriv = urb;
424 usb_fill_bulk_urb(urb, udev,
429 urb->transfer_flags |= URB_ZERO_PACKET;
433 retval = usb_submit_urb(urb, gfp_mask);
435 dev_err(&udev->dev, "failed to submit out-urb: %d\n", retval);
441 free_urb(es2, urb);
457 struct urb *urb;
463 urb = message->hcpriv;
465 /* Prevent dynamically allocated urb from being deallocated. */
466 usb_get_urb(urb);
468 /* Prevent pre-allocated urb from being reused. */
470 if (urb == es2->cport_out_urb[i]) {
477 usb_kill_urb(urb);
485 usb_free_urb(urb);
747 static int check_urb_status(struct urb *urb)
749 struct device *dev = &urb->dev->dev;
750 int status = urb->status;
758 __func__, urb->actual_length);
776 struct urb *urb;
784 urb = es2->cport_out_urb[i];
785 usb_kill_urb(urb);
786 usb_free_urb(urb);
798 usb_free_urb(es2->cport_in.urb[i]);
813 static void cport_in_callback(struct urb *urb)
815 struct gb_host_device *hd = urb->context;
816 struct device *dev = &urb->dev->dev;
818 int status = check_urb_status(urb);
826 /* The urb is being unlinked */
830 dev_err(dev, "urb cport in error %d (dropped)\n", status);
834 if (urb->actual_length < sizeof(*header)) {
840 header = urb->transfer_buffer;
844 greybus_data_rcvd(hd, cport_id, urb->transfer_buffer,
845 urb->actual_length);
850 /* put our urb back in the request pool */
851 retval = usb_submit_urb(urb, GFP_ATOMIC);
853 dev_err(dev, "failed to resubmit in-urb: %d\n", retval);
856 static void cport_out_callback(struct urb *urb)
858 struct gb_message *message = urb->context;
861 int status = check_urb_status(urb);
876 free_urb(es2, urb);
1024 static void arpc_in_callback(struct urb *urb)
1026 struct es2_ap_dev *es2 = urb->context;
1027 struct device *dev = &urb->dev->dev;
1028 int status = check_urb_status(urb);
1038 /* The urb is being unlinked */
1042 dev_err(dev, "arpc in-urb error %d (dropped)\n", status);
1046 if (urb->actual_length < sizeof(*resp)) {
1051 resp = urb->transfer_buffer;
1067 /* put our urb back in the request pool */
1068 retval = usb_submit_urb(urb, GFP_ATOMIC);
1070 dev_err(dev, "failed to resubmit arpc in-urb: %d\n", retval);
1339 struct urb *urb;
1342 urb = usb_alloc_urb(0, GFP_KERNEL);
1343 if (!urb) {
1347 es2->cport_in.urb[i] = urb;
1355 usb_fill_bulk_urb(urb, udev,
1365 struct urb *urb;
1368 urb = usb_alloc_urb(0, GFP_KERNEL);
1369 if (!urb) {
1373 es2->arpc_urb[i] = urb;
1381 usb_fill_bulk_urb(urb, udev,
1392 struct urb *urb;
1394 urb = usb_alloc_urb(0, GFP_KERNEL);
1395 if (!urb) {
1400 es2->cport_out_urb[i] = urb;