On Mon, 25 Mar 2019 21:13:25 +0000 Sudip Mukherjee <sudipm.mukher...@gmail.com> wrote:
> Some distros like Suse has an alias for "parport_lowlevel" and that > alias points to "parport_pc". Now when the parport bus registers, it > also initialises the daisy driver as the daisy driver is needed to > check the port when the port is first found. Due to the new device > model daisy driver will now try to find the parallel ports while trying > to register its driver so that it can bind with them. Now, since daisy > driver is loaded while parport bus is initialising the list of parport > is still empty and it tries to load the lowlevel driver, which has an > alias set to parport_pc, now causes a deadlock. > > We do not need to search for ports and bind the initial list of ports > to daisy driver as daisy driver is always the first driver to use the > new found parport and we know when the parport bus is registering the > list of parport will always be empty. So, proceed with the daisy_drv > registration even if the list of parport is empty. > > Fixes: 1aec4211204d ("parport: daisy: use new parport device model") > Reported-by: Michal Kubecek <mkube...@suse.cz> > Reported-by: Steven Rostedt <rost...@goodmis.org> > Tested-by: Michal Kubecek <mkube...@suse.cz> > Cc: Linus Torvalds <torva...@linux-foundation.org> > Signed-off-by: Sudip Mukherjee <sudipm.mukher...@gmail.com> Tested-by: Steven Rostedt (VMware) <rost...@goodmis.org> -- Steve