/* we hit this error path frequently with buggy devices :( */
usbi_warn(DEVICE_CTX(dev),
- "get_configuration failed ret=%d errno=%d", r, errno);
+ "get configuration failed, errno=%d", errno);
priv->active_config = -1;
} else {
if (active_config > 0) {
if (errno == ENOTTY)
usbi_dbg("getcap not available");
else
- usbi_err(HANDLE_CTX(handle), "getcap failed (%d)", errno);
+ usbi_err(HANDLE_CTX(handle), "getcap failed, errno=%d", errno);
hpriv->caps = 0;
if (supports_flag_zero_packet)
hpriv->caps |= USBFS_CAP_ZERO_PACKET;
if (r < 0) {
r = ioctl(fd, IOCTL_USBFS_CONNECTINFO, &ci);
if (r < 0) {
- usbi_err(ctx, "connectinfo failed (%d)", errno);
+ usbi_err(ctx, "connectinfo failed, errno=%d", errno);
return LIBUSB_ERROR_IO;
}
/* There is no ioctl to get the bus number. We choose 0 here
else if (errno == ENODEV)
return LIBUSB_ERROR_NO_DEVICE;
- usbi_err(HANDLE_CTX(handle), "failed, error %d errno %d", r, errno);
+ usbi_err(HANDLE_CTX(handle),
+ "set configuration failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "claim interface failed, error %d errno %d", r, errno);
+ "claim interface failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return 0;
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "release interface failed, error %d errno %d", r, errno);
+ "release interface failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return 0;
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "setintf failed error %d errno %d", r, errno);
+ "set interface failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "clear_halt failed error %d errno %d", r, errno);
+ "clear halt failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
}
usbi_err(HANDLE_CTX(handle),
- "reset failed error %d errno %d", r, errno);
+ "reset failed, errno=%d", errno);
ret = LIBUSB_ERROR_OTHER;
goto out;
}
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "streams-ioctl failed error %d errno %d", r, errno);
+ "streams-ioctl failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return r;
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "get driver failed error %d errno %d", r, errno);
+ "get driver failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(HANDLE_CTX(handle),
- "detach failed error %d errno %d", r, errno);
+ "detach failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
}
return LIBUSB_ERROR_BUSY;
usbi_err(HANDLE_CTX(handle),
- "attach failed error %d errno %d", r, errno);
+ "attach failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
} else if (r == 0) {
return LIBUSB_ERROR_NOT_FOUND;
return LIBUSB_ERROR_NO_DEVICE;
}
usbi_err(HANDLE_CTX(handle),
- "disconnect-and-claim failed errno %d", errno);
+ "disconnect-and-claim failed, errno=%d", errno);
return LIBUSB_ERROR_OTHER;
} else if (r == 0)
return 0;
r = LIBUSB_ERROR_NO_MEM;
} else {
usbi_err(TRANSFER_CTX(transfer),
- "submiturb failed error %d errno=%d", r, errno);
+ "submiturb failed, errno=%d", errno);
r = LIBUSB_ERROR_IO;
}
r = LIBUSB_ERROR_INVALID_PARAM;
} else {
usbi_err(TRANSFER_CTX(transfer),
- "submiturb failed error %d errno=%d", r, errno);
+ "submiturb failed, errno=%d", errno);
r = LIBUSB_ERROR_IO;
}
return LIBUSB_ERROR_NO_DEVICE;
usbi_err(TRANSFER_CTX(transfer),
- "submiturb failed error %d errno=%d", r, errno);
+ "submiturb failed, errno=%d", errno);
return LIBUSB_ERROR_IO;
}
return 0;
goto cancel_remaining;
}
- /* if we're the last urb or we got less data than requested then we're
+ /* if we've reaped all urbs or we got less data than requested then we're
* done */
- if (urb_idx == tpriv->num_urbs - 1) {
- usbi_dbg("last URB in transfer --> complete!");
+ if (tpriv->num_retired == tpriv->num_urbs) {
+ usbi_dbg("all URBs in transfer reaped --> complete!");
goto completed;
} else if (urb->actual_length < urb->buffer_length) {
usbi_dbg("short transfer %d/%d --> complete!",
break;
case -ENODEV:
case -ESHUTDOWN:
- usbi_dbg("device removed");
+ usbi_dbg("packet %d - device removed", i);
lib_desc->status = LIBUSB_TRANSFER_NO_DEVICE;
break;
case -EPIPE:
- usbi_dbg("detected endpoint stall");
+ usbi_dbg("packet %d - detected endpoint stall", i);
lib_desc->status = LIBUSB_TRANSFER_STALL;
break;
case -EOVERFLOW:
- usbi_dbg("overflow error");
+ usbi_dbg("packet %d - overflow error", i);
lib_desc->status = LIBUSB_TRANSFER_OVERFLOW;
break;
case -ETIME:
case -ECOMM:
case -ENOSR:
case -EXDEV:
- usbi_dbg("low-level USB error %d", urb_desc->status);
+ usbi_dbg("packet %d - low-level USB error %d", i, urb_desc->status);
lib_desc->status = LIBUSB_TRANSFER_ERROR;
break;
default:
usbi_warn(TRANSFER_CTX(transfer),
- "unrecognised urb status %d", urb_desc->status);
+ "packet %d - unrecognised urb status %d", i, urb_desc->status);
lib_desc->status = LIBUSB_TRANSFER_ERROR;
break;
}
break;
}
- /* if we're the last urb then we're done */
- if (urb_idx == num_urbs) {
- usbi_dbg("last URB in transfer --> complete!");
+ /* if we've reaped all urbs then we're done */
+ if (tpriv->num_retired == num_urbs) {
+ usbi_dbg("all URBs in transfer reaped --> complete!");
free_iso_urbs(tpriv);
usbi_mutex_unlock(&itransfer->lock);
return usbi_handle_transfer_completion(itransfer, status);
if (errno == ENODEV)
return LIBUSB_ERROR_NO_DEVICE;
- usbi_err(HANDLE_CTX(handle), "reap failed error %d errno=%d",
- r, errno);
+ usbi_err(HANDLE_CTX(handle), "reap failed, errno=%d", errno);
return LIBUSB_ERROR_IO;
}