Commit c1179033 authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville

brcmfmac: separate connection status from scanning status

The connection status is to be kept per virtual interface and
the scanning status is for device. So they need to be separated
for multiple interface support.
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0abb5f21
...@@ -127,15 +127,15 @@ do { \ ...@@ -127,15 +127,15 @@ do { \
#define WL_AUTH_SHARED_KEY 1 /* d11 shared authentication */ #define WL_AUTH_SHARED_KEY 1 /* d11 shared authentication */
#define IE_MAX_LEN 512 #define IE_MAX_LEN 512
/* dongle status */ /**
enum wl_status { * enum brcmf_scan_status - dongle scan status
WL_STATUS_READY, *
WL_STATUS_SCANNING, * @BRCMF_SCAN_STATUS_BUSY: scanning in progress on dongle.
WL_STATUS_SCAN_ABORTING, * @BRCMF_SCAN_STATUS_ABORT: scan being aborted on dongle.
WL_STATUS_CONNECTING, */
WL_STATUS_CONNECTED, enum brcmf_scan_status {
WL_STATUS_AP_CREATING, BRCMF_SCAN_STATUS_BUSY,
WL_STATUS_AP_CREATED BRCMF_SCAN_STATUS_ABORT,
}; };
/* wi-fi mode */ /* wi-fi mode */
...@@ -235,6 +235,23 @@ struct brcmf_cfg80211_profile { ...@@ -235,6 +235,23 @@ struct brcmf_cfg80211_profile {
s32 band; s32 band;
}; };
/**
* enum brcmf_vif_status - bit indices for vif status.
*
* @BRCMF_VIF_STATUS_READY: ready for operation.
* @BRCMF_VIF_STATUS_CONNECTING: connect/join in progress.
* @BRCMF_VIF_STATUS_CONNECTED: connected/joined succesfully.
* @BRCMF_VIF_STATUS_AP_CREATING: interface configured for AP operation.
* @BRCMF_VIF_STATUS_AP_CREATED: AP operation started.
*/
enum brcmf_vif_status {
BRCMF_VIF_STATUS_READY,
BRCMF_VIF_STATUS_CONNECTING,
BRCMF_VIF_STATUS_CONNECTED,
BRCMF_VIF_STATUS_AP_CREATING,
BRCMF_VIF_STATUS_AP_CREATED
};
/** /**
* struct brcmf_cfg80211_vif - virtual interface specific information. * struct brcmf_cfg80211_vif - virtual interface specific information.
* *
...@@ -243,6 +260,7 @@ struct brcmf_cfg80211_profile { ...@@ -243,6 +260,7 @@ struct brcmf_cfg80211_profile {
* @profile: profile information. * @profile: profile information.
* @mode: operating mode. * @mode: operating mode.
* @roam_off: roaming state. * @roam_off: roaming state.
* @sme_state: SME state using enum brcmf_vif_status bits.
* @pm_block: power-management blocked. * @pm_block: power-management blocked.
* @list: linked list. * @list: linked list.
*/ */
...@@ -252,6 +270,7 @@ struct brcmf_cfg80211_vif { ...@@ -252,6 +270,7 @@ struct brcmf_cfg80211_vif {
struct brcmf_cfg80211_profile profile; struct brcmf_cfg80211_profile profile;
s32 mode; s32 mode;
s32 roam_off; s32 roam_off;
unsigned long sme_state;
bool pm_block; bool pm_block;
struct list_head list; struct list_head list;
}; };
...@@ -420,7 +439,7 @@ struct brcmf_pno_scanresults_le { ...@@ -420,7 +439,7 @@ struct brcmf_pno_scanresults_le {
* @conn_info: association info. * @conn_info: association info.
* @pmk_list: wpa2 pmk list. * @pmk_list: wpa2 pmk list.
* @event_work: event handler work struct. * @event_work: event handler work struct.
* @status: current dongle status. * @scan_status: scan activity on the dongle.
* @pub: common driver information. * @pub: common driver information.
* @channel: current channel. * @channel: current channel.
* @iscan_on: iscan on/off switch. * @iscan_on: iscan on/off switch.
...@@ -462,7 +481,7 @@ struct brcmf_cfg80211_info { ...@@ -462,7 +481,7 @@ struct brcmf_cfg80211_info {
struct brcmf_cfg80211_connect_info conn_info; struct brcmf_cfg80211_connect_info conn_info;
struct brcmf_cfg80211_pmk_list *pmk_list; struct brcmf_cfg80211_pmk_list *pmk_list;
struct work_struct event_work; struct work_struct event_work;
unsigned long status; unsigned long scan_status;
struct brcmf_pub *pub; struct brcmf_pub *pub;
u32 channel; u32 channel;
bool iscan_on; bool iscan_on;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment