Hi,

> > Bogus ioport is allocated for pcmcia device at kernel 2.6.33.
>> ioport is 0x30 but it should be 0x100.
>> 
>> [2.6.33]
>> ata5: PATA max PIO0 cmd 0x30 ctl 0x3e irq 17

>There's _no_ change in the PCMCIA subsystem between 2.6.33-rc5 and 2.6.33;
>drivers/ata/ doesn't seem to have any related changes...


This problem happens to the net/pcmcia/smc91c92_cs.c driver too.
so this is not a drivers/ata problem.

cf->io.win[0].base returns 0 at smc_configcheck();
So I think this is a pcmcia_request_io problem.


[dmesg]
pcmcia 0.0: pcmcia: registering new device pcmcia0.0
eth0: smc91c92 rev 3: io 0x30, irq 17, hw_addr 00:00:86:xx:xx:xx
  4608 byte buffer, auto xcvr



static int smc_configcheck(struct pcmcia_device *p_dev,
                           cistpl_cftable_entry_t *cf,
                           cistpl_cftable_entry_t *dflt,
                           unsigned int vcc,
                           void *priv_data)
{
        p_dev->io.BasePort1 = cf->io.win[0].base;
        p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
        return pcmcia_request_io(p_dev, &p_dev->io);
}



[lspcmcia]
Socket 0 Bridge:        [yenta_cardbus]         (bus ID: 0000:00:0c.0)
        Configuration:  state: on       ready: yes
                        Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V
                        Available IRQs: none
                        Available ioports:      0x00000100 - 0x000003af
                                                0x000003e0 - 0x000004ff
                                                0x00000820 - 0x000008ff
                                                0x00000a00 - 0x00000aff
                                                0x00000c00 - 0x00000cf7
                        Available iomem:        0xa0000000 - 0xa0ffffff

[dump_cis]

offset 0x54, tuple 0x1a, link 0x05
  01 01 00 03 01 
config base 0x0300 mask 0x0001 last_index 0x01

offset 0x5b, tuple 0x1b, link 0x0c
  c1 01 19 71 55 06 0e 2d 64 30 ff ff 
cftable_entry 0x01 [default]
  Vcc Vnom 5V Iavg 100mA Ipeak 120mA Idown 25mA
  io 0x0000-0x000f [lines=4] [8bit] [16bit]
  irq mask 0xffff [level]

offset 0x69, tuple 0x1b, link 0x05
  83 01 08 65 ff 
cftable_entry 0x03
  io 0x0000-0x001f [lines=5] [8bit] [16bit]
  1 bytes in subtuples

offset 0x70, tuple 0x20, link 0x04
  28 01 03 01 
manfid 0x0128, 0x0103

offset 0x76, tuple 0x14, link 0x00
no_long_link

Best Regards
Komuro

_______________________________________________
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia

Reply via email to