diff --git a/subsys/usb/host/usbh_ch9.c b/subsys/usb/host/usbh_ch9.c index 80783e430559b..787107e627574 100644 --- a/subsys/usb/host/usbh_ch9.c +++ b/subsys/usb/host/usbh_ch9.c @@ -185,8 +185,16 @@ int usbh_req_set_address(struct usb_device *const udev, { const uint8_t bmRequestType = USB_REQTYPE_DIR_TO_DEVICE << 7; const uint8_t bRequest = USB_SREQ_SET_ADDRESS; + int ret; + + ret = usbh_req_setup(udev, bmRequestType, bRequest, addr, 0, 0, NULL); + if (ret != 0) { + return ret; + } - return usbh_req_setup(udev, bmRequestType, bRequest, addr, 0, 0, NULL); + udev->addr = addr; + + return 0; } int usbh_req_set_cfg(struct usb_device *const udev,