diff options
author | shiba <shiba@FreeBSD.org> | 2002-02-20 14:30:46 +0000 |
---|---|---|
committer | shiba <shiba@FreeBSD.org> | 2002-02-20 14:30:46 +0000 |
commit | 3af9954d9335a2694a547eaf2ff8db8ea88369c9 (patch) | |
tree | e0937ee2a9d89591653d7f0e548ab2571444cbde /sys/dev/pccard/pccard_cis.c | |
parent | 1b20e66ad434311c413364349a62ea86d17f32cd (diff) | |
download | FreeBSD-src-3af9954d9335a2694a547eaf2ff8db8ea88369c9.zip FreeBSD-src-3af9954d9335a2694a547eaf2ff8db8ea88369c9.tar.gz |
Add u_int16 prodext value in CISTPL_MANF_ID. This gets a fifth byte
when manufacturer id tuple length is 5. This change is for xe driver.
This is a dirty hack. But there is no better idea.
Reviewd by: imp
Diffstat (limited to 'sys/dev/pccard/pccard_cis.c')
-rw-r--r-- | sys/dev/pccard/pccard_cis.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/pccard/pccard_cis.c b/sys/dev/pccard/pccard_cis.c index 957c66c..9690ba4 100644 --- a/sys/dev/pccard/pccard_cis.c +++ b/sys/dev/pccard/pccard_cis.c @@ -712,6 +712,15 @@ pccard_parse_cis_tuple(struct pccard_tuple *tuple, void *arg) } state->card->manufacturer = pccard_tuple_read_2(tuple, 0); state->card->product = pccard_tuple_read_2(tuple, 2); + /* + * This is for xe driver. But not better. + * In PC Card Standard, + * Manufacturer ID: 2byte. + * Product ID: 2byte usually, but no limited. + */ + if (tuple->length == 5 ) { + state->card->prodext = pccard_tuple_read_1(tuple, 4); + } DPRINTF(("CISTPL_MANFID\n")); break; case PCCARD_CISTPL_FUNCID: |