diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 866d68593ca0..6169ea071766 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -1899,7 +1899,11 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) f = cdev->config->interface[intf]; if (!f) break; - status = f->get_status ? f->get_status(f) : 0; + + if (USB_CONFIG_ATT_WAKEUP & cdev->config->bmAttributes) + status = f->get_status ? f->get_status(f) : 0; + else + status = 0; if (status < 0) break; put_unaligned_le16(status & 0x0000ffff, req->buf);