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

From: Samuel Ortiz
Date: Tue Jun 05 2007 - 09:04:29 EST



On 6/5/2007, "Linus Walleij (LD/EAB)" <linus.walleij@xxxxxxxxxxxx>
wrote:

>Sam wrote:
>
>> Andrey, in addition to Bjorn's patch, could you also apply
>> this one and try again:
>>
>> diff --git a/drivers/net/irda/smsc-ircc2.c
>> b/drivers/net/irda/smsc-ircc2.c index 31c6233..800562a 100644
>> --- a/drivers/net/irda/smsc-ircc2.c
>> +++ b/drivers/net/irda/smsc-ircc2.c
>> @@ -2463,7 +2463,7 @@ static struct
>> smsc_ircc_subsystem_configuration subsystem_
>> .subvendor = 0x1179,
>> .subdevice = 0xffff, /* 0xffff is "any" */
>> .sir_io = 0x02e8,
>> - .fir_io = 0x02f8,
>> + .fir_io = 0x100,
>
>You don't need to alter the defaults for the Toshiba ALi, the
>preconfigure will respect the settings from the commandline,
>e.g. modprobe smsc-ircc2 ircc_fir=0x100,ircc_sir=0x02e8.
True, that's faster.


>BUT this value just won't work: we don't know how to tell the ALi 1533
>to use any other ports than 0x130,0x178,0x03f8,0x02f8 or 0x02e8.
Oh, that's right. I didn't look carefully enough at
preconfigure_ali_port()...


>The code in preconfigure_ali_port() is from the smscinit tool
>and I have no idea of how that was initially developed (reverse
>engineering likely). Since 0x0130 and 0x170 seem to be the same setting,
>0x100 could be equal to one of the others as well so I would
>try feeding some different ircc_fir=x settings and see what happens.
>From the PnP output that Andrey sent, it seems that 0x130 might work.
If not, I guess it's worth trying at 0x100 while assuming it's the same
register setting as 0x130 or 0x178, so basically applying this patch on
top of Bjorn's one:

diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index 31c6233..0657228 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -2742,6 +2742,7 @@ static void __init preconfigure_ali_port(struct
pci_dev *d
unsigned char tmpbyte;

switch(port) {
+ case 0x0100:
case 0x0130:
case 0x0178:
reg = 0xb0;

and then a modprobe smsc-ircc2 ircc_fir=0x100,ircc_sir=0x02e8

Cheers,
Samuel.
-
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/