|
@@ -560,16 +560,8 @@ 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. */
|
|
|
- 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 (link->prod_id[3]) {
|
|
|
+ station_addr = link->prod_id[3];
|
|
|
if (cvt_ascii_address(dev, station_addr) == 0) {
|
|
|
rc = 0;
|
|
|
goto free_cfg_mem;
|
|
@@ -744,15 +736,12 @@ static int smc_setup(struct pcmcia_device *link)
|
|
|
}
|
|
|
}
|
|
|
/* Try the third string in the Version 1 Version/ID tuple. */
|
|
|
- tuple->DesiredTuple = CISTPL_VERS_1;
|
|
|
- if (first_tuple(link, tuple, parse) != CS_SUCCESS) {
|
|
|
- rc = -1;
|
|
|
- goto free_cfg_mem;
|
|
|
- }
|
|
|
- station_addr = parse->version_1.str + parse->version_1.ofs[2];
|
|
|
- if (cvt_ascii_address(dev, station_addr) == 0) {
|
|
|
- rc = 0;
|
|
|
- goto free_cfg_mem;
|
|
|
+ if (link->prod_id[2]) {
|
|
|
+ station_addr = link->prod_id[2];
|
|
|
+ if (cvt_ascii_address(dev, station_addr) == 0) {
|
|
|
+ rc = 0;
|
|
|
+ goto free_cfg_mem;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
rc = -1;
|