Hi Xenia, thank you. I tested this patch on 3.11 kernel and the messages don't appear anymore upon LPM-capable device disconnect (tested with ASMedia AS2105 devices). Not much to show here, there is just no error/warning related to LPM while handling these devices. Probably better test is with Prolific-based device for which I get during connect: [ 999.906164] usb 4-2.1: new SuperSpeed USB device number 20 using xhci_hcd [ 999.928475] usb 4-2.1: New USB device found, idVendor=067b, idProduct=2773 [ 999.928488] usb 4-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 999.928495] usb 4-2.1: Product: USB-SATA Bridge [ 999.928501] usb 4-2.1: Manufacturer: Prolific Technology Inc. [ 999.928506] usb 4-2.1: SerialNumber: PROLIFICMP000000007 [ 999.929633] usb 4-2.1: Set SEL for device-initiated U1 failed. [ 999.930008] usb 4-2.1: Set SEL for device-initiated U2 failed. [ 999.930114] usb-storage 4-2.1:1.0: USB Mass Storage device detected [ 999.930178] scsi22 : usb-storage 4-2.1:1.0 [ 999.930804] usb 4-2.1: Set SEL for device-initiated U1 failed. [ 999.931681] usb 4-2.1: Set SEL for device-initiated U2 failed. and during disconnect kernel is also quiet and doesn't complain anymore about the LPM of already disconnected device: [ 1582.039612] usb 4-2.1: USB disconnect, device number 20 I think your patch works correctly and has shutdown the bogus/annoying message. ;-) Thank you. Martin Xenia Ragiadakou wrote: > Set SEL control urbs cannot be sent to a device in unconfigured state. > This patch adds a check in usb_req_set_sel() to ensure the usb device's > state is USB_STATE_CONFIGURED. > > Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> > Reported-by: Martin MOKREJS <mmokrejs@xxxxxxxxx> > Suggested-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> > --- > > Differences from v2: > > -push the check on device's state down to usb_req_set_sel() > -check only that the device is in configured state > -update commit title and changelog > > drivers/usb/core/hub.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index fe8d95d..cc468f8 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -3424,6 +3424,9 @@ static int usb_req_set_sel(struct usb_device *udev, enum usb3_link_state state) > unsigned long long u2_pel; > int ret; > > + if (udev->state != USB_STATE_CONFIGURED) > + return 0; > + > /* Convert SEL and PEL stored in ns to us */ > u1_sel = DIV_ROUND_UP(udev->u1_params.sel, 1000); > u1_pel = DIV_ROUND_UP(udev->u1_params.pel, 1000); -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html