Re: [PATCH] USB: quirks: add NO_LPM quirk for Logitech Flare|Meetup|Brio|Rally

From: Alan Stern
Date: Tue Dec 04 2018 - 16:36:22 EST


On Tue, 4 Dec 2018, Kyle Williams wrote:

> Description: Some USB device / host controller combinations seem to have
> problems with Link Power management. In particular it is described that
> the combination of certain Logitech devices and other powered media
> devices such as the Atrus device causes 'not enough bandwidth for
> new device state'error.
>
> This patch creates quirk entries for the tested Logitech device
> indicating LPM should remain disabled for the device.
>
> Signed-off-by: Kyle Williams <kdgwill@xxxxxxxxxxxx>
> ---
> drivers/usb/core/quirks.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index 0690fcff0ea2..9403edee4797 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -246,6 +246,22 @@ static const struct usb_device_id usb_quirk_list[] = {
> /* Logitech Harmony 700-series */
> { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
>
> + /* Logitech Flare */
> + { USB_DEVICE(0x046d, 0x0876), .driver_info = USB_QUIRK_NO_LPM },

This entry is out of order with the preceding entry. And some of the
new entries below are out of order with each other (entries are
supposed to be sorted by Vendor ID, then Product ID).

Also, perhaps instead of adding all these new entries, we should set
the NO_LPM quirk flag for all Logitech devices?

Alan Stern

> +
> + /* Logitech Rally Camera */
> + { USB_DEVICE(0x046d, 0x0881), .driver_info = USB_QUIRK_NO_LPM },
> + { USB_DEVICE(0x046d, 0x0888), .driver_info = USB_QUIRK_NO_LPM },
> + { USB_DEVICE(0x046d, 0x0889), .driver_info = USB_QUIRK_NO_LPM },
> +
> + /* Logitech Meetup */
> + { USB_DEVICE(0x046d, 0x0867), .driver_info = USB_QUIRK_NO_LPM },
> + { USB_DEVICE(0x046d, 0x0866), .driver_info = USB_QUIRK_NO_LPM },
> + { USB_DEVICE(0x046d, 0x086a), .driver_info = USB_QUIRK_NO_LPM },
> +
> + /* Logitech Brio */
> + { USB_DEVICE(0x046d, 0x085e), .driver_info = USB_QUIRK_NO_LPM },
> +
> /* Philips PSC805 audio device */
> { USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME
> },
>
>