2015-05-18 17:53:34

by Arthur Demchenkov

[permalink] [raw]
Subject: [PATCH] usb: make module xhci_hcd removable

Fixed regression. After commit 29e409f the module xhci_hcd became
non-removable. That behaviour is not expected and there're no notes
about it in commit message. The module should be removable as it
blocks PM suspend/resume functions (Debian Bug#666406).

Signed-off-by: Arthur Demchenkov <[email protected]>
---
drivers/usb/host/xhci.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index ec8ac16..4299cbf 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5011,4 +5011,12 @@ static int __init xhci_hcd_init(void)
BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
return 0;
}
+
+/*
+ * If an init function is provided, an exit function must also be provided
+ * to allow module unload.
+ */
+static void __exit xhci_hcd_fini(void) { }
+
module_init(xhci_hcd_init);
+module_exit(xhci_hcd_fini);
--
2.3.6


2015-05-18 20:07:54

by Andrew Bresticker

[permalink] [raw]
Subject: Re: [PATCH] usb: make module xhci_hcd removable

Hi Arthur,

On Mon, May 18, 2015 at 10:53 AM, Arthur Demchenkov <[email protected]> wrote:
> Fixed regression. After commit 29e409f the module xhci_hcd became
> non-removable. That behaviour is not expected and there're no notes
> about it in commit message. The module should be removable as it
> blocks PM suspend/resume functions (Debian Bug#666406).
>
> Signed-off-by: Arthur Demchenkov <[email protected]>

Oops, sorry about that! Anyway,

Reviewed-by: Andrew Bresticker <[email protected]>

I suppose this should be a considered a stable fix for v3.18 and later.

Thanks,
Andrew

2015-05-18 22:46:26

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] usb: make module xhci_hcd removable

On Mon, May 18, 2015 at 08:53:10PM +0300, Arthur Demchenkov wrote:
> Fixed regression. After commit 29e409f the module xhci_hcd became
> non-removable. That behaviour is not expected and there're no notes
> about it in commit message. The module should be removable as it
> blocks PM suspend/resume functions (Debian Bug#666406).

I hate to ask why debian things that unloading all kernel modules is the
correct thing to do for suspend...

But that's separate from this patch, this looks correct, thanks.

greg k-h

2015-05-19 05:24:28

by Bjørn Mork

[permalink] [raw]
Subject: Re: [PATCH] usb: make module xhci_hcd removable

Greg KH <[email protected]> writes:

> On Mon, May 18, 2015 at 08:53:10PM +0300, Arthur Demchenkov wrote:
>> Fixed regression. After commit 29e409f the module xhci_hcd became
>> non-removable. That behaviour is not expected and there're no notes
>> about it in commit message. The module should be removable as it
>> blocks PM suspend/resume functions (Debian Bug#666406).
>
> I hate to ask why debian things that unloading all kernel modules is the
> correct thing to do for suspend...

They don't. If you look closer, the bug report refers to unloading
xhci_hcd as a *workaround* for the bug which casued xhci_hcd to
immediately wake the system.

But I was under the impression that (other) bug was fixed long ago?


Bjørn