Re: [ppdev] e7223f1860: kernel BUG at drivers/base/driver.c:153!

From: Ross Zwisler
Date: Wed Mar 02 2016 - 16:24:27 EST


On Mon, Feb 15, 2016 at 4:50 AM, Sudip Mukherjee
<sudipm.mukherjee@xxxxxxxxx> wrote:
> On Mon, Feb 15, 2016 at 04:20:45PM +0800, kernel test robot wrote:
>> Greetings,
>>
>> 0day kernel testing robot got the below dmesg and the first bad commit is
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-testing
>>
>> commit e7223f18603374d235d8bb0398532323e5f318b9
>> Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
>> AuthorDate: Fri Feb 12 18:33:45 2016 +0530
>> Commit: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> CommitDate: Sun Feb 14 17:43:50 2016 -0800
>>
>> ppdev: use new parport device model
>>
>> Modify ppdev driver to use the new parallel port device model.
>>
>> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> Can you please send the .config file so that i can reproduce in my local
> system and test?
>
> Ying Huang also sent a similar report after posting the patches. I tried
> his .config and your scripts to reproduce this but was not able to.
>
> Anyway, this error is not related to this patch, this patch has just
> uncovered this error in parport. And will only happen if ppdev tries to
> register with parport before parport bus is registered.
> Can you please check if the below patch solves the problem:
>
>
> diff --git a/drivers/parport/share.c b/drivers/parport/share.c
> index 3308427..176b2b6 100644
> --- a/drivers/parport/share.c
> +++ b/drivers/parport/share.c
> @@ -273,6 +273,9 @@ int __parport_register_driver(struct parport_driver *drv, struct module *owner,
> /* using device model */
> int ret;
>
> + if (!parport_bus_type.p)
> + return -EAGAIN;
> +
> /* initialize common driver fields */
> drv->driver.name = drv->name;
> drv->driver.bus = &parport_bus_type;
>
>
> --
> regards
> sudip

I've been hitting this error on my KVM system as well, and bisected to
the same commit.

The patch you have here solved the issue for me.

I'm happy to provide kernel config, etc. - let me know what would be helpful.

- Ross