[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / 3.2.14 / 0014-staging-r8712u-Fix-regression-introduced-by-commit-a.patch
1 From 10fcebe06f12c7f87ad05084848c51d69f118505 Mon Sep 17 00:00:00 2001
2 From: Larry Finger <Larry.Finger@lwfinger.net>
3 Date: Sat, 25 Feb 2012 18:10:20 -0600
4 Subject: [PATCH 014/147] staging: r8712u: Fix regression introduced by commit
5 a5ee652
7 commit 9f4bc8cf3fe750ed093856a5f5d41c11cc12ad22 upstream.
9 In commit a5ee652 "staging: r8712u: Interface-state not fully tracked",
10 the private boolean "bup" was set false when the interface was brought down,
11 as that seemed appropriate. This change has not caused any problems when
12 using NetworkManager or manual control of the device; however, when wicd
13 control is used, there is a locking problem in wpa_supplicant, as shown in
14 https://bugzilla.kernel.org/show_bug.cgi?id=42818.
16 This fix reverts the only code change in commit a5ee652. My
17 analysis is that "bup" is badly named. In its present form, it
18 seems to indicate the up/down state of the device, but its usage
19 is more consistent with an initialized/uninitialized state. That
20 problem will be addressed in a later patch.
22 Note: Commit 8c213fa, which introdued asynchronous firmware loading
23 for this driver, exposed this bug to a greater extent. That bug
24 is addressed in the next patch in this series.
26 This bug is also responsible for the bug in
27 https://bugzilla.kernel.org/show_bug.cgi?id=42815. and this bug is
28 also part of the problems discussed at https://bugs.archlinux.org/task/27996#comment89950.
30 Tested-by: Alberto Lago Ballesteros <saniukeokusainaya@gmail.com>
31 Tested-by: Adrian <agib@gmx.de>
32 Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
33 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
34 ---
35 drivers/staging/rtl8712/os_intfs.c | 2 --
36 1 file changed, 2 deletions(-)
38 diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c
39 index 98a3d68..fb11743 100644
40 --- a/drivers/staging/rtl8712/os_intfs.c
41 +++ b/drivers/staging/rtl8712/os_intfs.c
42 @@ -476,8 +476,6 @@ static int netdev_close(struct net_device *pnetdev)
43 r8712_free_assoc_resources(padapter);
44 /*s2-4.*/
45 r8712_free_network_queue(padapter);
46 - /* The interface is no longer Up: */
47 - padapter->bup = false;
48 release_firmware(padapter->fw);
49 /* never exit with a firmware callback pending */
50 wait_for_completion(&padapter->rtl8712_fw_ready);
51 --
52 1.7.9.4