Patch for lockup problem with PCI cards

Emil S. Hansen esh
Sun Feb 2 06:13:37 PST 2003


Hi list.

I have a D-Link PCI card based on the Prism 2.5 chip and it is sort of
working with the hostap_pci driver. But the driver will lock up my machine every now
and then. When my machicne locks up the console says:
wlan0: Interrupt, but SWSUPPORT0 does not match 8A32 != 8A32 - card removed?
hostap_pci: wlan0 resetting card

I have poked around in the source and made a patch that works for me,
but I have no idea if it is the correct way to do it.

The driver will also report the following shortly after a reset:
wlan0: could not find matching txfid (0x01a1) for alloc event
with 0x01a1 being diffrent each time.

-- 
Best Regards
Emil S. Hansen - esh at pop3.bit.dk - ESH14-DK
UNIX Administrator, Berlingske IT - www.bit.dk
PGP: 109375FA/ABEB 1EFA A764 529E 82B5  0943 AD3B 1FC2 1093 75FA

"Gravity can not be held responsible for people falling in love."
- Albert Einstein
-------------- next part --------------
diff -ru hostap-2002-10-12/driver/modules/hostap_hw.c hostap-2002-10-12.new/driver/modules/hostap_hw.c
--- hostap-2002-10-12/driver/modules/hostap_hw.c	2002-10-12 17:01:16.000000000 +0200
+++ hostap-2002-10-12.new/driver/modules/hostap_hw.c	2003-02-02 14:09:45.000000000 +0100
@@ -3687,7 +3687,7 @@
 		return;
 	}
 
-#if !defined(PRISM2_PCI) || !defined(PRISM2_BUS_MASTER)
+#if defined(PRISM2_PCI) || defined(PRISM2_BUS_MASTER)
 	/* at least PCI Prism2.5 with bus mastering seems to sometimes
 	 * return 0x0000 in SWSUPPORT0 for unknown reason, but re-reading the
 	 * register once or twice seems to get the correct value.. PCI cards
@@ -3715,7 +3715,7 @@
 		return;
 	}
 #endif /* final_version */
-#endif /* !PRISM2_PCI or !PRISM2_BUS_MASTER */
+#endif /* PRISM2_PCI or PRISM2_BUS_MASTER */
 
 	for (;;) {
 		ev = HFA384X_INW(HFA384X_EVSTAT_OFF);



More information about the Hostap mailing list