Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(936)

Unified Diff: components/usb_service/usb_device_handle_impl.cc

Issue 344793009: Log errors from libusb. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/usb_service/usb_context.cc ('k') | components/usb_service/usb_device_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/usb_service/usb_device_handle_impl.cc
diff --git a/components/usb_service/usb_device_handle_impl.cc b/components/usb_service/usb_device_handle_impl.cc
index e3b89871ff19e55051cfa92a51c0acc401f48e04..8b8382d05043686799ad5b8350df214507e7a6b1 100644
--- a/components/usb_service/usb_device_handle_impl.cc
+++ b/components/usb_service/usb_device_handle_impl.cc
@@ -13,6 +13,7 @@
#include "base/synchronization/lock.h"
#include "components/usb_service/usb_context.h"
#include "components/usb_service/usb_device_impl.h"
+#include "components/usb_service/usb_error.h"
#include "components/usb_service/usb_interface.h"
#include "components/usb_service/usb_service.h"
#include "content/public/browser/browser_thread.h"
@@ -158,7 +159,11 @@ UsbDeviceHandleImpl::InterfaceClaimer::~InterfaceClaimer() {
}
bool UsbDeviceHandleImpl::InterfaceClaimer::Claim() const {
- return libusb_claim_interface(handle_->handle(), interface_number_) == 0;
+ const int rv = libusb_claim_interface(handle_->handle(), interface_number_);
+ if (rv != LIBUSB_SUCCESS) {
+ LOG(ERROR) << "Failed to claim interface: " << ConvertErrorToString(rv);
+ }
+ return rv == LIBUSB_SUCCESS;
}
struct UsbDeviceHandleImpl::Transfer {
@@ -344,13 +349,15 @@ bool UsbDeviceHandleImpl::SetInterfaceAlternateSetting(
return false;
const int rv = libusb_set_interface_alt_setting(
handle_, interface_number, alternate_setting);
- if (rv == 0) {
+ if (rv == LIBUSB_SUCCESS) {
claimed_interfaces_[interface_number]->set_alternate_setting(
alternate_setting);
RefreshEndpointMap();
- return true;
+ } else {
+ LOG(ERROR) << "Failed to set interface (" << interface_number
+ << ", " << alternate_setting << "): " << ConvertErrorToString(rv);
}
- return false;
+ return rv == LIBUSB_SUCCESS;
}
bool UsbDeviceHandleImpl::ResetDevice() {
@@ -358,7 +365,11 @@ bool UsbDeviceHandleImpl::ResetDevice() {
if (!device_)
return false;
- return libusb_reset_device(handle_) == 0;
+ const int rv = libusb_reset_device(handle_);
+ if (rv != LIBUSB_SUCCESS) {
+ LOG(ERROR) << "Failed to reset device: " << ConvertErrorToString(rv);
+ }
+ return rv == LIBUSB_SUCCESS;
}
bool UsbDeviceHandleImpl::GetSerial(base::string16* serial) {
@@ -366,8 +377,12 @@ bool UsbDeviceHandleImpl::GetSerial(base::string16* serial) {
PlatformUsbDevice device = libusb_get_device(handle_);
libusb_device_descriptor desc;
- if (libusb_get_device_descriptor(device, &desc) != LIBUSB_SUCCESS)
+ const int rv = libusb_get_device_descriptor(device, &desc);
+ if (rv != LIBUSB_SUCCESS) {
+ LOG(ERROR) << "Failed to read device descriptor: "
+ << ConvertErrorToString(rv);
return false;
+ }
if (desc.iSerialNumber == 0)
return false;
@@ -381,8 +396,11 @@ bool UsbDeviceHandleImpl::GetSerial(base::string16* serial) {
0,
reinterpret_cast<unsigned char*>(&langid[0]),
sizeof(langid));
- if (size < 0)
+ if (size < 0) {
+ LOG(ERROR) << "Failed to get language IDs: "
+ << ConvertErrorToString(size);
return false;
+ }
int language_count = (size - 2) / 2;
@@ -395,6 +413,11 @@ bool UsbDeviceHandleImpl::GetSerial(base::string16* serial) {
langid[i],
reinterpret_cast<unsigned char*>(&text[0]),
sizeof(text));
+ if (size < 0) {
+ LOG(ERROR) << "Failed to get serial number (langid " << langid[i] << "): "
+ << ConvertErrorToString(size);
+ continue;
+ }
if (size <= 2)
continue;
if ((text[0] >> 8) != LIBUSB_DT_STRING)
@@ -626,9 +649,11 @@ void UsbDeviceHandleImpl::SubmitTransfer(
// it requires an interface we didn't claim.
transfer.claimed_interface = GetClaimedInterfaceForEndpoint(handle->endpoint);
- if (libusb_submit_transfer(handle) == LIBUSB_SUCCESS) {
+ const int rv = libusb_submit_transfer(handle);
+ if (rv == LIBUSB_SUCCESS) {
transfers_[handle] = transfer;
} else {
+ LOG(ERROR) << "Failed to submit transfer: " << ConvertErrorToString(rv);
message_loop_proxy->PostTask(
FROM_HERE,
base::Bind(
« no previous file with comments | « components/usb_service/usb_context.cc ('k') | components/usb_service/usb_device_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698