aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8712/os_intfs.c
diff options
context:
space:
mode:
authorAli Bahar <ali@internetdog.org>2011-07-12 23:10:56 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-23 12:24:32 -0700
commita5ee65290d16c2fe06cecc8d0ed8530ffd8f0f2a (patch)
tree6de5f0c838415931e322f4865d9de5397dbcac68 /drivers/staging/rtl8712/os_intfs.c
parentd1661dfdb99138eca2d3fbcf9c651ffcaba6f28a (diff)
staging: r8712u: Interface-state not fully tracked.
padapter->bup is True when the interface has been brought Up. But it was not being reset when the interface is taken Down. This has not caused a known problem, as other state variables may be compensating for it. Never the less, it is now properly tracked. Signed-off-by: Ali Bahar <ali@internetDog.org> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/rtl8712/os_intfs.c')
-rw-r--r--drivers/staging/rtl8712/os_intfs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c
index 3f38e8eca3f..6697941e232 100644
--- a/drivers/staging/rtl8712/os_intfs.c
+++ b/drivers/staging/rtl8712/os_intfs.c
@@ -375,6 +375,12 @@ static void enable_video_mode(struct _adapter *padapter, int cbw40_value)
r8712_fw_cmd(padapter, intcmd);
}
+/**
+ *
+ * This function intends to handle the activation of an interface
+ * i.e. when it is brought Up/Active from a Down state.
+ *
+ */
static int netdev_open(struct net_device *pnetdev)
{
struct _adapter *padapter = (struct _adapter *)_netdev_priv(pnetdev);
@@ -434,6 +440,12 @@ netdev_open_error:
return -1;
}
+/**
+ *
+ * This function intends to handle the shutdown of an interface
+ * i.e. when it is brought Down from an Up/Active state.
+ *
+ */
static int netdev_close(struct net_device *pnetdev)
{
struct _adapter *padapter = (struct _adapter *) _netdev_priv(pnetdev);
@@ -458,6 +470,8 @@ static int netdev_close(struct net_device *pnetdev)
r8712_free_network_queue(padapter);
/*Stop driver mlme relation timer*/
stop_drv_timers(padapter);
+ /* The interface is no longer Up: */
+ padapter->bup = false;
return 0;
}