[PATCH] ipw2200: disallow direct scanning when device is down (was: Linuv 2.6.15-rc1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>
---

 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux