Hi, > Wolfram wrote: > > >>- Is it just a buggy card if it works at 0x300 but not 0xc300 > >> (or is it maybe a problem with Linux assigning the io area)? > >>- Why is IOAddrLines forced to 16 (and thus alignment to 0x10000), but only > >> if BasePort1 is 0? >
In this case, start = 0xc000, align_data->mask = 0x3ff, align_data->offset = 0x300 then ret becomes 0xc300; but ret should be 0x300. static resource_size_t pcmcia_common_align(struct pcmcia_align_data *align_data, resource_size_t start) { resource_size_t ret; /* * Ensure that we have the correct start address */ ret = (start & ~align_data->mask) + align_data->offset; if (ret < start) ret += align_data->mask + 1; return ret; } Best Regards Komuro _______________________________________________ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia