Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3

This is needed to match wireless cards with Intersil firmware that have
ID 0x0156:0x0002 and the third ID "Version 01.02". Such cards are
currently matched by orinoco_cs, which doesn't support WPA. They should
be matched by hostap_cs.

The first and the second product ID vary widely, so there are few users
with some particular IDs. Of those, very few can submit a patch for
hostap_cs or write a useful bugreport. It's still important to support
their hardware properly.

With PCMCIA_DEVICE_MANF_CARD_PROD_ID3, it should be possible to cover
the remaining Intersil based designs that kept the numeric ID and the
"version" of the reference design.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Pavel Roskin and committed by
John W. Linville
3ed8c263 ea7a03cf

+9
+9
include/pcmcia/device_id.h
··· 95 95 .prod_id = { (v1), NULL, NULL, NULL }, \ 96 96 .prod_id_hash = { (vh1), 0, 0, 0 }, } 97 97 98 + #define PCMCIA_DEVICE_MANF_CARD_PROD_ID3(manf, card, v3, vh3) { \ 99 + .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ 100 + PCMCIA_DEV_ID_MATCH_CARD_ID| \ 101 + PCMCIA_DEV_ID_MATCH_PROD_ID3, \ 102 + .manf_id = (manf), \ 103 + .card_id = (card), \ 104 + .prod_id = { NULL, NULL, (v3), NULL }, \ 105 + .prod_id_hash = { 0, 0, (vh3), 0 }, } 106 + 98 107 99 108 /* multi-function devices */ 100 109