Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030462AbVKPTzK (ORCPT ); Wed, 16 Nov 2005 14:55:10 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030461AbVKPTzK (ORCPT ); Wed, 16 Nov 2005 14:55:10 -0500 Received: from courier.cs.helsinki.fi ([128.214.9.1]:54495 "EHLO mail.cs.helsinki.fi") by vger.kernel.org with ESMTP id S1030459AbVKPTzI (ORCPT ); Wed, 16 Nov 2005 14:55:08 -0500 Subject: [PATCH] ipw2200: disallow direct scanning when device is down (was: Linuv 2.6.15-rc1) From: Pekka Enberg To: Zilvinas Valinskas Cc: Zhu Yi , Andrew Morton , Alexandre Buisse , torvalds@osdl.org, linux-kernel@vger.kernel.org, jketreno@linux.intel.com In-Reply-To: <20051116181537.GA21709@gemtek.lt> References: <20051115100519.GA5567@gemtek.lt> <20051115115657.GA30489@gemtek.lt> <84144f020511150451l6ef30420g5a83a147c61f34a8@mail.gmail.com> <20051115140023.GB9910@gemtek.lt> <1132120145.18679.12.camel@debian.sh.intel.com> <20051116094551.GA23140@gemtek.lt> <20051116114052.GA14042@gemtek.lt> <20051116131505.GD31362@gemtek.lt> <1132158813.8902.6.camel@localhost> <20051116181537.GA21709@gemtek.lt> Date: Wed, 16 Nov 2005 21:55:05 +0200 Message-Id: <1132170906.7963.11.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-Mailer: Evolution 2.4.1 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2021 Lines: 61 Hi Zilvinas, On Wed, 2005-11-16 at 20:15 +0200, Zilvinas Valinskas wrote: > I've tried to reproduce a freeze. For about an hour tortures gave no > results. Usual messages: > > Nov 16 20:02:00 evo800N kernel: ipw2200: Firmware error detected. Restarting. > Nov 16 20:02:00 evo800N kernel: ipw2200: Sysfs 'error' log already exists. Unfortunately I don't think we can do much about those as the error message seems to indicate that there's a problem with the firmware... On Wed, 2005-11-16 at 20:15 +0200, Zilvinas Valinskas wrote: > Other than that nothing unusual :) Even under X running, I cannot freeze > the laptop. Anything else to try ? Are you still seeing that sysfs related oops? Perhaps the lockup was related to that... Yi, please consider applying the included patch. Pekka [PATCH] ipw2200: disallow direct scanning when device is down The function ipw_request_direct_scan() should bail out when the device is down. This patch fixes an lockup caused by wpa_supplicant triggering ipw_request_direct_scan() while the driver was in a middle of a reset due to firmware errors. Thanks to Zilvinas Valinskas for reporting the bug and helping me debug it. Signed-off-by: Pekka Enberg --- ipw2200.c | 4 ++++ 1 file changed, 4 insertions(+) Index: 2.6/drivers/net/wireless/ipw2200.c =================================================================== --- 2.6.orig/drivers/net/wireless/ipw2200.c +++ 2.6/drivers/net/wireless/ipw2200.c @@ -8926,6 +8926,10 @@ static int ipw_request_direct_scan(struc struct ipw_scan_request_ext scan; int err = 0, scan_type; + if (!(priv->status & STATUS_INIT) || + (priv->status & STATUS_EXIT_PENDING)) + return 0; + down(&priv->sem); if (priv->status & STATUS_RF_KILL_MASK) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/