From b12527f35ddf32896270f84f1d60c19b69bf318d Mon Sep 17 00:00:00 2001 From: "Wu, Xiaoguang" Date: Thu, 19 Apr 2018 21:50:10 +0800 Subject: [PATCH] DM USB: add libusb error conversion function Add a function to covert libusb error to the common USB core error type. Change-Id: Icb03fae2acdc914b3d32a5942faf7d79793a4bee Signed-off-by: Wu, Xiaoguang Reviewed-by: Shuo Liu Reviewed-by: Yu Wang Reviewed-by: Zhao Yakui Acked-by: Eddie Dong --- devicemodel/hw/platform/usb_pmapper.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/devicemodel/hw/platform/usb_pmapper.c b/devicemodel/hw/platform/usb_pmapper.c index 91bb74157..3650a495e 100644 --- a/devicemodel/hw/platform/usb_pmapper.c +++ b/devicemodel/hw/platform/usb_pmapper.c @@ -44,6 +44,21 @@ static struct usb_dev_sys_ctx_info g_ctx; +static inline int +usb_dev_err_convert(int err) +{ + switch (err) { + case LIBUSB_ERROR_TIMEOUT: return USB_ERR_TIMEOUT; + case LIBUSB_ERROR_PIPE: return USB_ERR_STALLED; + case LIBUSB_ERROR_NO_DEVICE: return USB_ERR_INVAL; + case LIBUSB_ERROR_BUSY: return USB_ERR_IN_USE; + case LIBUSB_ERROR_OVERFLOW: return USB_ERR_TOO_DEEP; + default: + break; /* add more when required */ + } + return USB_ERR_IOERROR; +} + static int usb_dev_native_toggle_if_drivers(struct usb_dev *udev, int attach) {