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
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
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
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