From a3ad38e87eead6ce748c6e4eec0571ce53b5a0c2 Mon Sep 17 00:00:00 2001
From: "armadefuego@gmail.com" <armadefuego@gmail.com>
Date: Tue, 22 Mar 2011 09:49:15 -0700
Subject: [PATCH] orinoco: Clear dangling pointer on hardware busy

On hardware busy the scan request pointer should be cleared, as higher
levels will release. This avoids a crash when that pointer is
erroneously used later.

Signed-off-by: Joseph J. Gunn <armadefuego@yahoo.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 drivers/net/wireless/orinoco/cfg.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/orinoco/cfg.c b/drivers/net/wireless/orinoco/cfg.c
index 09fae2f0ea08..736bbb9bd1d0 100644
--- a/drivers/net/wireless/orinoco/cfg.c
+++ b/drivers/net/wireless/orinoco/cfg.c
@@ -153,6 +153,9 @@ static int orinoco_scan(struct wiphy *wiphy, struct net_device *dev,
 	priv->scan_request = request;
 
 	err = orinoco_hw_trigger_scan(priv, request->ssids);
+	/* On error the we aren't processing the request */
+	if (err)
+		priv->scan_request = NULL;
 
 	return err;
 }
-- 
GitLab