Hi Greg Hopefully I followed the correct instructions. I have attached the patch. Rich On Thu, Jan 30, 2020 at 6:34 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, Jan 29, 2020 at 03:47:29PM +0000, Richard Dodd wrote: > > On Mon, Jan 13, 2020 at 9:40 AM Oliver Neukum <oneukum@xxxxxxxx> wrote: > > > > > > Am Sonntag, den 12.01.2020, 12:06 +0000 schrieb Richard Dodd: > > > > Hello > > > > > > > > I've got a Novation midi-over-usb device (LaunchControl XL) that works > > > > correctly on boot, but remains in power-off mode when waking from > > > > sleep. > > > > > > > > I suspect that there is some sort of initialisation that needs to be > > > > applied. Could anyone suggest possible causes, or point me in the > > > > direction of the relevant source code. I found `sound/usb/quirks.c`, > > > > which seems to be the place to handle this kind of thing, but there is > > > > no mention of my device anywhere in the source tree at present > > > > (1235:0061). > > > > > > Hi, > > > > > > some devices need an additional reset. They have the quirk RESET_RESUME > > > in that file. Try adding your device to that list and recompile your > > > kernel. > > > > > > HTH > > > Oliver > > > > > > > Hi > > > > I found the list you are talking about in `drivers/usb/core/quirks.c`, > > and when I patched it, my device correctly woke up after suspend. :) > > > > Can I upstream the patch by posting it here. The patch is attached to > > this email. > > Can you please resend this in the format described in the documentation > so that we can apply it to the tree? > > thanks, > > greg k-h
From 7d991df69d2c47ac41f4657109cee514eef68728 Mon Sep 17 00:00:00 2001 From: Richard Dodd <richard.o.dodd@xxxxxxxxx> Date: Thu, 30 Jan 2020 16:53:51 +0000 Subject: [PATCH] USB: Fix novation SourceControl XL after suspend Currently, the SourceControl will stay in power-down mode after resuming from suspend. This patch resets the device after suspend to power it up. Signed-off-by: Richard Dodd <richard.o.dodd@xxxxxxxxx> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 6b6413073584..3db6c05aaa4b 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -445,6 +445,9 @@ static const struct usb_device_id usb_quirk_list[] = { /* INTEL VALUE SSD */ { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, + /* novation SoundControl XL */ + { USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME }, + { } /* terminating entry must be last */ }; -- 2.25.0