From 4056fb91275dd254552154d5ddd8c66f9c5857e3 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Tue, 8 Mar 2022 12:30:07 +0100 Subject: [PATCH] pc/usb: fix ret value of handle_altsetting_request The logic got accidentally reversed during the transition from the legacy USB driver. Since the function drops error details, this patch adds a diagnostic message with the error code as returned by the Linux driver. --- repos/pc/src/drivers/usb_host/pc/usb.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/repos/pc/src/drivers/usb_host/pc/usb.c b/repos/pc/src/drivers/usb_host/pc/usb.c index f95ca883ac..9f6fbed42e 100644 --- a/repos/pc/src/drivers/usb_host/pc/usb.c +++ b/repos/pc/src/drivers/usb_host/pc/usb.c @@ -220,8 +220,13 @@ static genode_usb_request_ret_t handle_altsetting_request(unsigned iface, unsigned alt_setting, void * data) { struct usb_device * udev = (struct usb_device *) data; - return (usb_set_interface(udev, iface, alt_setting)) ? NO_ERROR - : UNKNOWN_ERROR; + int const ret = usb_set_interface(udev, iface, alt_setting); + + if (ret < 0) + printk("Alt setting request (iface=%u alt_setting=%u) failed with %d\n", + iface, alt_setting, ret); + + return (ret == 0) ? NO_ERROR : UNKNOWN_ERROR; }