Hi, The serial part still does not work. >does this patch help? If not, could you please enable dynamic debug by >issuing I will try it later. > >Hey, > >does this patch help? If not, could you please enable dynamic debug by >issuing > >$ echo "module pcmcia +p" > /sys/kernel/debug/dynamic_debug/control > >Thanks, > Dominik > > >From: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> >Date: Mon, 30 Aug 2010 08:18:54 +0200 >Subject: [PATCH] pcmcia: fix multifunction card handling in serial_cs.c > >We shouldn't overwrite pre-set values, and we should also >set the port address to the beginning, and not the end of >the 8-port range. > >Reported-by: Komuro <komurojun-mbn@xxxxxxxxx> >Signed-off-by: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> > >diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c >index 141c695..dd0fa12 100644 >--- a/drivers/serial/serial_cs.c >+++ b/drivers/serial/serial_cs.c >@@ -335,8 +335,6 @@ static int serial_probe(struct pcmcia_device *link) > info->p_dev = link; > link->priv = info; > >- link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >- link->resource[0]->end = 8; > link->conf.Attributes = CONF_ENABLE_IRQ; > if (do_sound) { > link->conf.Attributes |= CONF_ENABLE_SPKR; >@@ -466,7 +464,7 @@ static int simple_config(struct pcmcia_device *link) > unsigned int port = 0; > if ((link->resource[1]->end != 0) && > (resource_size(link->resource[1]) == 8)) { >- port = link->resource[1]->end; >+ port = link->resource[1]->start; > info->slave = 1; > } else if ((info->manfid == MANFID_OSITECH) && > (resource_size(link->resource[0]) == 0x40)) { >@@ -479,6 +477,9 @@ static int simple_config(struct pcmcia_device *link) > } > } > >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >+ link->resource[0]->end = 8; >+ > /* First pass: look for a config entry that looks normal. > * Two tries: without IO aliases, then with aliases */ > for (try = 0; try < 4; try++) >@@ -558,6 +559,7 @@ static int multi_config(struct pcmcia_device *link) > int i, base2 = 0; > > /* First, look for a generic full-sized window */ >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; > link->resource[0]->end = info->multi * 8; > if (pcmcia_loop_config(link, multi_config_check, &base2)) { > /* If that didn't work, look for two windows */ -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html