aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/msm_serial_hs.c
diff options
context:
space:
mode:
authorMaciej Szmigiero <mhej@o2.pl>2011-12-01 16:39:22 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 22:07:46 -0500
commit7f97c000e87751fdca69d14cba2bbba795c1a972 (patch)
treefebcbb9ca2ab65cd26ed06df84981ebe8f8a3589 /drivers/tty/serial/msm_serial_hs.c
parent7d73aaf1d45d9bd95638680361db4d019ebb75bb (diff)
serial: fix serial_cs I/O windows for Argosy RS-COM 2P
Current serial_cs driver has a problem when trying to detect whether a card has multiple ports: serial_config() calls pcmcia_loop_config() which iterates over card CIS configurations by calling serial_check_for_multi() for each of them. This function wants to check (and select) a configuration that has either one long I/O window spanning multiple ports or two 8-port windows for two serial ports. Problem is, that every pcmcia_loop_config() iteration only updates the windows (via pcmcia_do_loop_config() in resource[0] and resource[1]) when CONF_AUTO_SET_IO flag is set on the device, which is set only later in the code. Fix it by setting this flag earlier. In addition to this, when multi-port card is detected and it does not have an one, long I/O window multi_config_check_notpicky() tries to locate two I/O windows and assumes they are continuous without checking. On an Argosy RS-COM 2P this selects first configuration, which unfortunately has two non-continuous I/O windows. The net effect is that the second serial port on the card does not work. Fix it by checking whether the windows are really continuous. Signed-off-by: Maciej Szmigiero <mhej@o2.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/serial/msm_serial_hs.c')
0 files changed, 0 insertions, 0 deletions