Commit 0765af44 authored by Holger Schurig's avatar Holger Schurig Committed by David S. Miller

libertas: clean up association debug messages

This makes the debug output of all association stuff clearer by:

* adding some lbs_deb_enter()/lbs_deb_leave() calls
* printing the return level in one place
* lower-casing some string
Signed-off-by: default avatarHolger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 10078321
...@@ -14,29 +14,6 @@ ...@@ -14,29 +14,6 @@
static const u8 bssid_any[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; static const u8 bssid_any[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
static const u8 bssid_off[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const u8 bssid_off[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static void print_assoc_req(const char * extra, struct assoc_request * assoc_req)
{
DECLARE_MAC_BUF(mac);
lbs_deb_assoc(
"#### Association Request: %s\n"
" flags: 0x%08lX\n"
" SSID: '%s'\n"
" channel: %d\n"
" band: %d\n"
" mode: %d\n"
" BSSID: %s\n"
" Encryption:%s%s%s\n"
" auth: %d\n",
extra, assoc_req->flags,
escape_essid(assoc_req->ssid, assoc_req->ssid_len),
assoc_req->channel, assoc_req->band, assoc_req->mode,
print_mac(mac, assoc_req->bssid),
assoc_req->secinfo.WPAenabled ? " WPA" : "",
assoc_req->secinfo.WPA2enabled ? " WPA2" : "",
assoc_req->secinfo.wep_enabled ? " WEP" : "",
assoc_req->secinfo.auth_mode);
}
static int assoc_helper_essid(lbs_private *priv, static int assoc_helper_essid(lbs_private *priv,
struct assoc_request * assoc_req) struct assoc_request * assoc_req)
...@@ -55,7 +32,7 @@ static int assoc_helper_essid(lbs_private *priv, ...@@ -55,7 +32,7 @@ static int assoc_helper_essid(lbs_private *priv,
if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags))
channel = assoc_req->channel; channel = assoc_req->channel;
lbs_deb_assoc("New SSID requested: '%s'\n", lbs_deb_assoc("SSID '%s' requested\n",
escape_essid(assoc_req->ssid, assoc_req->ssid_len)); escape_essid(assoc_req->ssid, assoc_req->ssid_len));
if (assoc_req->mode == IW_MODE_INFRA) { if (assoc_req->mode == IW_MODE_INFRA) {
lbs_send_specific_ssid_scan(priv, assoc_req->ssid, lbs_send_specific_ssid_scan(priv, assoc_req->ssid,
...@@ -64,7 +41,6 @@ static int assoc_helper_essid(lbs_private *priv, ...@@ -64,7 +41,6 @@ static int assoc_helper_essid(lbs_private *priv,
bss = lbs_find_ssid_in_list(adapter, assoc_req->ssid, bss = lbs_find_ssid_in_list(adapter, assoc_req->ssid,
assoc_req->ssid_len, NULL, IW_MODE_INFRA, channel); assoc_req->ssid_len, NULL, IW_MODE_INFRA, channel);
if (bss != NULL) { if (bss != NULL) {
lbs_deb_assoc("SSID found in scan list, associating\n");
memcpy(&assoc_req->bss, bss, sizeof(struct bss_descriptor)); memcpy(&assoc_req->bss, bss, sizeof(struct bss_descriptor));
ret = lbs_associate(priv, assoc_req); ret = lbs_associate(priv, assoc_req);
} else { } else {
...@@ -138,6 +114,8 @@ static int assoc_helper_associate(lbs_private *priv, ...@@ -138,6 +114,8 @@ static int assoc_helper_associate(lbs_private *priv,
{ {
int ret = 0, done = 0; int ret = 0, done = 0;
lbs_deb_enter(LBS_DEB_ASSOC);
/* If we're given and 'any' BSSID, try associating based on SSID */ /* If we're given and 'any' BSSID, try associating based on SSID */
if (test_bit(ASSOC_FLAG_BSSID, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_BSSID, &assoc_req->flags)) {
...@@ -145,19 +123,14 @@ static int assoc_helper_associate(lbs_private *priv, ...@@ -145,19 +123,14 @@ static int assoc_helper_associate(lbs_private *priv,
&& compare_ether_addr(bssid_off, assoc_req->bssid)) { && compare_ether_addr(bssid_off, assoc_req->bssid)) {
ret = assoc_helper_bssid(priv, assoc_req); ret = assoc_helper_bssid(priv, assoc_req);
done = 1; done = 1;
if (ret) {
lbs_deb_assoc("ASSOC: bssid: ret = %d\n", ret);
}
} }
} }
if (!done && test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)) { if (!done && test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)) {
ret = assoc_helper_essid(priv, assoc_req); ret = assoc_helper_essid(priv, assoc_req);
if (ret) {
lbs_deb_assoc("ASSOC: bssid: ret = %d\n", ret);
}
} }
lbs_deb_leave_args(LBS_DEB_ASSOC, "ret %d", ret);
return ret; return ret;
} }
...@@ -194,18 +167,24 @@ static int assoc_helper_mode(lbs_private *priv, ...@@ -194,18 +167,24 @@ static int assoc_helper_mode(lbs_private *priv,
static int update_channel(lbs_private * priv) static int update_channel(lbs_private * priv)
{ {
int ret;
/* the channel in f/w could be out of sync, get the current channel */ /* the channel in f/w could be out of sync, get the current channel */
return lbs_prepare_and_send_command(priv, CMD_802_11_RF_CHANNEL, lbs_deb_enter(LBS_DEB_ASSOC);
ret = lbs_prepare_and_send_command(priv, CMD_802_11_RF_CHANNEL,
CMD_OPT_802_11_RF_CHANNEL_GET, CMD_OPT_802_11_RF_CHANNEL_GET,
CMD_OPTION_WAITFORRSP, 0, NULL); CMD_OPTION_WAITFORRSP, 0, NULL);
lbs_deb_leave_args(LBS_DEB_ASSOC, "ret %d", ret);
return ret;
} }
void lbs_sync_channel(struct work_struct *work) void lbs_sync_channel(struct work_struct *work)
{ {
lbs_private *priv = container_of(work, lbs_private, sync_channel); lbs_private *priv = container_of(work, lbs_private, sync_channel);
lbs_deb_enter(LBS_DEB_ASSOC);
if (update_channel(priv) != 0) if (update_channel(priv) != 0)
lbs_pr_info("Channel synchronization failed."); lbs_pr_info("Channel synchronization failed.");
lbs_deb_leave(LBS_DEB_ASSOC);
} }
static int assoc_helper_channel(lbs_private *priv, static int assoc_helper_channel(lbs_private *priv,
...@@ -437,40 +416,51 @@ static int assoc_helper_wpa_ie(lbs_private *priv, ...@@ -437,40 +416,51 @@ static int assoc_helper_wpa_ie(lbs_private *priv,
static int should_deauth_infrastructure(lbs_adapter *adapter, static int should_deauth_infrastructure(lbs_adapter *adapter,
struct assoc_request * assoc_req) struct assoc_request * assoc_req)
{ {
int ret = 0;
lbs_deb_enter(LBS_DEB_ASSOC);
if (adapter->connect_status != LBS_CONNECTED) if (adapter->connect_status != LBS_CONNECTED)
return 0; return 0;
if (test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)) {
lbs_deb_assoc("Deauthenticating due to new SSID in " lbs_deb_assoc("Deauthenticating due to new SSID\n");
" configuration request.\n"); ret = 1;
return 1; goto out;
} }
if (test_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags)) {
if (adapter->secinfo.auth_mode != assoc_req->secinfo.auth_mode) { if (adapter->secinfo.auth_mode != assoc_req->secinfo.auth_mode) {
lbs_deb_assoc("Deauthenticating due to updated security " lbs_deb_assoc("Deauthenticating due to new security\n");
"info in configuration request.\n"); ret = 1;
return 1; goto out;
} }
} }
if (test_bit(ASSOC_FLAG_BSSID, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_BSSID, &assoc_req->flags)) {
lbs_deb_assoc("Deauthenticating due to new BSSID in " lbs_deb_assoc("Deauthenticating due to new BSSID\n");
" configuration request.\n"); ret = 1;
return 1; goto out;
} }
if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) {
lbs_deb_assoc("Deauthenticating due to channel switch.\n"); lbs_deb_assoc("Deauthenticating due to channel switch\n");
return 1; ret = 1;
goto out;
} }
/* FIXME: deal with 'auto' mode somehow */ /* FIXME: deal with 'auto' mode somehow */
if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) {
if (assoc_req->mode != IW_MODE_INFRA) if (assoc_req->mode != IW_MODE_INFRA) {
return 1; lbs_deb_assoc("Deauthenticating due to leaving "
"infra mode\n");
ret = 1;
goto out;
}
} }
out:
lbs_deb_leave_args(LBS_DEB_ASSOC, "ret %d", ret);
return 0; return 0;
} }
...@@ -478,6 +468,8 @@ static int should_deauth_infrastructure(lbs_adapter *adapter, ...@@ -478,6 +468,8 @@ static int should_deauth_infrastructure(lbs_adapter *adapter,
static int should_stop_adhoc(lbs_adapter *adapter, static int should_stop_adhoc(lbs_adapter *adapter,
struct assoc_request * assoc_req) struct assoc_request * assoc_req)
{ {
lbs_deb_enter(LBS_DEB_ASSOC);
if (adapter->connect_status != LBS_CONNECTED) if (adapter->connect_status != LBS_CONNECTED)
return 0; return 0;
...@@ -497,6 +489,7 @@ static int should_stop_adhoc(lbs_adapter *adapter, ...@@ -497,6 +489,7 @@ static int should_stop_adhoc(lbs_adapter *adapter,
return 1; return 1;
} }
lbs_deb_leave(LBS_DEB_ASSOC);
return 0; return 0;
} }
...@@ -521,7 +514,24 @@ void lbs_association_worker(struct work_struct *work) ...@@ -521,7 +514,24 @@ void lbs_association_worker(struct work_struct *work)
if (!assoc_req) if (!assoc_req)
goto done; goto done;
print_assoc_req(__func__, assoc_req); lbs_deb_assoc(
"Association Request:\n"
" flags: 0x%08lx\n"
" SSID: '%s'\n"
" chann: %d\n"
" band: %d\n"
" mode: %d\n"
" BSSID: %s\n"
" secinfo: %s%s%s\n"
" auth_mode: %d\n",
assoc_req->flags,
escape_essid(assoc_req->ssid, assoc_req->ssid_len),
assoc_req->channel, assoc_req->band, assoc_req->mode,
print_mac(mac, assoc_req->bssid),
assoc_req->secinfo.WPAenabled ? " WPA" : "",
assoc_req->secinfo.WPA2enabled ? " WPA2" : "",
assoc_req->secinfo.wep_enabled ? " WEP" : "",
assoc_req->secinfo.auth_mode);
/* If 'any' SSID was specified, find an SSID to associate with */ /* If 'any' SSID was specified, find an SSID to associate with */
if (test_bit(ASSOC_FLAG_SSID, &assoc_req->flags) if (test_bit(ASSOC_FLAG_SSID, &assoc_req->flags)
...@@ -581,59 +591,41 @@ void lbs_association_worker(struct work_struct *work) ...@@ -581,59 +591,41 @@ void lbs_association_worker(struct work_struct *work)
/* Send the various configuration bits to the firmware */ /* Send the various configuration bits to the firmware */
if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) {
ret = assoc_helper_mode(priv, assoc_req); ret = assoc_helper_mode(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) mode: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) {
ret = assoc_helper_channel(priv, assoc_req); ret = assoc_helper_channel(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) channel: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
if ( test_bit(ASSOC_FLAG_WEP_KEYS, &assoc_req->flags) if ( test_bit(ASSOC_FLAG_WEP_KEYS, &assoc_req->flags)
|| test_bit(ASSOC_FLAG_WEP_TX_KEYIDX, &assoc_req->flags)) { || test_bit(ASSOC_FLAG_WEP_TX_KEYIDX, &assoc_req->flags)) {
ret = assoc_helper_wep_keys(priv, assoc_req); ret = assoc_helper_wep_keys(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) wep_keys: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
if (test_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags)) {
ret = assoc_helper_secinfo(priv, assoc_req); ret = assoc_helper_secinfo(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) secinfo: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
if (test_bit(ASSOC_FLAG_WPA_IE, &assoc_req->flags)) { if (test_bit(ASSOC_FLAG_WPA_IE, &assoc_req->flags)) {
ret = assoc_helper_wpa_ie(priv, assoc_req); ret = assoc_helper_wpa_ie(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) wpa_ie: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
if (test_bit(ASSOC_FLAG_WPA_MCAST_KEY, &assoc_req->flags) if (test_bit(ASSOC_FLAG_WPA_MCAST_KEY, &assoc_req->flags)
|| test_bit(ASSOC_FLAG_WPA_UCAST_KEY, &assoc_req->flags)) { || test_bit(ASSOC_FLAG_WPA_UCAST_KEY, &assoc_req->flags)) {
ret = assoc_helper_wpa_keys(priv, assoc_req); ret = assoc_helper_wpa_keys(priv, assoc_req);
if (ret) { if (ret)
lbs_deb_assoc("ASSOC(:%d) wpa_keys: ret = %d\n",
__LINE__, ret);
goto out; goto out;
} }
}
/* SSID/BSSID should be the _last_ config option set, because they /* SSID/BSSID should be the _last_ config option set, because they
* trigger the association attempt. * trigger the association attempt.
...@@ -696,6 +688,7 @@ struct assoc_request *lbs_get_association_request(lbs_adapter *adapter) ...@@ -696,6 +688,7 @@ struct assoc_request *lbs_get_association_request(lbs_adapter *adapter)
{ {
struct assoc_request * assoc_req; struct assoc_request * assoc_req;
lbs_deb_enter(LBS_DEB_ASSOC);
if (!adapter->pending_assoc_req) { if (!adapter->pending_assoc_req) {
adapter->pending_assoc_req = kzalloc(sizeof(struct assoc_request), adapter->pending_assoc_req = kzalloc(sizeof(struct assoc_request),
GFP_KERNEL); GFP_KERNEL);
...@@ -762,7 +755,6 @@ struct assoc_request *lbs_get_association_request(lbs_adapter *adapter) ...@@ -762,7 +755,6 @@ struct assoc_request *lbs_get_association_request(lbs_adapter *adapter)
assoc_req->wpa_ie_len = adapter->wpa_ie_len; assoc_req->wpa_ie_len = adapter->wpa_ie_len;
} }
print_assoc_req(__func__, assoc_req); lbs_deb_leave(LBS_DEB_ASSOC);
return assoc_req; return assoc_req;
} }
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