Re: 2.6.22-rc: regression: no irda0 interface (2.6.21 was OK), smsc does not find chip

From: Andrey Borzenkov
Date: Sun Jul 01 2007 - 03:17:22 EST


Bjorn Helgaas wrote:

[...]
>
> I suspect that things will mostly work if you load the drivers in
> the (smsc-ircc2, wlags49_h1_cs) order.

yes

> Then smsc-ircc2 has a chance
> to reserve the resources before yenta and wlags49 get involved. But
> of course, we can't rely on that workaround.
>

yes :)

> I think there's lots of work needed here -- make PNP reserve resources,
> add smarter PNP quirk infrastructure so we can do things at _SRS-time,
> add real Portege BIOS workaround, etc. Way more than we can do for
> 2.6.22.
>

yes :)

> What do you think we need to get 2.6.22 out? I was thinking of a
> stop-gap patch like the one below.

I agree. I was about to suggest the same the very first time I have seen
this issue.

> I'm between trips and can't
> really test it. In my one quick boot, it did find the IR device,
> but irdadump didn't seem to do anything.
>

I confirm that loading smsc-icc2 with nopnp (with your other two patches
applied) works, finds SIR/FIR and irdadump shows data flowing.

-andrey

>
>
> [patch] smsc-ircc2: bypass PNP detection until we get the quirks worked
> [out
>
> Don't use PNP detection by default yet. We have some PNP and BIOS issues
> to work out first.
>
> Sample problem on a Toshiba Portege 4000: the SMCf010 device is handed off
> disabled. We assign I/O ports originally assigned to the SMCf010 to a
> PCMCIA device instead. We enable the SMCf010, configuring it to use
> disjoint ports, but _SRS doesn't work correctly, so the device doesn't
> work.
>
> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
>
> Index: w/drivers/net/irda/smsc-ircc2.c
> ===================================================================
> --- w.orig/drivers/net/irda/smsc-ircc2.c 2007-06-30 21:00:06.000000000
> -0600
> +++ w/drivers/net/irda/smsc-ircc2.c 2007-06-30 21:00:08.000000000 -0600
> @@ -79,7 +79,7 @@
> MODULE_DESCRIPTION("SMC IrCC SIR/FIR controller driver");
> MODULE_LICENSE("GPL");
>
> -static int smsc_nopnp;
> +static int smsc_nopnp = 1;
> module_param_named(nopnp, smsc_nopnp, bool, 0);
> MODULE_PARM_DESC(nopnp, "Do not use PNP to detect controller settings");


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/