Re: ipw2100: disconnects caused by scan while associated
Zhu Yi <[email protected]> Tue, 20 May 2008 10:35:21 +0800
| Newsgroups | gmane.linux.drivers.ipw2100.devel |
|---|---|
| Organization | Intel Corp. |
| Message-ID | <[email protected]> |
On Mon, 2008-05-19 at 13:10 +0200, Harald Braumann wrote: > Hi, > > I experience frequent disconnects of the wireless interface. This is > ipw2100 on an IBM Thinkpad T42p. Kernel version is 2.6.25. > > I've enabled debug output with level 0x1bff7. The log shows the > following, when a disconnect occurs: > > I isr_status_change Scan detected while associated, with no scan request. Restarting firmware. > I schedule_reset wifi0: Scheduling firmware restart (0s). > I isr_status_change Status change: IPW_STATE_SCANNING > I isr_indicate_scanning Scanning... > U ipw2100_reset_adapter : wifi0: Restarting adapter. > U ipw2100_power_cycle_adapter Power cycling the hardware. > > After that the driver re-initialises, the adapter reconnects, and > everything works again until the next disconnect. > > Where is this scan request coming from? Userspace (i.e. wpa_supplicant), > or is it some bug in the firmware? Can you post the full log? I wonder if it is a fatal error in the case of a "scan without a request". Can you try attached patch and see if the problem goes away? Thanks, -yi ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ ipw2100-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ipw2100-devel
ipw2100-scan-test.patch
(text/x-patch, 733 B)
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 5bf9e00..42d4b67 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -2177,11 +2177,8 @@ static void isr_status_change(struct ipw2100_priv *priv, int status)
if (status == IPW_STATE_SCANNING &&
priv->status & STATUS_ASSOCIATED &&
!(priv->status & STATUS_SCANNING)) {
- IPW_DEBUG_INFO("Scan detected while associated, with "
- "no scan request. Restarting firmware.\n");
-
- /* Wake up any sleeping jobs */
- schedule_reset(priv);
+ IPW_DEBUG_INFO("Warning: scan detected while associated, with "
+ "no scan request.\n");
}
for (i = 0; status_handlers[i].status != -1; i++) {