From 753233ec1897a6b77523f2c18d6e772a35509014 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 16 Sep 2006 21:26:16 +0100 Subject: [PATCH] --- yaml --- r: 38206 b: refs/heads/master c: a8244b564ccc46dabf2367008aecf2b380a9be8d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/serial/serial_cs.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index fb4d00109347..f69f607717d7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1fbbac4bcb03033d325c71fc7273aa0b9c1d9a03 +refs/heads/master: a8244b564ccc46dabf2367008aecf2b380a9be8d diff --git a/trunk/drivers/serial/serial_cs.c b/trunk/drivers/serial/serial_cs.c index 2e3a39d38f08..82d42f30725e 100644 --- a/trunk/drivers/serial/serial_cs.c +++ b/trunk/drivers/serial/serial_cs.c @@ -81,8 +81,8 @@ module_param(buggy_uart, int, 0444); /* Table of multi-port card ID's */ struct serial_quirk { - u_short manfid; - u_short prodid; + unsigned int manfid; + unsigned int prodid; int multi; /* 1 = multifunction, > 1 = # ports */ }; @@ -645,9 +645,12 @@ static int serial_config(struct pcmcia_device * link) if (first_tuple(link, tuple, parse) == CS_SUCCESS) { info->manfid = parse->manfid.manf; info->prodid = parse->manfid.card; + for (i = 0; i < ARRAY_SIZE(quirks); i++) - if ((info->manfid == quirks[i].manfid) && - (info->prodid == quirks[i].prodid)) { + if ((quirks[i].manfid == ~0 || + quirks[i].manfid == info->manfid) && + (quirks[i].prodid == ~0 || + quirks[i].prodid == info->prodid)) { info->quirk = &quirks[i]; break; }