On Sunday 03 June 2007 02:16:05 am Andrey Borzenkov wrote: > On Sunday 03 June 2007, Andrey Borzenkov wrote: > > Under 2.6.22-rc I lost irda0 interface - smsc claims no device present. > > Nothing was changed in setup except kernel version. > > > > 2.6.21: > > > > Detected unconfigured Toshiba laptop with ALi ISA bridge SMSC IrDA chip, > > pre-configuring device. > > Activated ALi 1533 ISA bridge port 0x02e8. > > Activated ALi 1533 ISA bridge port 0x02f8. > > found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 > > smsc_superio_flat(): IrDA not enabled
The "IrDA not enabled" makes me think that even in the working case, the BIOS left the IR port disabled. Are there any BIOS setup switches that affect this port? > > smsc_superio_flat(): fir: 0x2f8, sir: 0x2e8, dma: 03, irq: 7, mode: 0x02 > > SMsC IrDA Controller found > > IrCC version 2.0, firport 0x2f8, sirport 0x2e8 dma=3, irq=7 It seems strange that both FIR and SIR would use legacy COM ports (0x2f8 == COM2, 0x2e8 == COM4). My HP nw8240 has SIR at 0x3e8 (COM3) and FIR at 0x100. Do you know if both the FIR and SIR interfaces work? I'm wondering if your irda0 only uses SIR at 0x2e8, and FIR has always been broken. > > No transceiver found. Defaulting to Fast pin select > > IrDA: Registered device irda0 > > > > > > 2.6.22-rc3: > > Detected unconfigured Toshiba laptop with ALi ISA bridge SMSC IrDA chip, > > pre-configuring device. > > Activated ALi 1533 ISA bridge port 0x02e8. > > Activated ALi 1533 ISA bridge port 0x02f8. > > pnp: Device 00:0a activated. > > smsc_ircc_present(), addr 0x02e8 - no device found! > > pnp: Device 00:0a disabled. > {pts/1}% cat /sys/bus/pnp/devices/00:0a/resources > state = active > io 0x100-0x107 > io 0x2e8-0x2ef > irq 5 > dma 1 The PNP probe I added expects SIR at the first range and FIR at the second. I would think the 0x2e8 range would be SIR, since it's compatible with a COM port. Is it possible the BIOS just reports these in the opposite order, with FIR first and SIR second? Can you try the patch below? Index: linux-2.6/drivers/net/irda/smsc-ircc2.c =================================================================== --- linux-2.6.orig/drivers/net/irda/smsc-ircc2.c 2007-06-04 10:21:46.000000000 -0600 +++ linux-2.6/drivers/net/irda/smsc-ircc2.c 2007-06-04 10:21:57.000000000 -0600 @@ -386,8 +386,8 @@ pnp_dma_valid(dev, 0) && pnp_irq_valid(dev, 0))) return -EINVAL; - sirbase = pnp_port_start(dev, 0); - firbase = pnp_port_start(dev, 1); + firbase = pnp_port_start(dev, 0); + sirbase = pnp_port_start(dev, 1); dma = pnp_dma(dev, 0); irq = pnp_irq(dev, 0); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/