diff options
author | Petr Vandrovec <vandrove@vc.cvut.cz> | 2005-05-17 00:53:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-17 10:59:19 -0400 |
commit | f1fc3990e2ffa14310cae89678c0b4ed1a3f094b (patch) | |
tree | 48b35624b6787fa0851d7fd1aaa0cd05559f327a /drivers | |
parent | 4f167fb491725ca0be9df0d76b4b2dd862cdfe0b (diff) |
[PATCH] serial_cs device identification fix
serial_cs's vendor/device identification got broken by Yum Rayan's change
'[PATCH] serial_cs: Reduce stack usage in serial_event()' - it changed buf
type from u_short* to char*, breaking device manufacturer & card number
retrieval. Due to this my modem stopped from being recognized as special
case.
Code will work much better if we'll rely on first_tuple's parser instead of
doing parse ourselves. Code also looks simpler after change.
Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/serial_cs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c index 6eeb48f6a482..0d7b65f93e8d 100644 --- a/drivers/serial/serial_cs.c +++ b/drivers/serial/serial_cs.c | |||
@@ -661,10 +661,10 @@ void serial_config(dev_link_t * link) | |||
661 | /* Is this a multiport card? */ | 661 | /* Is this a multiport card? */ |
662 | tuple->DesiredTuple = CISTPL_MANFID; | 662 | tuple->DesiredTuple = CISTPL_MANFID; |
663 | if (first_tuple(handle, tuple, parse) == CS_SUCCESS) { | 663 | if (first_tuple(handle, tuple, parse) == CS_SUCCESS) { |
664 | info->manfid = le16_to_cpu(buf[0]); | 664 | info->manfid = parse->manfid.manf; |
665 | for (i = 0; i < MULTI_COUNT; i++) | 665 | for (i = 0; i < MULTI_COUNT; i++) |
666 | if ((info->manfid == multi_id[i].manfid) && | 666 | if ((info->manfid == multi_id[i].manfid) && |
667 | (le16_to_cpu(buf[1]) == multi_id[i].prodid)) | 667 | (parse->manfid.card == multi_id[i].prodid)) |
668 | break; | 668 | break; |
669 | if (i < MULTI_COUNT) | 669 | if (i < MULTI_COUNT) |
670 | info->multi = multi_id[i].multi; | 670 | info->multi = multi_id[i].multi; |