Wifi SMC2602W / Fedora core 5 / kernel-2.6.17-1.2187_FC5

Pavel Roskin proski
Thu Oct 19 23:35:39 PDT 2006


Hello!

On Wed, 2006-10-18 at 16:07 +0200, ph35sm at free.fr wrote: 
> Hi again,
> 
> I do not have any answer since my last post :
> ostap_plx: 0.4.4-kernel (Jouni Malinen <jkmaline at cc.hut.fi>)
> 
> LX9052 PCI/PCMCIA adapter: mem=0xfcfff000, plx_io=0x7080, irq=193,
> pccard_io=0x7040
> hostap_plx: CIS: 01 03 00 00 ff 17 ...
> hostap_plx: invalid CIS data
> Unknown PC Card CIS - not a Prism2/2.5 card?
> 
> How is it possible to get this card working with kernel 2.6.17 and hostap, I was
> using this card before with kernel 2.4 and hostap ?

It looks like you have found a serious off-by-one bug that breaks
hostap_plx completely for all cards.

As a workaround, use ignore_cis parameter for hostap_plx module:
modprobe hostap_plx ignore_cis=1

For the permanent fix, please try following patch.

---
hostap_plx: fix off-by-one bug that breaks CIS verification

From: Pavel Roskin <proski at gnu.org>

Reported by ph35sm at free.fr
---

 drivers/net/wireless/hostap/hostap_plx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/hostap/hostap_plx.c b/drivers/net/wireless/hostap/hostap_plx.c
index 6dfa041..b5b72db 100644
--- a/drivers/net/wireless/hostap/hostap_plx.c
+++ b/drivers/net/wireless/hostap/hostap_plx.c
@@ -391,7 +391,7 @@ #define CIS_MAX_LEN 256
 			break;
 
 		case CISTPL_MANFID:
-			if (cis[pos + 1] < 5)
+			if (cis[pos + 1] < 4)
 				goto cis_error;
 			manfid1 = cis[pos + 2] + (cis[pos + 3] << 8);
 			manfid2 = cis[pos + 4] + (cis[pos + 5] << 8);



-- 
Regards,
Pavel Roskin





More information about the Hostap mailing list