On Wed, Dec 04, 2013 at 03:31:52PM +0000, Alan wrote: > If loaded with isapnp = 0 the driver explodes. This is catching > people out now and then. What should happen in the working case is > a complete mystery and the code appears terminally confused, but we Looks like it uses the pnp infrastructure only to auto-detect the "io" address, and assumes that pnp_register_driver() calls the pnp probe function immediately. Afterwards it unregisters and works (or is supposed to work) outside the pnp subsystem. Brr. > can at least make the error path work properly. > > Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> > Partially-Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=53991 Actually, I think it fully resolves it, because the other part (sc520 driver not working on SC1100 CPU) isn't a bug. It isn't working on an ARM or PPC CPU either, nor on any Intel CPU. Anyway, Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/watchdog/sc1200wdt.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/watchdog/sc1200wdt.c b/drivers/watchdog/sc1200wdt.c > index 3b9fff9..131193a 100644 > --- a/drivers/watchdog/sc1200wdt.c > +++ b/drivers/watchdog/sc1200wdt.c > @@ -409,8 +409,9 @@ static int __init sc1200wdt_init(void) > #if defined CONFIG_PNP > /* now that the user has specified an IO port and we haven't detected > * any devices, disable pnp support */ > + if (isapnp) > + pnp_unregister_driver(&scl200wdt_pnp_driver); > isapnp = 0; > - pnp_unregister_driver(&scl200wdt_pnp_driver); > #endif > > if (!request_region(io, io_len, SC1200_MODULE_NAME)) { > > -- > To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html