From: Ali Bahar Date: Tue, 12 Jul 2011 15:10:56 +0000 (+0800) Subject: staging: r8712u: Interface-state not fully tracked. X-Git-Tag: MMI-PSA29.97-13-9~18234^2^2~864^2~387 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a5ee652;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git 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 Acked-by: Larry Finger Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index 3f38e8eca3f1..6697941e2321 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; }