From 86bd4ef72c493c6457051a0606badf299506af2d Mon Sep 17 00:00:00 2001 From: Chuck Ebbert Date: Wed, 13 Feb 2008 19:47:11 -0500 Subject: [PATCH] --- yaml --- r: 85820 b: refs/heads/master c: a1a98b72dbd17e53cd92b8e78f404525ebcfd981 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/pcmcia/smc91c92_cs.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fbe574b1df6a..64b3613168a0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a75834644ae32ded9bed14db39834d6d3bc4793 +refs/heads/master: a1a98b72dbd17e53cd92b8e78f404525ebcfd981 diff --git a/trunk/drivers/net/pcmcia/smc91c92_cs.c b/trunk/drivers/net/pcmcia/smc91c92_cs.c index f18eca9831e8..250eb1954c34 100644 --- a/trunk/drivers/net/pcmcia/smc91c92_cs.c +++ b/trunk/drivers/net/pcmcia/smc91c92_cs.c @@ -559,8 +559,16 @@ static int mhz_setup(struct pcmcia_device *link) /* Read the station address from the CIS. It is stored as the last (fourth) string in the Version 1 Version/ID tuple. */ - if (link->prod_id[3]) { - station_addr = link->prod_id[3]; + tuple->DesiredTuple = CISTPL_VERS_1; + if (first_tuple(link, tuple, parse) != CS_SUCCESS) { + rc = -1; + goto free_cfg_mem; + } + /* Ugh -- the EM1144 card has two VERS_1 tuples!?! */ + if (next_tuple(link, tuple, parse) != CS_SUCCESS) + first_tuple(link, tuple, parse); + if (parse->version_1.ns > 3) { + station_addr = parse->version_1.str + parse->version_1.ofs[3]; if (cvt_ascii_address(dev, station_addr) == 0) { rc = 0; goto free_cfg_mem;