If the parport bus is not yet registered and any device using parallel port tries to register with the bus we get a stackdump with a message of Kernel bug. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxxxxxxx> --- Hi Ross, Can you please test this patch in your setup. This is a respin of the previous patch in another way. drivers/parport/share.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 3308427..c1eba80 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -135,9 +135,18 @@ static struct bus_type parport_bus_type = { .probe = parport_probe, }; +static bool is_registered; + int parport_bus_init(void) { - return bus_register(&parport_bus_type); + int ret; + + ret = bus_register(&parport_bus_type); + if (ret) + return ret; + + is_registered = true; + return 0; } void parport_bus_exit(void) @@ -273,6 +282,9 @@ int __parport_register_driver(struct parport_driver *drv, struct module *owner, /* using device model */ int ret; + if (!is_registered) + return -EAGAIN; + /* initialize common driver fields */ drv->driver.name = drv->name; drv->driver.bus = &parport_bus_type; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html