[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()
This is nicer than the MAC_FMT stuff. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
95ea36275f
commit
0795af5729
@@ -19,6 +19,7 @@ void hostap_dump_rx_80211(const char *name, struct sk_buff *skb,
|
||||
{
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
u16 fc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
hdr = (struct ieee80211_hdr_4addr *) skb->data;
|
||||
|
||||
@@ -44,10 +45,11 @@ void hostap_dump_rx_80211(const char *name, struct sk_buff *skb,
|
||||
printk(" dur=0x%04x seq=0x%04x\n", le16_to_cpu(hdr->duration_id),
|
||||
le16_to_cpu(hdr->seq_ctl));
|
||||
|
||||
printk(KERN_DEBUG " A1=" MACSTR " A2=" MACSTR " A3=" MACSTR,
|
||||
MAC2STR(hdr->addr1), MAC2STR(hdr->addr2), MAC2STR(hdr->addr3));
|
||||
printk(KERN_DEBUG " A1=%s", print_mac(mac, hdr->addr1));
|
||||
printk(" A2=%s", print_mac(mac, hdr->addr2));
|
||||
printk(" A3=%s", print_mac(mac, hdr->addr3));
|
||||
if (skb->len >= 30)
|
||||
printk(" A4=" MACSTR, MAC2STR(hdr->addr4));
|
||||
printk(" A4=%s", print_mac(mac, hdr->addr4));
|
||||
printk("\n");
|
||||
}
|
||||
|
||||
@@ -534,6 +536,7 @@ static int
|
||||
hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
|
||||
u16 fc, struct net_device **wds)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac);
|
||||
/* FIX: is this really supposed to accept WDS frames only in Master
|
||||
* mode? What about Repeater or Managed with WDS frames? */
|
||||
if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) !=
|
||||
@@ -549,10 +552,10 @@ hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
|
||||
hdr->addr1[4] != 0xff || hdr->addr1[5] != 0xff)) {
|
||||
/* RA (or BSSID) is not ours - drop */
|
||||
PDEBUG(DEBUG_EXTRA, "%s: received WDS frame with "
|
||||
"not own or broadcast %s=" MACSTR "\n",
|
||||
"not own or broadcast %s=%s\n",
|
||||
local->dev->name,
|
||||
fc & IEEE80211_FCTL_FROMDS ? "RA" : "BSSID",
|
||||
MAC2STR(hdr->addr1));
|
||||
print_mac(mac, hdr->addr1));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -565,8 +568,8 @@ hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
|
||||
/* require that WDS link has been registered with TA or the
|
||||
* frame is from current AP when using 'AP client mode' */
|
||||
PDEBUG(DEBUG_EXTRA, "%s: received WDS[4 addr] frame "
|
||||
"from unknown TA=" MACSTR "\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2));
|
||||
"from unknown TA=%s\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr2));
|
||||
if (local->ap && local->ap->autom_ap_wds)
|
||||
hostap_wds_link_oper(local, hdr->addr2, WDS_ADD);
|
||||
return -1;
|
||||
@@ -632,6 +635,7 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
|
||||
{
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
int res, hdrlen;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL)
|
||||
return 0;
|
||||
@@ -643,8 +647,8 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
|
||||
strcmp(crypt->ops->name, "TKIP") == 0) {
|
||||
if (net_ratelimit()) {
|
||||
printk(KERN_DEBUG "%s: TKIP countermeasures: dropped "
|
||||
"received packet from " MACSTR "\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2));
|
||||
"received packet from %s\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr2));
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -653,9 +657,9 @@ hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb,
|
||||
res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv);
|
||||
atomic_dec(&crypt->refcnt);
|
||||
if (res < 0) {
|
||||
printk(KERN_DEBUG "%s: decryption failed (SA=" MACSTR
|
||||
printk(KERN_DEBUG "%s: decryption failed (SA=%s"
|
||||
") res=%d\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2), res);
|
||||
local->dev->name, print_mac(mac, hdr->addr2), res);
|
||||
local->comm_tallies.rx_discards_wep_undecryptable++;
|
||||
return -1;
|
||||
}
|
||||
@@ -671,6 +675,7 @@ hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb,
|
||||
{
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
int res, hdrlen;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (crypt == NULL || crypt->ops->decrypt_msdu == NULL)
|
||||
return 0;
|
||||
@@ -683,8 +688,8 @@ hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb,
|
||||
atomic_dec(&crypt->refcnt);
|
||||
if (res < 0) {
|
||||
printk(KERN_DEBUG "%s: MSDU decryption/MIC verification failed"
|
||||
" (SA=" MACSTR " keyidx=%d)\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2), keyidx);
|
||||
" (SA=%s keyidx=%d)\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr2), keyidx);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -716,6 +721,7 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
|
||||
struct ieee80211_crypt_data *crypt = NULL;
|
||||
void *sta = NULL;
|
||||
int keyidx = 0;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
iface = netdev_priv(dev);
|
||||
local = iface->local;
|
||||
@@ -792,8 +798,8 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
|
||||
* frames silently instead of filling system log with
|
||||
* these reports. */
|
||||
printk(KERN_DEBUG "%s: WEP decryption failed (not set)"
|
||||
" (SA=" MACSTR ")\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2));
|
||||
" (SA=%s)\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr2));
|
||||
#endif
|
||||
local->comm_tallies.rx_discards_wep_undecryptable++;
|
||||
goto rx_dropped;
|
||||
@@ -807,8 +813,8 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
|
||||
(keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0)
|
||||
{
|
||||
printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
|
||||
"from " MACSTR "\n", dev->name,
|
||||
MAC2STR(hdr->addr2));
|
||||
"from %s\n", dev->name,
|
||||
print_mac(mac, hdr->addr2));
|
||||
/* TODO: could inform hostapd about this so that it
|
||||
* could send auth failure report */
|
||||
goto rx_dropped;
|
||||
@@ -976,8 +982,8 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
|
||||
"unencrypted EAPOL frame\n", local->dev->name);
|
||||
} else {
|
||||
printk(KERN_DEBUG "%s: encryption configured, but RX "
|
||||
"frame not encrypted (SA=" MACSTR ")\n",
|
||||
local->dev->name, MAC2STR(hdr->addr2));
|
||||
"frame not encrypted (SA=%s)\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr2));
|
||||
goto rx_dropped;
|
||||
}
|
||||
}
|
||||
@@ -986,8 +992,9 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
|
||||
!hostap_is_eapol_frame(local, skb)) {
|
||||
if (net_ratelimit()) {
|
||||
printk(KERN_DEBUG "%s: dropped unencrypted RX data "
|
||||
"frame from " MACSTR " (drop_unencrypted=1)\n",
|
||||
dev->name, MAC2STR(hdr->addr2));
|
||||
"frame from %s"
|
||||
" (drop_unencrypted=1)\n",
|
||||
dev->name, print_mac(mac, hdr->addr2));
|
||||
}
|
||||
goto rx_dropped;
|
||||
}
|
||||
|
@@ -17,6 +17,7 @@ void hostap_dump_tx_80211(const char *name, struct sk_buff *skb)
|
||||
{
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
u16 fc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
hdr = (struct ieee80211_hdr_4addr *) skb->data;
|
||||
|
||||
@@ -40,10 +41,11 @@ void hostap_dump_tx_80211(const char *name, struct sk_buff *skb)
|
||||
printk(" dur=0x%04x seq=0x%04x\n", le16_to_cpu(hdr->duration_id),
|
||||
le16_to_cpu(hdr->seq_ctl));
|
||||
|
||||
printk(KERN_DEBUG " A1=" MACSTR " A2=" MACSTR " A3=" MACSTR,
|
||||
MAC2STR(hdr->addr1), MAC2STR(hdr->addr2), MAC2STR(hdr->addr3));
|
||||
printk(KERN_DEBUG " A1=%s", print_mac(mac, hdr->addr1));
|
||||
printk(" A2=%s", print_mac(mac, hdr->addr2));
|
||||
printk(" A3=%s", print_mac(mac, hdr->addr3));
|
||||
if (skb->len >= 30)
|
||||
printk(" A4=" MACSTR, MAC2STR(hdr->addr4));
|
||||
printk(" A4=%s", print_mac(mac, hdr->addr4));
|
||||
printk("\n");
|
||||
}
|
||||
|
||||
@@ -312,6 +314,7 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
u16 fc;
|
||||
int prefix_len, postfix_len, hdr_len, res;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
iface = netdev_priv(skb->dev);
|
||||
local = iface->local;
|
||||
@@ -326,8 +329,8 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
|
||||
hdr = (struct ieee80211_hdr_4addr *) skb->data;
|
||||
if (net_ratelimit()) {
|
||||
printk(KERN_DEBUG "%s: TKIP countermeasures: dropped "
|
||||
"TX packet to " MACSTR "\n",
|
||||
local->dev->name, MAC2STR(hdr->addr1));
|
||||
"TX packet to %s\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr1));
|
||||
}
|
||||
kfree_skb(skb);
|
||||
return NULL;
|
||||
|
@@ -94,6 +94,7 @@ static void ap_sta_hash_add(struct ap_data *ap, struct sta_info *sta)
|
||||
static void ap_sta_hash_del(struct ap_data *ap, struct sta_info *sta)
|
||||
{
|
||||
struct sta_info *s;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
s = ap->sta_hash[STA_HASH(sta->addr)];
|
||||
if (s == NULL) return;
|
||||
@@ -108,18 +109,20 @@ static void ap_sta_hash_del(struct ap_data *ap, struct sta_info *sta)
|
||||
if (s->hnext != NULL)
|
||||
s->hnext = s->hnext->hnext;
|
||||
else
|
||||
printk("AP: could not remove STA " MACSTR " from hash table\n",
|
||||
MAC2STR(sta->addr));
|
||||
printk("AP: could not remove STA %s"
|
||||
" from hash table\n",
|
||||
print_mac(mac, sta->addr));
|
||||
}
|
||||
|
||||
static void ap_free_sta(struct ap_data *ap, struct sta_info *sta)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac);
|
||||
if (sta->ap && sta->local)
|
||||
hostap_event_expired_sta(sta->local->dev, sta);
|
||||
|
||||
if (ap->proc != NULL) {
|
||||
char name[20];
|
||||
sprintf(name, MACSTR, MAC2STR(sta->addr));
|
||||
sprintf(name, "%s", print_mac(mac, sta->addr));
|
||||
remove_proc_entry(name, ap->proc);
|
||||
}
|
||||
|
||||
@@ -182,6 +185,7 @@ static void ap_handle_timer(unsigned long data)
|
||||
struct ap_data *ap;
|
||||
unsigned long next_time = 0;
|
||||
int was_assoc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (sta == NULL || sta->local == NULL || sta->local->ap == NULL) {
|
||||
PDEBUG(DEBUG_AP, "ap_handle_timer() called with NULL data\n");
|
||||
@@ -238,8 +242,8 @@ static void ap_handle_timer(unsigned long data)
|
||||
if (sta->ap) {
|
||||
if (ap->autom_ap_wds) {
|
||||
PDEBUG(DEBUG_AP, "%s: removing automatic WDS "
|
||||
"connection to AP " MACSTR "\n",
|
||||
local->dev->name, MAC2STR(sta->addr));
|
||||
"connection to AP %s\n",
|
||||
local->dev->name, print_mac(mac, sta->addr));
|
||||
hostap_wds_link_oper(local, sta->addr, WDS_DEL);
|
||||
}
|
||||
} else if (sta->timeout_next == STA_NULLFUNC) {
|
||||
@@ -255,11 +259,11 @@ static void ap_handle_timer(unsigned long data)
|
||||
} else {
|
||||
int deauth = sta->timeout_next == STA_DEAUTH;
|
||||
u16 resp;
|
||||
PDEBUG(DEBUG_AP, "%s: sending %s info to STA " MACSTR
|
||||
PDEBUG(DEBUG_AP, "%s: sending %s info to STA %s"
|
||||
"(last=%lu, jiffies=%lu)\n",
|
||||
local->dev->name,
|
||||
deauth ? "deauthentication" : "disassociation",
|
||||
MAC2STR(sta->addr), sta->last_rx, jiffies);
|
||||
print_mac(mac, sta->addr), sta->last_rx, jiffies);
|
||||
|
||||
resp = cpu_to_le16(deauth ? WLAN_REASON_PREV_AUTH_NOT_VALID :
|
||||
WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY);
|
||||
@@ -271,9 +275,10 @@ static void ap_handle_timer(unsigned long data)
|
||||
|
||||
if (sta->timeout_next == STA_DEAUTH) {
|
||||
if (sta->flags & WLAN_STA_PERM) {
|
||||
PDEBUG(DEBUG_AP, "%s: STA " MACSTR " would have been "
|
||||
"removed, but it has 'perm' flag\n",
|
||||
local->dev->name, MAC2STR(sta->addr));
|
||||
PDEBUG(DEBUG_AP, "%s: STA %s"
|
||||
" would have been removed, "
|
||||
"but it has 'perm' flag\n",
|
||||
local->dev->name, print_mac(mac, sta->addr));
|
||||
} else
|
||||
ap_free_sta(ap, sta);
|
||||
return;
|
||||
@@ -327,6 +332,7 @@ static int ap_control_proc_read(char *page, char **start, off_t off,
|
||||
struct ap_data *ap = (struct ap_data *) data;
|
||||
char *policy_txt;
|
||||
struct mac_entry *entry;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (off != 0) {
|
||||
*eof = 1;
|
||||
@@ -357,7 +363,7 @@ static int ap_control_proc_read(char *page, char **start, off_t off,
|
||||
break;
|
||||
}
|
||||
|
||||
p += sprintf(p, MACSTR "\n", MAC2STR(entry->addr));
|
||||
p += sprintf(p, "%s\n", print_mac(mac, entry->addr));
|
||||
}
|
||||
spin_unlock_bh(&ap->mac_restrictions.lock);
|
||||
|
||||
@@ -514,6 +520,7 @@ static int prism2_ap_proc_read(char *page, char **start, off_t off,
|
||||
struct ap_data *ap = (struct ap_data *) data;
|
||||
struct sta_info *sta;
|
||||
int i;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (off > PROC_LIMIT) {
|
||||
*eof = 1;
|
||||
@@ -526,7 +533,8 @@ static int prism2_ap_proc_read(char *page, char **start, off_t off,
|
||||
if (!sta->ap)
|
||||
continue;
|
||||
|
||||
p += sprintf(p, MACSTR " %d %d %d %d '", MAC2STR(sta->addr),
|
||||
p += sprintf(p, "%s %d %d %d %d '",
|
||||
print_mac(mac, sta->addr),
|
||||
sta->u.ap.channel, sta->last_rx_signal,
|
||||
sta->last_rx_silence, sta->last_rx_rate);
|
||||
for (i = 0; i < sta->u.ap.ssid_len; i++)
|
||||
@@ -623,6 +631,7 @@ static void hostap_ap_tx_cb_auth(struct sk_buff *skb, int ok, void *data)
|
||||
u16 fc, *pos, auth_alg, auth_transaction, status;
|
||||
struct sta_info *sta = NULL;
|
||||
char *txt = NULL;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (ap->local->hostapd) {
|
||||
dev_kfree_skb(skb);
|
||||
@@ -674,9 +683,9 @@ static void hostap_ap_tx_cb_auth(struct sk_buff *skb, int ok, void *data)
|
||||
if (sta)
|
||||
atomic_dec(&sta->users);
|
||||
if (txt) {
|
||||
PDEBUG(DEBUG_AP, "%s: " MACSTR " auth_cb - alg=%d trans#=%d "
|
||||
"status=%d - %s\n",
|
||||
dev->name, MAC2STR(hdr->addr1), auth_alg,
|
||||
PDEBUG(DEBUG_AP, "%s: %s auth_cb - alg=%d "
|
||||
"trans#=%d status=%d - %s\n",
|
||||
dev->name, print_mac(mac, hdr->addr1), auth_alg,
|
||||
auth_transaction, status, txt);
|
||||
}
|
||||
dev_kfree_skb(skb);
|
||||
@@ -692,6 +701,7 @@ static void hostap_ap_tx_cb_assoc(struct sk_buff *skb, int ok, void *data)
|
||||
u16 fc, *pos, status;
|
||||
struct sta_info *sta = NULL;
|
||||
char *txt = NULL;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (ap->local->hostapd) {
|
||||
dev_kfree_skb(skb);
|
||||
@@ -742,8 +752,8 @@ static void hostap_ap_tx_cb_assoc(struct sk_buff *skb, int ok, void *data)
|
||||
if (sta)
|
||||
atomic_dec(&sta->users);
|
||||
if (txt) {
|
||||
PDEBUG(DEBUG_AP, "%s: " MACSTR " assoc_cb - %s\n",
|
||||
dev->name, MAC2STR(hdr->addr1), txt);
|
||||
PDEBUG(DEBUG_AP, "%s: %s assoc_cb - %s\n",
|
||||
dev->name, print_mac(mac, hdr->addr1), txt);
|
||||
}
|
||||
dev_kfree_skb(skb);
|
||||
}
|
||||
@@ -755,6 +765,7 @@ static void hostap_ap_tx_cb_poll(struct sk_buff *skb, int ok, void *data)
|
||||
struct ap_data *ap = data;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
struct sta_info *sta;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (skb->len < 24)
|
||||
goto fail;
|
||||
@@ -766,9 +777,9 @@ static void hostap_ap_tx_cb_poll(struct sk_buff *skb, int ok, void *data)
|
||||
sta->flags &= ~WLAN_STA_PENDING_POLL;
|
||||
spin_unlock(&ap->sta_table_lock);
|
||||
} else {
|
||||
PDEBUG(DEBUG_AP, "%s: STA " MACSTR " did not ACK activity "
|
||||
"poll frame\n", ap->local->dev->name,
|
||||
MAC2STR(hdr->addr1));
|
||||
PDEBUG(DEBUG_AP, "%s: STA %s"
|
||||
" did not ACK activity poll frame\n",
|
||||
ap->local->dev->name, print_mac(mac, hdr->addr1));
|
||||
}
|
||||
|
||||
fail:
|
||||
@@ -985,6 +996,7 @@ static int prism2_sta_proc_read(char *page, char **start, off_t off,
|
||||
char *p = page;
|
||||
struct sta_info *sta = (struct sta_info *) data;
|
||||
int i;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
/* FIX: possible race condition.. the STA data could have just expired,
|
||||
* but proc entry was still here so that the read could have started;
|
||||
@@ -995,11 +1007,11 @@ static int prism2_sta_proc_read(char *page, char **start, off_t off,
|
||||
return 0;
|
||||
}
|
||||
|
||||
p += sprintf(p, "%s=" MACSTR "\nusers=%d\naid=%d\n"
|
||||
p += sprintf(p, "%s=%s\nusers=%d\naid=%d\n"
|
||||
"flags=0x%04x%s%s%s%s%s%s%s\n"
|
||||
"capability=0x%02x\nlisten_interval=%d\nsupported_rates=",
|
||||
sta->ap ? "AP" : "STA",
|
||||
MAC2STR(sta->addr), atomic_read(&sta->users), sta->aid,
|
||||
print_mac(mac, sta->addr), atomic_read(&sta->users), sta->aid,
|
||||
sta->flags,
|
||||
sta->flags & WLAN_STA_AUTH ? " AUTH" : "",
|
||||
sta->flags & WLAN_STA_ASSOC ? " ASSOC" : "",
|
||||
@@ -1060,6 +1072,7 @@ static void handle_add_proc_queue(struct work_struct *work)
|
||||
struct sta_info *sta;
|
||||
char name[20];
|
||||
struct add_sta_proc_data *entry, *prev;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
entry = ap->add_sta_proc_entries;
|
||||
ap->add_sta_proc_entries = NULL;
|
||||
@@ -1072,7 +1085,7 @@ static void handle_add_proc_queue(struct work_struct *work)
|
||||
spin_unlock_bh(&ap->sta_table_lock);
|
||||
|
||||
if (sta) {
|
||||
sprintf(name, MACSTR, MAC2STR(sta->addr));
|
||||
sprintf(name, "%s", print_mac(mac, sta->addr));
|
||||
sta->proc = create_proc_read_entry(
|
||||
name, 0, ap->proc,
|
||||
prism2_sta_proc_read, sta);
|
||||
@@ -1290,6 +1303,7 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
|
||||
struct sta_info *sta = NULL;
|
||||
struct ieee80211_crypt_data *crypt;
|
||||
char *txt = "";
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
len = skb->len - IEEE80211_MGMT_HDR_LEN;
|
||||
|
||||
@@ -1298,8 +1312,8 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
|
||||
|
||||
if (len < 6) {
|
||||
PDEBUG(DEBUG_AP, "%s: handle_authen - too short payload "
|
||||
"(len=%d) from " MACSTR "\n", dev->name, len,
|
||||
MAC2STR(hdr->addr2));
|
||||
"(len=%d) from %s\n", dev->name, len,
|
||||
print_mac(mac, hdr->addr2));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1364,8 +1378,8 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
|
||||
if (time_after(jiffies, sta->u.ap.last_beacon +
|
||||
(10 * sta->listen_interval * HZ) / 1024)) {
|
||||
PDEBUG(DEBUG_AP, "%s: no beacons received for a while,"
|
||||
" assuming AP " MACSTR " is now STA\n",
|
||||
dev->name, MAC2STR(sta->addr));
|
||||
" assuming AP %s is now STA\n",
|
||||
dev->name, print_mac(mac, sta->addr));
|
||||
sta->ap = 0;
|
||||
sta->flags = 0;
|
||||
sta->u.sta.challenge = NULL;
|
||||
@@ -1480,9 +1494,9 @@ static void handle_authen(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
|
||||
if (resp) {
|
||||
PDEBUG(DEBUG_AP, "%s: " MACSTR " auth (alg=%d trans#=%d "
|
||||
"stat=%d len=%d fc=%04x) ==> %d (%s)\n",
|
||||
dev->name, MAC2STR(hdr->addr2), auth_alg,
|
||||
PDEBUG(DEBUG_AP, "%s: %s auth (alg=%d "
|
||||
"trans#=%d stat=%d len=%d fc=%04x) ==> %d (%s)\n",
|
||||
dev->name, print_mac(mac, hdr->addr2), auth_alg,
|
||||
auth_transaction, status_code, len, fc, resp, txt);
|
||||
}
|
||||
}
|
||||
@@ -1502,13 +1516,14 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
|
||||
int send_deauth = 0;
|
||||
char *txt = "";
|
||||
u8 prev_ap[ETH_ALEN];
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
left = len = skb->len - IEEE80211_MGMT_HDR_LEN;
|
||||
|
||||
if (len < (reassoc ? 10 : 4)) {
|
||||
PDEBUG(DEBUG_AP, "%s: handle_assoc - too short payload "
|
||||
"(len=%d, reassoc=%d) from " MACSTR "\n",
|
||||
dev->name, len, reassoc, MAC2STR(hdr->addr2));
|
||||
"(len=%d, reassoc=%d) from %s\n",
|
||||
dev->name, len, reassoc, print_mac(mac, hdr->addr2));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1585,9 +1600,9 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
|
||||
if (left > 0) {
|
||||
PDEBUG(DEBUG_AP, "%s: assoc from " MACSTR " with extra"
|
||||
" data (%d bytes) [",
|
||||
dev->name, MAC2STR(hdr->addr2), left);
|
||||
PDEBUG(DEBUG_AP, "%s: assoc from %s"
|
||||
" with extra data (%d bytes) [",
|
||||
dev->name, print_mac(mac, hdr->addr2), left);
|
||||
while (left > 0) {
|
||||
PDEBUG2(DEBUG_AP, "<%02x>", *u);
|
||||
u++; left--;
|
||||
@@ -1687,10 +1702,10 @@ static void handle_assoc(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
|
||||
#if 0
|
||||
PDEBUG(DEBUG_AP, "%s: " MACSTR " %sassoc (len=%d prev_ap=" MACSTR
|
||||
") => %d(%d) (%s)\n",
|
||||
dev->name, MAC2STR(hdr->addr2), reassoc ? "re" : "", len,
|
||||
MAC2STR(prev_ap), resp, send_deauth, txt);
|
||||
PDEBUG(DEBUG_AP, "%s: %s %sassoc (len=%d "
|
||||
"prev_ap=%s) => %d(%d) (%s)\n",
|
||||
dev->name, print_mac(mac, hdr->addr2), reassoc ? "re" : "", len,
|
||||
print_mac(mac, prev_ap), resp, send_deauth, txt);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1705,6 +1720,7 @@ static void handle_deauth(local_info_t *local, struct sk_buff *skb,
|
||||
int len;
|
||||
u16 reason_code, *pos;
|
||||
struct sta_info *sta = NULL;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
len = skb->len - IEEE80211_MGMT_HDR_LEN;
|
||||
|
||||
@@ -1716,8 +1732,8 @@ static void handle_deauth(local_info_t *local, struct sk_buff *skb,
|
||||
pos = (u16 *) body;
|
||||
reason_code = __le16_to_cpu(*pos);
|
||||
|
||||
PDEBUG(DEBUG_AP, "%s: deauthentication: " MACSTR " len=%d, "
|
||||
"reason_code=%d\n", dev->name, MAC2STR(hdr->addr2), len,
|
||||
PDEBUG(DEBUG_AP, "%s: deauthentication: %s len=%d, "
|
||||
"reason_code=%d\n", dev->name, print_mac(mac, hdr->addr2), len,
|
||||
reason_code);
|
||||
|
||||
spin_lock_bh(&local->ap->sta_table_lock);
|
||||
@@ -1729,9 +1745,9 @@ static void handle_deauth(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
spin_unlock_bh(&local->ap->sta_table_lock);
|
||||
if (sta == NULL) {
|
||||
printk("%s: deauthentication from " MACSTR ", "
|
||||
printk("%s: deauthentication from %s, "
|
||||
"reason_code=%d, but STA not authenticated\n", dev->name,
|
||||
MAC2STR(hdr->addr2), reason_code);
|
||||
print_mac(mac, hdr->addr2), reason_code);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1746,6 +1762,7 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
|
||||
int len;
|
||||
u16 reason_code, *pos;
|
||||
struct sta_info *sta = NULL;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
len = skb->len - IEEE80211_MGMT_HDR_LEN;
|
||||
|
||||
@@ -1757,8 +1774,8 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
|
||||
pos = (u16 *) body;
|
||||
reason_code = __le16_to_cpu(*pos);
|
||||
|
||||
PDEBUG(DEBUG_AP, "%s: disassociation: " MACSTR " len=%d, "
|
||||
"reason_code=%d\n", dev->name, MAC2STR(hdr->addr2), len,
|
||||
PDEBUG(DEBUG_AP, "%s: disassociation: %s len=%d, "
|
||||
"reason_code=%d\n", dev->name, print_mac(mac, hdr->addr2), len,
|
||||
reason_code);
|
||||
|
||||
spin_lock_bh(&local->ap->sta_table_lock);
|
||||
@@ -1770,9 +1787,9 @@ static void handle_disassoc(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
spin_unlock_bh(&local->ap->sta_table_lock);
|
||||
if (sta == NULL) {
|
||||
printk("%s: disassociation from " MACSTR ", "
|
||||
printk("%s: disassociation from %s, "
|
||||
"reason_code=%d, but STA not authenticated\n",
|
||||
dev->name, MAC2STR(hdr->addr2), reason_code);
|
||||
dev->name, print_mac(mac, hdr->addr2), reason_code);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1862,15 +1879,16 @@ static void handle_pspoll(local_info_t *local,
|
||||
struct sta_info *sta;
|
||||
u16 aid;
|
||||
struct sk_buff *skb;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
PDEBUG(DEBUG_PS2, "handle_pspoll: BSSID=" MACSTR ", TA=" MACSTR
|
||||
" PWRMGT=%d\n",
|
||||
MAC2STR(hdr->addr1), MAC2STR(hdr->addr2),
|
||||
PDEBUG(DEBUG_PS2, "handle_pspoll: BSSID=%s"
|
||||
", TA=%s PWRMGT=%d\n",
|
||||
print_mac(mac, hdr->addr1), print_mac(mac, hdr->addr2),
|
||||
!!(le16_to_cpu(hdr->frame_ctl) & IEEE80211_FCTL_PM));
|
||||
|
||||
if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
|
||||
PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=" MACSTR
|
||||
" not own MAC\n", MAC2STR(hdr->addr1));
|
||||
PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=%s"
|
||||
" not own MAC\n", print_mac(mac, hdr->addr1));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1948,6 +1966,7 @@ static void handle_wds_oper_queue(struct work_struct *work)
|
||||
wds_oper_queue);
|
||||
local_info_t *local = ap->local;
|
||||
struct wds_oper_data *entry, *prev;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
spin_lock_bh(&local->lock);
|
||||
entry = local->ap->wds_oper_entries;
|
||||
@@ -1956,10 +1975,10 @@ static void handle_wds_oper_queue(struct work_struct *work)
|
||||
|
||||
while (entry) {
|
||||
PDEBUG(DEBUG_AP, "%s: %s automatic WDS connection "
|
||||
"to AP " MACSTR "\n",
|
||||
"to AP %s\n",
|
||||
local->dev->name,
|
||||
entry->type == WDS_ADD ? "adding" : "removing",
|
||||
MAC2STR(entry->addr));
|
||||
print_mac(mac, entry->addr));
|
||||
if (entry->type == WDS_ADD)
|
||||
prism2_wds_add(local, entry->addr, 0);
|
||||
else if (entry->type == WDS_DEL)
|
||||
@@ -2135,6 +2154,7 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
|
||||
#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
|
||||
u16 fc, type, stype;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
/* FIX: should give skb->len to handler functions and check that the
|
||||
* buffer is long enough */
|
||||
@@ -2163,8 +2183,8 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
|
||||
|
||||
if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
|
||||
PDEBUG(DEBUG_AP, "handle_ap_item - addr1(BSSID)="
|
||||
MACSTR " not own MAC\n",
|
||||
MAC2STR(hdr->addr1));
|
||||
"%s not own MAC\n",
|
||||
print_mac(mac, hdr->addr1));
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -2200,14 +2220,14 @@ static void handle_ap_item(local_info_t *local, struct sk_buff *skb,
|
||||
}
|
||||
|
||||
if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
|
||||
PDEBUG(DEBUG_AP, "handle_ap_item - addr1(DA)=" MACSTR
|
||||
" not own MAC\n", MAC2STR(hdr->addr1));
|
||||
PDEBUG(DEBUG_AP, "handle_ap_item - addr1(DA)=%s"
|
||||
" not own MAC\n", print_mac(mac, hdr->addr1));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN)) {
|
||||
PDEBUG(DEBUG_AP, "handle_ap_item - addr3(BSSID)=" MACSTR
|
||||
" not own MAC\n", MAC2STR(hdr->addr3));
|
||||
PDEBUG(DEBUG_AP, "handle_ap_item - addr3(BSSID)=%s"
|
||||
" not own MAC\n", print_mac(mac, hdr->addr3));
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -2288,6 +2308,7 @@ static void schedule_packet_send(local_info_t *local, struct sta_info *sta)
|
||||
struct sk_buff *skb;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
struct hostap_80211_rx_status rx_stats;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (skb_queue_empty(&sta->tx_buf))
|
||||
return;
|
||||
@@ -2308,8 +2329,8 @@ static void schedule_packet_send(local_info_t *local, struct sta_info *sta)
|
||||
memcpy(hdr->addr2, sta->addr, ETH_ALEN);
|
||||
hdr->duration_id = cpu_to_le16(sta->aid | BIT(15) | BIT(14));
|
||||
|
||||
PDEBUG(DEBUG_PS2, "%s: Scheduling buffered packet delivery for "
|
||||
"STA " MACSTR "\n", local->dev->name, MAC2STR(sta->addr));
|
||||
PDEBUG(DEBUG_PS2, "%s: Scheduling buffered packet delivery for STA "
|
||||
"%s\n", local->dev->name, print_mac(mac, sta->addr));
|
||||
|
||||
skb->dev = local->dev;
|
||||
|
||||
@@ -2636,6 +2657,7 @@ static int ap_update_sta_tx_rate(struct sta_info *sta, struct net_device *dev)
|
||||
int ret = sta->tx_rate;
|
||||
struct hostap_interface *iface;
|
||||
local_info_t *local;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
iface = netdev_priv(dev);
|
||||
local = iface->local;
|
||||
@@ -2663,9 +2685,9 @@ static int ap_update_sta_tx_rate(struct sta_info *sta, struct net_device *dev)
|
||||
case 3: sta->tx_rate = 110; break;
|
||||
default: sta->tx_rate = 0; break;
|
||||
}
|
||||
PDEBUG(DEBUG_AP, "%s: STA " MACSTR " TX rate raised to"
|
||||
" %d\n", dev->name, MAC2STR(sta->addr),
|
||||
sta->tx_rate);
|
||||
PDEBUG(DEBUG_AP, "%s: STA %s"
|
||||
" TX rate raised to %d\n",
|
||||
dev->name, print_mac(mac, sta->addr), sta->tx_rate);
|
||||
}
|
||||
sta->tx_since_last_failure = 0;
|
||||
}
|
||||
@@ -2683,6 +2705,7 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
|
||||
int set_tim, ret;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
struct hostap_skb_tx_data *meta;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
meta = (struct hostap_skb_tx_data *) skb->cb;
|
||||
ret = AP_TX_CONTINUE;
|
||||
@@ -2718,7 +2741,8 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
|
||||
* print out any errors here. */
|
||||
if (net_ratelimit()) {
|
||||
printk(KERN_DEBUG "AP: drop packet to non-associated "
|
||||
"STA " MACSTR "\n", MAC2STR(hdr->addr1));
|
||||
"STA %s\n",
|
||||
print_mac(mac, hdr->addr1));
|
||||
}
|
||||
#endif
|
||||
local->ap->tx_drop_nonassoc++;
|
||||
@@ -2756,8 +2780,9 @@ ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx)
|
||||
}
|
||||
|
||||
if (skb_queue_len(&sta->tx_buf) >= STA_MAX_TX_BUFFER) {
|
||||
PDEBUG(DEBUG_PS, "%s: No more space in STA (" MACSTR ")'s PS "
|
||||
"mode buffer\n", local->dev->name, MAC2STR(sta->addr));
|
||||
PDEBUG(DEBUG_PS, "%s: No more space in STA (%s"
|
||||
")'s PS mode buffer\n",
|
||||
local->dev->name, print_mac(mac, sta->addr));
|
||||
/* Make sure that TIM is set for the station (it might not be
|
||||
* after AP wlan hw reset). */
|
||||
/* FIX: should fix hw reset to restore bits based on STA
|
||||
@@ -2821,6 +2846,7 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
|
||||
struct sta_info *sta;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
struct hostap_skb_tx_data *meta;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
hdr = (struct ieee80211_hdr_4addr *) skb->data;
|
||||
meta = (struct hostap_skb_tx_data *) skb->cb;
|
||||
@@ -2829,9 +2855,9 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
|
||||
sta = ap_get_sta(local->ap, hdr->addr1);
|
||||
if (!sta) {
|
||||
spin_unlock(&local->ap->sta_table_lock);
|
||||
PDEBUG(DEBUG_AP, "%s: Could not find STA " MACSTR " for this "
|
||||
"TX error (@%lu)\n",
|
||||
local->dev->name, MAC2STR(hdr->addr1), jiffies);
|
||||
PDEBUG(DEBUG_AP, "%s: Could not find STA %s"
|
||||
" for this TX error (@%lu)\n",
|
||||
local->dev->name, print_mac(mac, hdr->addr1), jiffies);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2858,8 +2884,9 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
|
||||
case 3: sta->tx_rate = 110; break;
|
||||
default: sta->tx_rate = 0; break;
|
||||
}
|
||||
PDEBUG(DEBUG_AP, "%s: STA " MACSTR " TX rate lowered "
|
||||
"to %d\n", local->dev->name, MAC2STR(sta->addr),
|
||||
PDEBUG(DEBUG_AP, "%s: STA %s"
|
||||
" TX rate lowered to %d\n",
|
||||
local->dev->name, print_mac(mac, sta->addr),
|
||||
sta->tx_rate);
|
||||
}
|
||||
sta->tx_consecutive_exc = 0;
|
||||
@@ -2871,16 +2898,17 @@ void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb)
|
||||
static void hostap_update_sta_ps2(local_info_t *local, struct sta_info *sta,
|
||||
int pwrmgt, int type, int stype)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac);
|
||||
if (pwrmgt && !(sta->flags & WLAN_STA_PS)) {
|
||||
sta->flags |= WLAN_STA_PS;
|
||||
PDEBUG(DEBUG_PS2, "STA " MACSTR " changed to use PS "
|
||||
PDEBUG(DEBUG_PS2, "STA %s changed to use PS "
|
||||
"mode (type=0x%02X, stype=0x%02X)\n",
|
||||
MAC2STR(sta->addr), type >> 2, stype >> 4);
|
||||
print_mac(mac, sta->addr), type >> 2, stype >> 4);
|
||||
} else if (!pwrmgt && (sta->flags & WLAN_STA_PS)) {
|
||||
sta->flags &= ~WLAN_STA_PS;
|
||||
PDEBUG(DEBUG_PS2, "STA " MACSTR " changed to not use "
|
||||
PDEBUG(DEBUG_PS2, "STA %s changed to not use "
|
||||
"PS mode (type=0x%02X, stype=0x%02X)\n",
|
||||
MAC2STR(sta->addr), type >> 2, stype >> 4);
|
||||
print_mac(mac, sta->addr), type >> 2, stype >> 4);
|
||||
if (type != IEEE80211_FTYPE_CTL ||
|
||||
stype != IEEE80211_STYPE_PSPOLL)
|
||||
schedule_packet_send(local, sta);
|
||||
@@ -2924,6 +2952,7 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
|
||||
struct sta_info *sta;
|
||||
u16 fc, type, stype;
|
||||
struct ieee80211_hdr_4addr *hdr;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (local->ap == NULL)
|
||||
return AP_RX_CONTINUE;
|
||||
@@ -2954,9 +2983,10 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
|
||||
#ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT
|
||||
} else {
|
||||
printk(KERN_DEBUG "%s: dropped received packet"
|
||||
" from non-associated STA " MACSTR
|
||||
" from non-associated STA "
|
||||
"%s"
|
||||
" (type=0x%02x, subtype=0x%02x)\n",
|
||||
dev->name, MAC2STR(hdr->addr2),
|
||||
dev->name, print_mac(mac, hdr->addr2),
|
||||
type >> 2, stype >> 4);
|
||||
hostap_rx(dev, skb, rx_stats);
|
||||
#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
|
||||
@@ -2991,8 +3021,8 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
|
||||
* being associated. */
|
||||
printk(KERN_DEBUG "%s: rejected received nullfunc "
|
||||
"frame without ToDS from not associated STA "
|
||||
MACSTR "\n",
|
||||
dev->name, MAC2STR(hdr->addr2));
|
||||
"%s\n",
|
||||
dev->name, print_mac(mac, hdr->addr2));
|
||||
hostap_rx(dev, skb, rx_stats);
|
||||
#endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
|
||||
}
|
||||
@@ -3009,9 +3039,9 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
|
||||
* If BSSID is own, report the dropping of this frame. */
|
||||
if (memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {
|
||||
printk(KERN_DEBUG "%s: dropped received packet from "
|
||||
MACSTR " with no ToDS flag (type=0x%02x, "
|
||||
"subtype=0x%02x)\n", dev->name,
|
||||
MAC2STR(hdr->addr2), type >> 2, stype >> 4);
|
||||
"%s with no ToDS flag "
|
||||
"(type=0x%02x, subtype=0x%02x)\n", dev->name,
|
||||
print_mac(mac, hdr->addr2), type >> 2, stype >> 4);
|
||||
hostap_dump_rx_80211(dev->name, skb, rx_stats);
|
||||
}
|
||||
ret = AP_RX_DROP;
|
||||
|
@@ -6,9 +6,6 @@
|
||||
|
||||
#define BIT(x) (1 << (x))
|
||||
|
||||
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
|
||||
#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
|
||||
|
||||
|
||||
/* IEEE 802.11 defines */
|
||||
|
||||
|
@@ -2335,6 +2335,10 @@ static void prism2_txexc(local_info_t *local)
|
||||
int show_dump, res;
|
||||
char *payload = NULL;
|
||||
struct hfa384x_tx_frame txdesc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
DECLARE_MAC_BUF(mac2);
|
||||
DECLARE_MAC_BUF(mac3);
|
||||
DECLARE_MAC_BUF(mac4);
|
||||
|
||||
show_dump = local->frame_dump & PRISM2_DUMP_TXEXC_HDR;
|
||||
local->stats.tx_errors++;
|
||||
@@ -2400,10 +2404,9 @@ static void prism2_txexc(local_info_t *local)
|
||||
WLAN_FC_GET_STYPE(fc) >> 4,
|
||||
fc & IEEE80211_FCTL_TODS ? " ToDS" : "",
|
||||
fc & IEEE80211_FCTL_FROMDS ? " FromDS" : "");
|
||||
PDEBUG(DEBUG_EXTRA, " A1=" MACSTR " A2=" MACSTR " A3="
|
||||
MACSTR " A4=" MACSTR "\n",
|
||||
MAC2STR(txdesc.addr1), MAC2STR(txdesc.addr2),
|
||||
MAC2STR(txdesc.addr3), MAC2STR(txdesc.addr4));
|
||||
PDEBUG(DEBUG_EXTRA, " A1=%s A2=%s A3=%s A4=%s\n",
|
||||
print_mac(mac, txdesc.addr1), print_mac(mac2, txdesc.addr2),
|
||||
print_mac(mac3, txdesc.addr3), print_mac(mac4, txdesc.addr4));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -166,6 +166,7 @@ static void prism2_host_roaming(local_info_t *local)
|
||||
struct hfa384x_hostscan_result *selected, *entry;
|
||||
int i;
|
||||
unsigned long flags;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (local->last_join_time &&
|
||||
time_before(jiffies, local->last_join_time + 10 * HZ)) {
|
||||
@@ -198,8 +199,9 @@ static void prism2_host_roaming(local_info_t *local)
|
||||
local->preferred_ap[2] || local->preferred_ap[3] ||
|
||||
local->preferred_ap[4] || local->preferred_ap[5]) {
|
||||
/* Try to find preferred AP */
|
||||
PDEBUG(DEBUG_EXTRA, "%s: Preferred AP BSSID " MACSTR "\n",
|
||||
dev->name, MAC2STR(local->preferred_ap));
|
||||
PDEBUG(DEBUG_EXTRA, "%s: Preferred AP BSSID "
|
||||
"%s\n",
|
||||
dev->name, print_mac(mac, local->preferred_ap));
|
||||
for (i = 0; i < local->last_scan_results_count; i++) {
|
||||
entry = &local->last_scan_results[i];
|
||||
if (memcmp(local->preferred_ap, entry->bssid, 6) == 0)
|
||||
@@ -216,8 +218,9 @@ static void prism2_host_roaming(local_info_t *local)
|
||||
req.channel = selected->chid;
|
||||
spin_unlock_irqrestore(&local->lock, flags);
|
||||
|
||||
PDEBUG(DEBUG_EXTRA, "%s: JoinRequest: BSSID=" MACSTR " channel=%d\n",
|
||||
dev->name, MAC2STR(req.bssid), le16_to_cpu(req.channel));
|
||||
PDEBUG(DEBUG_EXTRA, "%s: JoinRequest: BSSID=%s"
|
||||
" channel=%d\n",
|
||||
dev->name, print_mac(mac, req.bssid), le16_to_cpu(req.channel));
|
||||
if (local->func->set_rid(dev, HFA384X_RID_JOINREQUEST, &req,
|
||||
sizeof(req))) {
|
||||
printk(KERN_DEBUG "%s: JoinRequest failed\n", dev->name);
|
||||
@@ -409,6 +412,7 @@ static void handle_info_queue_linkstatus(local_info_t *local)
|
||||
int val = local->prev_link_status;
|
||||
int connected;
|
||||
union iwreq_data wrqu;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
connected =
|
||||
val == HFA384X_LINKSTATUS_CONNECTED ||
|
||||
@@ -420,9 +424,10 @@ static void handle_info_queue_linkstatus(local_info_t *local)
|
||||
printk(KERN_DEBUG "%s: could not read CURRENTBSSID after "
|
||||
"LinkStatus event\n", local->dev->name);
|
||||
} else {
|
||||
PDEBUG(DEBUG_EXTRA, "%s: LinkStatus: BSSID=" MACSTR "\n",
|
||||
PDEBUG(DEBUG_EXTRA, "%s: LinkStatus: BSSID="
|
||||
"%s\n",
|
||||
local->dev->name,
|
||||
MAC2STR((unsigned char *) local->bssid));
|
||||
print_mac(mac, (unsigned char *) local->bssid));
|
||||
if (local->wds_type & HOSTAP_WDS_AP_CLIENT)
|
||||
hostap_add_sta(local->ap, local->bssid);
|
||||
}
|
||||
|
@@ -664,6 +664,7 @@ static int hostap_join_ap(struct net_device *dev)
|
||||
unsigned long flags;
|
||||
int i;
|
||||
struct hfa384x_hostscan_result *entry;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
iface = netdev_priv(dev);
|
||||
local = iface->local;
|
||||
@@ -685,14 +686,14 @@ static int hostap_join_ap(struct net_device *dev)
|
||||
|
||||
if (local->func->set_rid(dev, HFA384X_RID_JOINREQUEST, &req,
|
||||
sizeof(req))) {
|
||||
printk(KERN_DEBUG "%s: JoinRequest " MACSTR
|
||||
printk(KERN_DEBUG "%s: JoinRequest %s"
|
||||
" failed\n",
|
||||
dev->name, MAC2STR(local->preferred_ap));
|
||||
dev->name, print_mac(mac, local->preferred_ap));
|
||||
return -1;
|
||||
}
|
||||
|
||||
printk(KERN_DEBUG "%s: Trying to join BSSID " MACSTR "\n",
|
||||
dev->name, MAC2STR(local->preferred_ap));
|
||||
printk(KERN_DEBUG "%s: Trying to join BSSID %s\n",
|
||||
dev->name, print_mac(mac, local->preferred_ap));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3697,8 +3698,10 @@ static int prism2_ioctl_set_assoc_ap_addr(local_info_t *local,
|
||||
struct prism2_hostapd_param *param,
|
||||
int param_len)
|
||||
{
|
||||
printk(KERN_DEBUG "%ssta: associated as client with AP " MACSTR "\n",
|
||||
local->dev->name, MAC2STR(param->sta_addr));
|
||||
DECLARE_MAC_BUF(mac);
|
||||
printk(KERN_DEBUG "%ssta: associated as client with AP "
|
||||
"%s\n",
|
||||
local->dev->name, print_mac(mac, param->sta_addr));
|
||||
memcpy(local->assoc_ap_addr, param->sta_addr, ETH_ALEN);
|
||||
return 0;
|
||||
}
|
||||
|
@@ -530,6 +530,10 @@ int hostap_set_auth_algs(local_info_t *local)
|
||||
void hostap_dump_rx_header(const char *name, const struct hfa384x_rx_frame *rx)
|
||||
{
|
||||
u16 status, fc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
DECLARE_MAC_BUF(mac2);
|
||||
DECLARE_MAC_BUF(mac3);
|
||||
DECLARE_MAC_BUF(mac4);
|
||||
|
||||
status = __le16_to_cpu(rx->status);
|
||||
|
||||
@@ -548,13 +552,12 @@ void hostap_dump_rx_header(const char *name, const struct hfa384x_rx_frame *rx)
|
||||
fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
|
||||
fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
|
||||
|
||||
printk(KERN_DEBUG " A1=" MACSTR " A2=" MACSTR " A3=" MACSTR " A4="
|
||||
MACSTR "\n",
|
||||
MAC2STR(rx->addr1), MAC2STR(rx->addr2), MAC2STR(rx->addr3),
|
||||
MAC2STR(rx->addr4));
|
||||
printk(KERN_DEBUG " A1=%s A2=%s A3=%s A4=%s\n",
|
||||
print_mac(mac, rx->addr1), print_mac(mac2, rx->addr2),
|
||||
print_mac(mac3, rx->addr3), print_mac(mac4, rx->addr4));
|
||||
|
||||
printk(KERN_DEBUG " dst=" MACSTR " src=" MACSTR " len=%d\n",
|
||||
MAC2STR(rx->dst_addr), MAC2STR(rx->src_addr),
|
||||
printk(KERN_DEBUG " dst=%s src=%s len=%d\n",
|
||||
print_mac(mac, rx->dst_addr), print_mac(mac2, rx->src_addr),
|
||||
__be16_to_cpu(rx->len));
|
||||
}
|
||||
|
||||
@@ -562,6 +565,10 @@ void hostap_dump_rx_header(const char *name, const struct hfa384x_rx_frame *rx)
|
||||
void hostap_dump_tx_header(const char *name, const struct hfa384x_tx_frame *tx)
|
||||
{
|
||||
u16 fc;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
DECLARE_MAC_BUF(mac2);
|
||||
DECLARE_MAC_BUF(mac3);
|
||||
DECLARE_MAC_BUF(mac4);
|
||||
|
||||
printk(KERN_DEBUG "%s: TX status=0x%04x retry_count=%d tx_rate=%d "
|
||||
"tx_control=0x%04x; jiffies=%ld\n",
|
||||
@@ -577,13 +584,12 @@ void hostap_dump_tx_header(const char *name, const struct hfa384x_tx_frame *tx)
|
||||
fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
|
||||
fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
|
||||
|
||||
printk(KERN_DEBUG " A1=" MACSTR " A2=" MACSTR " A3=" MACSTR " A4="
|
||||
MACSTR "\n",
|
||||
MAC2STR(tx->addr1), MAC2STR(tx->addr2), MAC2STR(tx->addr3),
|
||||
MAC2STR(tx->addr4));
|
||||
printk(KERN_DEBUG " A1=%s A2=%s A3=%s A4=%s\n",
|
||||
print_mac(mac, tx->addr1), print_mac(mac2, tx->addr2),
|
||||
print_mac(mac3, tx->addr3), print_mac(mac4, tx->addr4));
|
||||
|
||||
printk(KERN_DEBUG " dst=" MACSTR " src=" MACSTR " len=%d\n",
|
||||
MAC2STR(tx->dst_addr), MAC2STR(tx->src_addr),
|
||||
printk(KERN_DEBUG " dst=%s src=%s len=%d\n",
|
||||
print_mac(mac, tx->dst_addr), print_mac(mac2, tx->src_addr),
|
||||
__be16_to_cpu(tx->len));
|
||||
}
|
||||
|
||||
|
@@ -106,6 +106,7 @@ static int prism2_wds_proc_read(char *page, char **start, off_t off,
|
||||
local_info_t *local = (local_info_t *) data;
|
||||
struct list_head *ptr;
|
||||
struct hostap_interface *iface;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (off > PROC_LIMIT) {
|
||||
*eof = 1;
|
||||
@@ -117,9 +118,9 @@ static int prism2_wds_proc_read(char *page, char **start, off_t off,
|
||||
iface = list_entry(ptr, struct hostap_interface, list);
|
||||
if (iface->type != HOSTAP_INTERFACE_WDS)
|
||||
continue;
|
||||
p += sprintf(p, "%s\t" MACSTR "\n",
|
||||
p += sprintf(p, "%s\t%s\n",
|
||||
iface->dev->name,
|
||||
MAC2STR(iface->u.wds.remote_addr));
|
||||
print_mac(mac, iface->u.wds.remote_addr));
|
||||
if ((p - page) > PROC_LIMIT) {
|
||||
printk(KERN_DEBUG "%s: wds proc did not fit\n",
|
||||
local->dev->name);
|
||||
@@ -147,6 +148,7 @@ static int prism2_bss_list_proc_read(char *page, char **start, off_t off,
|
||||
struct list_head *ptr;
|
||||
struct hostap_bss_info *bss;
|
||||
int i;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (off > PROC_LIMIT) {
|
||||
*eof = 1;
|
||||
@@ -158,8 +160,8 @@ static int prism2_bss_list_proc_read(char *page, char **start, off_t off,
|
||||
spin_lock_bh(&local->lock);
|
||||
list_for_each(ptr, &local->bss_list) {
|
||||
bss = list_entry(ptr, struct hostap_bss_info, list);
|
||||
p += sprintf(p, MACSTR "\t%lu\t%u\t0x%x\t",
|
||||
MAC2STR(bss->bssid), bss->last_update,
|
||||
p += sprintf(p, "%s\t%lu\t%u\t0x%x\t",
|
||||
print_mac(mac, bss->bssid), bss->last_update,
|
||||
bss->count, bss->capab_info);
|
||||
for (i = 0; i < bss->ssid_len; i++) {
|
||||
p += sprintf(p, "%c",
|
||||
@@ -312,6 +314,7 @@ static int prism2_scan_results_proc_read(char *page, char **start, off_t off,
|
||||
int entry, i, len, total = 0;
|
||||
struct hfa384x_hostscan_result *scanres;
|
||||
u8 *pos;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
p += sprintf(p, "CHID ANL SL BcnInt Capab Rate BSSID ATIM SupRates "
|
||||
"SSID\n");
|
||||
@@ -329,14 +332,14 @@ static int prism2_scan_results_proc_read(char *page, char **start, off_t off,
|
||||
if ((p - page) > (PAGE_SIZE - 200))
|
||||
break;
|
||||
|
||||
p += sprintf(p, "%d %d %d %d 0x%02x %d " MACSTR " %d ",
|
||||
p += sprintf(p, "%d %d %d %d 0x%02x %d %s %d ",
|
||||
le16_to_cpu(scanres->chid),
|
||||
(s16) le16_to_cpu(scanres->anl),
|
||||
(s16) le16_to_cpu(scanres->sl),
|
||||
le16_to_cpu(scanres->beacon_interval),
|
||||
le16_to_cpu(scanres->capability),
|
||||
le16_to_cpu(scanres->rate),
|
||||
MAC2STR(scanres->bssid),
|
||||
print_mac(mac, scanres->bssid),
|
||||
le16_to_cpu(scanres->atim));
|
||||
|
||||
pos = scanres->sup_rates;
|
||||
|
Reference in New Issue
Block a user