diff options
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 217 |
1 files changed, 95 insertions, 122 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index dcce3542d5a7..d0bfd8621119 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -2265,8 +2265,8 @@ static int ipw_send_adapter_address(struct ipw_priv *priv, u8 * mac) | |||
2265 | return -1; | 2265 | return -1; |
2266 | } | 2266 | } |
2267 | 2267 | ||
2268 | IPW_DEBUG_INFO("%s: Setting MAC to %s\n", | 2268 | IPW_DEBUG_INFO("%s: Setting MAC to %pM\n", |
2269 | priv->net_dev->name, print_mac(mac, mac)); | 2269 | priv->net_dev->name, mac); |
2270 | 2270 | ||
2271 | return ipw_send_cmd_pdu(priv, IPW_CMD_ADAPTER_ADDRESS, ETH_ALEN, mac); | 2271 | return ipw_send_cmd_pdu(priv, IPW_CMD_ADAPTER_ADDRESS, ETH_ALEN, mac); |
2272 | } | 2272 | } |
@@ -3812,7 +3812,6 @@ static u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid) | |||
3812 | { | 3812 | { |
3813 | struct ipw_station_entry entry; | 3813 | struct ipw_station_entry entry; |
3814 | int i; | 3814 | int i; |
3815 | DECLARE_MAC_BUF(mac); | ||
3816 | 3815 | ||
3817 | for (i = 0; i < priv->num_stations; i++) { | 3816 | for (i = 0; i < priv->num_stations; i++) { |
3818 | if (!memcmp(priv->stations[i], bssid, ETH_ALEN)) { | 3817 | if (!memcmp(priv->stations[i], bssid, ETH_ALEN)) { |
@@ -3829,7 +3828,7 @@ static u8 ipw_add_station(struct ipw_priv *priv, u8 * bssid) | |||
3829 | if (i == MAX_STATIONS) | 3828 | if (i == MAX_STATIONS) |
3830 | return IPW_INVALID_STATION; | 3829 | return IPW_INVALID_STATION; |
3831 | 3830 | ||
3832 | IPW_DEBUG_SCAN("Adding AdHoc station: %s\n", print_mac(mac, bssid)); | 3831 | IPW_DEBUG_SCAN("Adding AdHoc station: %pM\n", bssid); |
3833 | 3832 | ||
3834 | entry.reserved = 0; | 3833 | entry.reserved = 0; |
3835 | entry.support_mode = 0; | 3834 | entry.support_mode = 0; |
@@ -3856,7 +3855,6 @@ static u8 ipw_find_station(struct ipw_priv *priv, u8 * bssid) | |||
3856 | static void ipw_send_disassociate(struct ipw_priv *priv, int quiet) | 3855 | static void ipw_send_disassociate(struct ipw_priv *priv, int quiet) |
3857 | { | 3856 | { |
3858 | int err; | 3857 | int err; |
3859 | DECLARE_MAC_BUF(mac); | ||
3860 | 3858 | ||
3861 | if (priv->status & STATUS_ASSOCIATING) { | 3859 | if (priv->status & STATUS_ASSOCIATING) { |
3862 | IPW_DEBUG_ASSOC("Disassociating while associating.\n"); | 3860 | IPW_DEBUG_ASSOC("Disassociating while associating.\n"); |
@@ -3869,9 +3867,9 @@ static void ipw_send_disassociate(struct ipw_priv *priv, int quiet) | |||
3869 | return; | 3867 | return; |
3870 | } | 3868 | } |
3871 | 3869 | ||
3872 | IPW_DEBUG_ASSOC("Disassocation attempt from %s " | 3870 | IPW_DEBUG_ASSOC("Disassocation attempt from %pM " |
3873 | "on channel %d.\n", | 3871 | "on channel %d.\n", |
3874 | print_mac(mac, priv->assoc_request.bssid), | 3872 | priv->assoc_request.bssid, |
3875 | priv->assoc_request.channel); | 3873 | priv->assoc_request.channel); |
3876 | 3874 | ||
3877 | priv->status &= ~(STATUS_ASSOCIATING | STATUS_ASSOCIATED); | 3875 | priv->status &= ~(STATUS_ASSOCIATING | STATUS_ASSOCIATED); |
@@ -4397,7 +4395,6 @@ static void handle_scan_event(struct ipw_priv *priv) | |||
4397 | static void ipw_rx_notification(struct ipw_priv *priv, | 4395 | static void ipw_rx_notification(struct ipw_priv *priv, |
4398 | struct ipw_rx_notification *notif) | 4396 | struct ipw_rx_notification *notif) |
4399 | { | 4397 | { |
4400 | DECLARE_MAC_BUF(mac); | ||
4401 | u16 size = le16_to_cpu(notif->size); | 4398 | u16 size = le16_to_cpu(notif->size); |
4402 | notif->size = le16_to_cpu(notif->size); | 4399 | notif->size = le16_to_cpu(notif->size); |
4403 | 4400 | ||
@@ -4411,11 +4408,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4411 | case CMAS_ASSOCIATED:{ | 4408 | case CMAS_ASSOCIATED:{ |
4412 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4409 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
4413 | IPW_DL_ASSOC, | 4410 | IPW_DL_ASSOC, |
4414 | "associated: '%s' %s" | 4411 | "associated: '%s' %pM \n", |
4415 | " \n", | ||
4416 | escape_essid(priv->essid, | 4412 | escape_essid(priv->essid, |
4417 | priv->essid_len), | 4413 | priv->essid_len), |
4418 | print_mac(mac, priv->bssid)); | 4414 | priv->bssid); |
4419 | 4415 | ||
4420 | switch (priv->ieee->iw_mode) { | 4416 | switch (priv->ieee->iw_mode) { |
4421 | case IW_MODE_INFRA: | 4417 | case IW_MODE_INFRA: |
@@ -4492,13 +4488,13 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4492 | IPW_DL_STATE | | 4488 | IPW_DL_STATE | |
4493 | IPW_DL_ASSOC, | 4489 | IPW_DL_ASSOC, |
4494 | "deauthenticated: '%s' " | 4490 | "deauthenticated: '%s' " |
4495 | "%s" | 4491 | "%pM" |
4496 | ": (0x%04X) - %s \n", | 4492 | ": (0x%04X) - %s \n", |
4497 | escape_essid(priv-> | 4493 | escape_essid(priv-> |
4498 | essid, | 4494 | essid, |
4499 | priv-> | 4495 | priv-> |
4500 | essid_len), | 4496 | essid_len), |
4501 | print_mac(mac, priv->bssid), | 4497 | priv->bssid, |
4502 | le16_to_cpu(auth->status), | 4498 | le16_to_cpu(auth->status), |
4503 | ipw_get_status_code | 4499 | ipw_get_status_code |
4504 | (le16_to_cpu | 4500 | (le16_to_cpu |
@@ -4515,11 +4511,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4515 | 4511 | ||
4516 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4512 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
4517 | IPW_DL_ASSOC, | 4513 | IPW_DL_ASSOC, |
4518 | "authenticated: '%s' %s" | 4514 | "authenticated: '%s' %pM\n", |
4519 | "\n", | ||
4520 | escape_essid(priv->essid, | 4515 | escape_essid(priv->essid, |
4521 | priv->essid_len), | 4516 | priv->essid_len), |
4522 | print_mac(mac, priv->bssid)); | 4517 | priv->bssid); |
4523 | break; | 4518 | break; |
4524 | } | 4519 | } |
4525 | 4520 | ||
@@ -4544,11 +4539,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4544 | 4539 | ||
4545 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4540 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
4546 | IPW_DL_ASSOC, | 4541 | IPW_DL_ASSOC, |
4547 | "disassociated: '%s' %s" | 4542 | "disassociated: '%s' %pM \n", |
4548 | " \n", | ||
4549 | escape_essid(priv->essid, | 4543 | escape_essid(priv->essid, |
4550 | priv->essid_len), | 4544 | priv->essid_len), |
4551 | print_mac(mac, priv->bssid)); | 4545 | priv->bssid); |
4552 | 4546 | ||
4553 | priv->status &= | 4547 | priv->status &= |
4554 | ~(STATUS_DISASSOCIATING | | 4548 | ~(STATUS_DISASSOCIATING | |
@@ -4583,10 +4577,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4583 | switch (auth->state) { | 4577 | switch (auth->state) { |
4584 | case CMAS_AUTHENTICATED: | 4578 | case CMAS_AUTHENTICATED: |
4585 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE, | 4579 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE, |
4586 | "authenticated: '%s' %s \n", | 4580 | "authenticated: '%s' %pM \n", |
4587 | escape_essid(priv->essid, | 4581 | escape_essid(priv->essid, |
4588 | priv->essid_len), | 4582 | priv->essid_len), |
4589 | print_mac(mac, priv->bssid)); | 4583 | priv->bssid); |
4590 | priv->status |= STATUS_AUTH; | 4584 | priv->status |= STATUS_AUTH; |
4591 | break; | 4585 | break; |
4592 | 4586 | ||
@@ -4602,10 +4596,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4602 | } | 4596 | } |
4603 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4597 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
4604 | IPW_DL_ASSOC, | 4598 | IPW_DL_ASSOC, |
4605 | "deauthenticated: '%s' %s\n", | 4599 | "deauthenticated: '%s' %pM\n", |
4606 | escape_essid(priv->essid, | 4600 | escape_essid(priv->essid, |
4607 | priv->essid_len), | 4601 | priv->essid_len), |
4608 | print_mac(mac, priv->bssid)); | 4602 | priv->bssid); |
4609 | 4603 | ||
4610 | priv->status &= ~(STATUS_ASSOCIATING | | 4604 | priv->status &= ~(STATUS_ASSOCIATING | |
4611 | STATUS_AUTH | | 4605 | STATUS_AUTH | |
@@ -5429,27 +5423,25 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5429 | int roaming) | 5423 | int roaming) |
5430 | { | 5424 | { |
5431 | struct ipw_supported_rates rates; | 5425 | struct ipw_supported_rates rates; |
5432 | DECLARE_MAC_BUF(mac); | ||
5433 | DECLARE_MAC_BUF(mac2); | ||
5434 | 5426 | ||
5435 | /* Verify that this network's capability is compatible with the | 5427 | /* Verify that this network's capability is compatible with the |
5436 | * current mode (AdHoc or Infrastructure) */ | 5428 | * current mode (AdHoc or Infrastructure) */ |
5437 | if ((priv->ieee->iw_mode == IW_MODE_ADHOC && | 5429 | if ((priv->ieee->iw_mode == IW_MODE_ADHOC && |
5438 | !(network->capability & WLAN_CAPABILITY_IBSS))) { | 5430 | !(network->capability & WLAN_CAPABILITY_IBSS))) { |
5439 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded due to " | 5431 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded due to " |
5440 | "capability mismatch.\n", | 5432 | "capability mismatch.\n", |
5441 | escape_essid(network->ssid, network->ssid_len), | 5433 | escape_essid(network->ssid, network->ssid_len), |
5442 | print_mac(mac, network->bssid)); | 5434 | network->bssid); |
5443 | return 0; | 5435 | return 0; |
5444 | } | 5436 | } |
5445 | 5437 | ||
5446 | /* If we do not have an ESSID for this AP, we can not associate with | 5438 | /* If we do not have an ESSID for this AP, we can not associate with |
5447 | * it */ | 5439 | * it */ |
5448 | if (network->flags & NETWORK_EMPTY_ESSID) { | 5440 | if (network->flags & NETWORK_EMPTY_ESSID) { |
5449 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5441 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5450 | "because of hidden ESSID.\n", | 5442 | "because of hidden ESSID.\n", |
5451 | escape_essid(network->ssid, network->ssid_len), | 5443 | escape_essid(network->ssid, network->ssid_len), |
5452 | print_mac(mac, network->bssid)); | 5444 | network->bssid); |
5453 | return 0; | 5445 | return 0; |
5454 | } | 5446 | } |
5455 | 5447 | ||
@@ -5459,11 +5451,11 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5459 | if ((network->ssid_len != match->network->ssid_len) || | 5451 | if ((network->ssid_len != match->network->ssid_len) || |
5460 | memcmp(network->ssid, match->network->ssid, | 5452 | memcmp(network->ssid, match->network->ssid, |
5461 | network->ssid_len)) { | 5453 | network->ssid_len)) { |
5462 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5454 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5463 | "because of non-network ESSID.\n", | 5455 | "because of non-network ESSID.\n", |
5464 | escape_essid(network->ssid, | 5456 | escape_essid(network->ssid, |
5465 | network->ssid_len), | 5457 | network->ssid_len), |
5466 | print_mac(mac, network->bssid)); | 5458 | network->bssid); |
5467 | return 0; | 5459 | return 0; |
5468 | } | 5460 | } |
5469 | } else { | 5461 | } else { |
@@ -5478,9 +5470,9 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5478 | strncpy(escaped, | 5470 | strncpy(escaped, |
5479 | escape_essid(network->ssid, network->ssid_len), | 5471 | escape_essid(network->ssid, network->ssid_len), |
5480 | sizeof(escaped)); | 5472 | sizeof(escaped)); |
5481 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5473 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5482 | "because of ESSID mismatch: '%s'.\n", | 5474 | "because of ESSID mismatch: '%s'.\n", |
5483 | escaped, print_mac(mac, network->bssid), | 5475 | escaped, network->bssid, |
5484 | escape_essid(priv->essid, | 5476 | escape_essid(priv->essid, |
5485 | priv->essid_len)); | 5477 | priv->essid_len)); |
5486 | return 0; | 5478 | return 0; |
@@ -5507,10 +5499,10 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5507 | /* Now go through and see if the requested network is valid... */ | 5499 | /* Now go through and see if the requested network is valid... */ |
5508 | if (priv->ieee->scan_age != 0 && | 5500 | if (priv->ieee->scan_age != 0 && |
5509 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { | 5501 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { |
5510 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5502 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5511 | "because of age: %ums.\n", | 5503 | "because of age: %ums.\n", |
5512 | escape_essid(network->ssid, network->ssid_len), | 5504 | escape_essid(network->ssid, network->ssid_len), |
5513 | print_mac(mac, network->bssid), | 5505 | network->bssid, |
5514 | jiffies_to_msecs(jiffies - | 5506 | jiffies_to_msecs(jiffies - |
5515 | network->last_scanned)); | 5507 | network->last_scanned)); |
5516 | return 0; | 5508 | return 0; |
@@ -5518,10 +5510,10 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5518 | 5510 | ||
5519 | if ((priv->config & CFG_STATIC_CHANNEL) && | 5511 | if ((priv->config & CFG_STATIC_CHANNEL) && |
5520 | (network->channel != priv->channel)) { | 5512 | (network->channel != priv->channel)) { |
5521 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5513 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5522 | "because of channel mismatch: %d != %d.\n", | 5514 | "because of channel mismatch: %d != %d.\n", |
5523 | escape_essid(network->ssid, network->ssid_len), | 5515 | escape_essid(network->ssid, network->ssid_len), |
5524 | print_mac(mac, network->bssid), | 5516 | network->bssid, |
5525 | network->channel, priv->channel); | 5517 | network->channel, priv->channel); |
5526 | return 0; | 5518 | return 0; |
5527 | } | 5519 | } |
@@ -5529,10 +5521,10 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5529 | /* Verify privacy compatability */ | 5521 | /* Verify privacy compatability */ |
5530 | if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != | 5522 | if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != |
5531 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { | 5523 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { |
5532 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5524 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5533 | "because of privacy mismatch: %s != %s.\n", | 5525 | "because of privacy mismatch: %s != %s.\n", |
5534 | escape_essid(network->ssid, network->ssid_len), | 5526 | escape_essid(network->ssid, network->ssid_len), |
5535 | print_mac(mac, network->bssid), | 5527 | network->bssid, |
5536 | priv-> | 5528 | priv-> |
5537 | capability & CAP_PRIVACY_ON ? "on" : "off", | 5529 | capability & CAP_PRIVACY_ON ? "on" : "off", |
5538 | network-> | 5530 | network-> |
@@ -5542,41 +5534,41 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5542 | } | 5534 | } |
5543 | 5535 | ||
5544 | if (!memcmp(network->bssid, priv->bssid, ETH_ALEN)) { | 5536 | if (!memcmp(network->bssid, priv->bssid, ETH_ALEN)) { |
5545 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5537 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5546 | "because of the same BSSID match: %s" | 5538 | "because of the same BSSID match: %pM" |
5547 | ".\n", escape_essid(network->ssid, | 5539 | ".\n", escape_essid(network->ssid, |
5548 | network->ssid_len), | 5540 | network->ssid_len), |
5549 | print_mac(mac, network->bssid), | 5541 | network->bssid, |
5550 | print_mac(mac2, priv->bssid)); | 5542 | priv->bssid); |
5551 | return 0; | 5543 | return 0; |
5552 | } | 5544 | } |
5553 | 5545 | ||
5554 | /* Filter out any incompatible freq / mode combinations */ | 5546 | /* Filter out any incompatible freq / mode combinations */ |
5555 | if (!ieee80211_is_valid_mode(priv->ieee, network->mode)) { | 5547 | if (!ieee80211_is_valid_mode(priv->ieee, network->mode)) { |
5556 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5548 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5557 | "because of invalid frequency/mode " | 5549 | "because of invalid frequency/mode " |
5558 | "combination.\n", | 5550 | "combination.\n", |
5559 | escape_essid(network->ssid, network->ssid_len), | 5551 | escape_essid(network->ssid, network->ssid_len), |
5560 | print_mac(mac, network->bssid)); | 5552 | network->bssid); |
5561 | return 0; | 5553 | return 0; |
5562 | } | 5554 | } |
5563 | 5555 | ||
5564 | /* Ensure that the rates supported by the driver are compatible with | 5556 | /* Ensure that the rates supported by the driver are compatible with |
5565 | * this AP, including verification of basic rates (mandatory) */ | 5557 | * this AP, including verification of basic rates (mandatory) */ |
5566 | if (!ipw_compatible_rates(priv, network, &rates)) { | 5558 | if (!ipw_compatible_rates(priv, network, &rates)) { |
5567 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5559 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5568 | "because configured rate mask excludes " | 5560 | "because configured rate mask excludes " |
5569 | "AP mandatory rate.\n", | 5561 | "AP mandatory rate.\n", |
5570 | escape_essid(network->ssid, network->ssid_len), | 5562 | escape_essid(network->ssid, network->ssid_len), |
5571 | print_mac(mac, network->bssid)); | 5563 | network->bssid); |
5572 | return 0; | 5564 | return 0; |
5573 | } | 5565 | } |
5574 | 5566 | ||
5575 | if (rates.num_rates == 0) { | 5567 | if (rates.num_rates == 0) { |
5576 | IPW_DEBUG_MERGE("Network '%s (%s)' excluded " | 5568 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
5577 | "because of no compatible rates.\n", | 5569 | "because of no compatible rates.\n", |
5578 | escape_essid(network->ssid, network->ssid_len), | 5570 | escape_essid(network->ssid, network->ssid_len), |
5579 | print_mac(mac, network->bssid)); | 5571 | network->bssid); |
5580 | return 0; | 5572 | return 0; |
5581 | } | 5573 | } |
5582 | 5574 | ||
@@ -5587,9 +5579,9 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5587 | /* Set up 'new' AP to this network */ | 5579 | /* Set up 'new' AP to this network */ |
5588 | ipw_copy_rates(&match->rates, &rates); | 5580 | ipw_copy_rates(&match->rates, &rates); |
5589 | match->network = network; | 5581 | match->network = network; |
5590 | IPW_DEBUG_MERGE("Network '%s (%s)' is a viable match.\n", | 5582 | IPW_DEBUG_MERGE("Network '%s (%pM)' is a viable match.\n", |
5591 | escape_essid(network->ssid, network->ssid_len), | 5583 | escape_essid(network->ssid, network->ssid_len), |
5592 | print_mac(mac, network->bssid)); | 5584 | network->bssid); |
5593 | 5585 | ||
5594 | return 1; | 5586 | return 1; |
5595 | } | 5587 | } |
@@ -5643,7 +5635,6 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5643 | struct ieee80211_network *network, int roaming) | 5635 | struct ieee80211_network *network, int roaming) |
5644 | { | 5636 | { |
5645 | struct ipw_supported_rates rates; | 5637 | struct ipw_supported_rates rates; |
5646 | DECLARE_MAC_BUF(mac); | ||
5647 | 5638 | ||
5648 | /* Verify that this network's capability is compatible with the | 5639 | /* Verify that this network's capability is compatible with the |
5649 | * current mode (AdHoc or Infrastructure) */ | 5640 | * current mode (AdHoc or Infrastructure) */ |
@@ -5651,20 +5642,20 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5651 | !(network->capability & WLAN_CAPABILITY_ESS)) || | 5642 | !(network->capability & WLAN_CAPABILITY_ESS)) || |
5652 | (priv->ieee->iw_mode == IW_MODE_ADHOC && | 5643 | (priv->ieee->iw_mode == IW_MODE_ADHOC && |
5653 | !(network->capability & WLAN_CAPABILITY_IBSS))) { | 5644 | !(network->capability & WLAN_CAPABILITY_IBSS))) { |
5654 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded due to " | 5645 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded due to " |
5655 | "capability mismatch.\n", | 5646 | "capability mismatch.\n", |
5656 | escape_essid(network->ssid, network->ssid_len), | 5647 | escape_essid(network->ssid, network->ssid_len), |
5657 | print_mac(mac, network->bssid)); | 5648 | network->bssid); |
5658 | return 0; | 5649 | return 0; |
5659 | } | 5650 | } |
5660 | 5651 | ||
5661 | /* If we do not have an ESSID for this AP, we can not associate with | 5652 | /* If we do not have an ESSID for this AP, we can not associate with |
5662 | * it */ | 5653 | * it */ |
5663 | if (network->flags & NETWORK_EMPTY_ESSID) { | 5654 | if (network->flags & NETWORK_EMPTY_ESSID) { |
5664 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5655 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5665 | "because of hidden ESSID.\n", | 5656 | "because of hidden ESSID.\n", |
5666 | escape_essid(network->ssid, network->ssid_len), | 5657 | escape_essid(network->ssid, network->ssid_len), |
5667 | print_mac(mac, network->bssid)); | 5658 | network->bssid); |
5668 | return 0; | 5659 | return 0; |
5669 | } | 5660 | } |
5670 | 5661 | ||
@@ -5674,11 +5665,11 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5674 | if ((network->ssid_len != match->network->ssid_len) || | 5665 | if ((network->ssid_len != match->network->ssid_len) || |
5675 | memcmp(network->ssid, match->network->ssid, | 5666 | memcmp(network->ssid, match->network->ssid, |
5676 | network->ssid_len)) { | 5667 | network->ssid_len)) { |
5677 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5668 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5678 | "because of non-network ESSID.\n", | 5669 | "because of non-network ESSID.\n", |
5679 | escape_essid(network->ssid, | 5670 | escape_essid(network->ssid, |
5680 | network->ssid_len), | 5671 | network->ssid_len), |
5681 | print_mac(mac, network->bssid)); | 5672 | network->bssid); |
5682 | return 0; | 5673 | return 0; |
5683 | } | 5674 | } |
5684 | } else { | 5675 | } else { |
@@ -5692,9 +5683,9 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5692 | strncpy(escaped, | 5683 | strncpy(escaped, |
5693 | escape_essid(network->ssid, network->ssid_len), | 5684 | escape_essid(network->ssid, network->ssid_len), |
5694 | sizeof(escaped)); | 5685 | sizeof(escaped)); |
5695 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5686 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5696 | "because of ESSID mismatch: '%s'.\n", | 5687 | "because of ESSID mismatch: '%s'.\n", |
5697 | escaped, print_mac(mac, network->bssid), | 5688 | escaped, network->bssid, |
5698 | escape_essid(priv->essid, | 5689 | escape_essid(priv->essid, |
5699 | priv->essid_len)); | 5690 | priv->essid_len)); |
5700 | return 0; | 5691 | return 0; |
@@ -5708,12 +5699,12 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5708 | strncpy(escaped, | 5699 | strncpy(escaped, |
5709 | escape_essid(network->ssid, network->ssid_len), | 5700 | escape_essid(network->ssid, network->ssid_len), |
5710 | sizeof(escaped)); | 5701 | sizeof(escaped)); |
5711 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded because " | 5702 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded because " |
5712 | "'%s (%s)' has a stronger signal.\n", | 5703 | "'%s (%pM)' has a stronger signal.\n", |
5713 | escaped, print_mac(mac, network->bssid), | 5704 | escaped, network->bssid, |
5714 | escape_essid(match->network->ssid, | 5705 | escape_essid(match->network->ssid, |
5715 | match->network->ssid_len), | 5706 | match->network->ssid_len), |
5716 | print_mac(mac, match->network->bssid)); | 5707 | match->network->bssid); |
5717 | return 0; | 5708 | return 0; |
5718 | } | 5709 | } |
5719 | 5710 | ||
@@ -5721,11 +5712,11 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5721 | * last 3 seconds, do not try and associate again... */ | 5712 | * last 3 seconds, do not try and associate again... */ |
5722 | if (network->last_associate && | 5713 | if (network->last_associate && |
5723 | time_after(network->last_associate + (HZ * 3UL), jiffies)) { | 5714 | time_after(network->last_associate + (HZ * 3UL), jiffies)) { |
5724 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5715 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5725 | "because of storming (%ums since last " | 5716 | "because of storming (%ums since last " |
5726 | "assoc attempt).\n", | 5717 | "assoc attempt).\n", |
5727 | escape_essid(network->ssid, network->ssid_len), | 5718 | escape_essid(network->ssid, network->ssid_len), |
5728 | print_mac(mac, network->bssid), | 5719 | network->bssid, |
5729 | jiffies_to_msecs(jiffies - | 5720 | jiffies_to_msecs(jiffies - |
5730 | network->last_associate)); | 5721 | network->last_associate)); |
5731 | return 0; | 5722 | return 0; |
@@ -5734,10 +5725,10 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5734 | /* Now go through and see if the requested network is valid... */ | 5725 | /* Now go through and see if the requested network is valid... */ |
5735 | if (priv->ieee->scan_age != 0 && | 5726 | if (priv->ieee->scan_age != 0 && |
5736 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { | 5727 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { |
5737 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5728 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5738 | "because of age: %ums.\n", | 5729 | "because of age: %ums.\n", |
5739 | escape_essid(network->ssid, network->ssid_len), | 5730 | escape_essid(network->ssid, network->ssid_len), |
5740 | print_mac(mac, network->bssid), | 5731 | network->bssid, |
5741 | jiffies_to_msecs(jiffies - | 5732 | jiffies_to_msecs(jiffies - |
5742 | network->last_scanned)); | 5733 | network->last_scanned)); |
5743 | return 0; | 5734 | return 0; |
@@ -5745,10 +5736,10 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5745 | 5736 | ||
5746 | if ((priv->config & CFG_STATIC_CHANNEL) && | 5737 | if ((priv->config & CFG_STATIC_CHANNEL) && |
5747 | (network->channel != priv->channel)) { | 5738 | (network->channel != priv->channel)) { |
5748 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5739 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5749 | "because of channel mismatch: %d != %d.\n", | 5740 | "because of channel mismatch: %d != %d.\n", |
5750 | escape_essid(network->ssid, network->ssid_len), | 5741 | escape_essid(network->ssid, network->ssid_len), |
5751 | print_mac(mac, network->bssid), | 5742 | network->bssid, |
5752 | network->channel, priv->channel); | 5743 | network->channel, priv->channel); |
5753 | return 0; | 5744 | return 0; |
5754 | } | 5745 | } |
@@ -5756,10 +5747,10 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5756 | /* Verify privacy compatability */ | 5747 | /* Verify privacy compatability */ |
5757 | if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != | 5748 | if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != |
5758 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { | 5749 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { |
5759 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5750 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5760 | "because of privacy mismatch: %s != %s.\n", | 5751 | "because of privacy mismatch: %s != %s.\n", |
5761 | escape_essid(network->ssid, network->ssid_len), | 5752 | escape_essid(network->ssid, network->ssid_len), |
5762 | print_mac(mac, network->bssid), | 5753 | network->bssid, |
5763 | priv->capability & CAP_PRIVACY_ON ? "on" : | 5754 | priv->capability & CAP_PRIVACY_ON ? "on" : |
5764 | "off", | 5755 | "off", |
5765 | network->capability & | 5756 | network->capability & |
@@ -5769,48 +5760,48 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5769 | 5760 | ||
5770 | if ((priv->config & CFG_STATIC_BSSID) && | 5761 | if ((priv->config & CFG_STATIC_BSSID) && |
5771 | memcmp(network->bssid, priv->bssid, ETH_ALEN)) { | 5762 | memcmp(network->bssid, priv->bssid, ETH_ALEN)) { |
5772 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5763 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5773 | "because of BSSID mismatch: %s.\n", | 5764 | "because of BSSID mismatch: %pM.\n", |
5774 | escape_essid(network->ssid, network->ssid_len), | 5765 | escape_essid(network->ssid, network->ssid_len), |
5775 | print_mac(mac, network->bssid), print_mac(mac, priv->bssid)); | 5766 | network->bssid, priv->bssid); |
5776 | return 0; | 5767 | return 0; |
5777 | } | 5768 | } |
5778 | 5769 | ||
5779 | /* Filter out any incompatible freq / mode combinations */ | 5770 | /* Filter out any incompatible freq / mode combinations */ |
5780 | if (!ieee80211_is_valid_mode(priv->ieee, network->mode)) { | 5771 | if (!ieee80211_is_valid_mode(priv->ieee, network->mode)) { |
5781 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5772 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5782 | "because of invalid frequency/mode " | 5773 | "because of invalid frequency/mode " |
5783 | "combination.\n", | 5774 | "combination.\n", |
5784 | escape_essid(network->ssid, network->ssid_len), | 5775 | escape_essid(network->ssid, network->ssid_len), |
5785 | print_mac(mac, network->bssid)); | 5776 | network->bssid); |
5786 | return 0; | 5777 | return 0; |
5787 | } | 5778 | } |
5788 | 5779 | ||
5789 | /* Filter out invalid channel in current GEO */ | 5780 | /* Filter out invalid channel in current GEO */ |
5790 | if (!ieee80211_is_valid_channel(priv->ieee, network->channel)) { | 5781 | if (!ieee80211_is_valid_channel(priv->ieee, network->channel)) { |
5791 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5782 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5792 | "because of invalid channel in current GEO\n", | 5783 | "because of invalid channel in current GEO\n", |
5793 | escape_essid(network->ssid, network->ssid_len), | 5784 | escape_essid(network->ssid, network->ssid_len), |
5794 | print_mac(mac, network->bssid)); | 5785 | network->bssid); |
5795 | return 0; | 5786 | return 0; |
5796 | } | 5787 | } |
5797 | 5788 | ||
5798 | /* Ensure that the rates supported by the driver are compatible with | 5789 | /* Ensure that the rates supported by the driver are compatible with |
5799 | * this AP, including verification of basic rates (mandatory) */ | 5790 | * this AP, including verification of basic rates (mandatory) */ |
5800 | if (!ipw_compatible_rates(priv, network, &rates)) { | 5791 | if (!ipw_compatible_rates(priv, network, &rates)) { |
5801 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5792 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5802 | "because configured rate mask excludes " | 5793 | "because configured rate mask excludes " |
5803 | "AP mandatory rate.\n", | 5794 | "AP mandatory rate.\n", |
5804 | escape_essid(network->ssid, network->ssid_len), | 5795 | escape_essid(network->ssid, network->ssid_len), |
5805 | print_mac(mac, network->bssid)); | 5796 | network->bssid); |
5806 | return 0; | 5797 | return 0; |
5807 | } | 5798 | } |
5808 | 5799 | ||
5809 | if (rates.num_rates == 0) { | 5800 | if (rates.num_rates == 0) { |
5810 | IPW_DEBUG_ASSOC("Network '%s (%s)' excluded " | 5801 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
5811 | "because of no compatible rates.\n", | 5802 | "because of no compatible rates.\n", |
5812 | escape_essid(network->ssid, network->ssid_len), | 5803 | escape_essid(network->ssid, network->ssid_len), |
5813 | print_mac(mac, network->bssid)); | 5804 | network->bssid); |
5814 | return 0; | 5805 | return 0; |
5815 | } | 5806 | } |
5816 | 5807 | ||
@@ -5822,9 +5813,9 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
5822 | ipw_copy_rates(&match->rates, &rates); | 5813 | ipw_copy_rates(&match->rates, &rates); |
5823 | match->network = network; | 5814 | match->network = network; |
5824 | 5815 | ||
5825 | IPW_DEBUG_ASSOC("Network '%s (%s)' is a viable match.\n", | 5816 | IPW_DEBUG_ASSOC("Network '%s (%pM)' is a viable match.\n", |
5826 | escape_essid(network->ssid, network->ssid_len), | 5817 | escape_essid(network->ssid, network->ssid_len), |
5827 | print_mac(mac, network->bssid)); | 5818 | network->bssid); |
5828 | 5819 | ||
5829 | return 1; | 5820 | return 1; |
5830 | } | 5821 | } |
@@ -6066,7 +6057,6 @@ static void ipw_bg_adhoc_check(struct work_struct *work) | |||
6066 | 6057 | ||
6067 | static void ipw_debug_config(struct ipw_priv *priv) | 6058 | static void ipw_debug_config(struct ipw_priv *priv) |
6068 | { | 6059 | { |
6069 | DECLARE_MAC_BUF(mac); | ||
6070 | IPW_DEBUG_INFO("Scan completed, no valid APs matched " | 6060 | IPW_DEBUG_INFO("Scan completed, no valid APs matched " |
6071 | "[CFG 0x%08X]\n", priv->config); | 6061 | "[CFG 0x%08X]\n", priv->config); |
6072 | if (priv->config & CFG_STATIC_CHANNEL) | 6062 | if (priv->config & CFG_STATIC_CHANNEL) |
@@ -6079,8 +6069,7 @@ static void ipw_debug_config(struct ipw_priv *priv) | |||
6079 | else | 6069 | else |
6080 | IPW_DEBUG_INFO("ESSID unlocked.\n"); | 6070 | IPW_DEBUG_INFO("ESSID unlocked.\n"); |
6081 | if (priv->config & CFG_STATIC_BSSID) | 6071 | if (priv->config & CFG_STATIC_BSSID) |
6082 | IPW_DEBUG_INFO("BSSID locked to %s\n", | 6072 | IPW_DEBUG_INFO("BSSID locked to %pM\n", priv->bssid); |
6083 | print_mac(mac, priv->bssid)); | ||
6084 | else | 6073 | else |
6085 | IPW_DEBUG_INFO("BSSID unlocked.\n"); | 6074 | IPW_DEBUG_INFO("BSSID unlocked.\n"); |
6086 | if (priv->capability & CAP_PRIVACY_ON) | 6075 | if (priv->capability & CAP_PRIVACY_ON) |
@@ -7295,7 +7284,6 @@ static int ipw_associate_network(struct ipw_priv *priv, | |||
7295 | struct ipw_supported_rates *rates, int roaming) | 7284 | struct ipw_supported_rates *rates, int roaming) |
7296 | { | 7285 | { |
7297 | int err; | 7286 | int err; |
7298 | DECLARE_MAC_BUF(mac); | ||
7299 | 7287 | ||
7300 | if (priv->config & CFG_FIXED_RATE) | 7288 | if (priv->config & CFG_FIXED_RATE) |
7301 | ipw_set_fixed_rate(priv, network->mode); | 7289 | ipw_set_fixed_rate(priv, network->mode); |
@@ -7463,9 +7451,9 @@ static int ipw_associate_network(struct ipw_priv *priv, | |||
7463 | return err; | 7451 | return err; |
7464 | } | 7452 | } |
7465 | 7453 | ||
7466 | IPW_DEBUG(IPW_DL_STATE, "associating: '%s' %s \n", | 7454 | IPW_DEBUG(IPW_DL_STATE, "associating: '%s' %pM \n", |
7467 | escape_essid(priv->essid, priv->essid_len), | 7455 | escape_essid(priv->essid, priv->essid_len), |
7468 | print_mac(mac, priv->bssid)); | 7456 | priv->bssid); |
7469 | 7457 | ||
7470 | return 0; | 7458 | return 0; |
7471 | } | 7459 | } |
@@ -7604,7 +7592,6 @@ static int ipw_associate(void *data) | |||
7604 | if (list_empty(&priv->ieee->network_free_list)) { | 7592 | if (list_empty(&priv->ieee->network_free_list)) { |
7605 | struct ieee80211_network *oldest = NULL; | 7593 | struct ieee80211_network *oldest = NULL; |
7606 | struct ieee80211_network *target; | 7594 | struct ieee80211_network *target; |
7607 | DECLARE_MAC_BUF(mac); | ||
7608 | 7595 | ||
7609 | list_for_each_entry(target, &priv->ieee->network_list, list) { | 7596 | list_for_each_entry(target, &priv->ieee->network_list, list) { |
7610 | if ((oldest == NULL) || | 7597 | if ((oldest == NULL) || |
@@ -7615,11 +7602,11 @@ static int ipw_associate(void *data) | |||
7615 | /* If there are no more slots, expire the oldest */ | 7602 | /* If there are no more slots, expire the oldest */ |
7616 | list_del(&oldest->list); | 7603 | list_del(&oldest->list); |
7617 | target = oldest; | 7604 | target = oldest; |
7618 | IPW_DEBUG_ASSOC("Expired '%s' (%s) from " | 7605 | IPW_DEBUG_ASSOC("Expired '%s' (%pM) from " |
7619 | "network list.\n", | 7606 | "network list.\n", |
7620 | escape_essid(target->ssid, | 7607 | escape_essid(target->ssid, |
7621 | target->ssid_len), | 7608 | target->ssid_len), |
7622 | print_mac(mac, target->bssid)); | 7609 | target->bssid); |
7623 | list_add_tail(&target->list, | 7610 | list_add_tail(&target->list, |
7624 | &priv->ieee->network_free_list); | 7611 | &priv->ieee->network_free_list); |
7625 | } | 7612 | } |
@@ -8301,9 +8288,6 @@ static void ipw_rx(struct ipw_priv *priv) | |||
8301 | u32 r, w, i; | 8288 | u32 r, w, i; |
8302 | u8 network_packet; | 8289 | u8 network_packet; |
8303 | u8 fill_rx = 0; | 8290 | u8 fill_rx = 0; |
8304 | DECLARE_MAC_BUF(mac); | ||
8305 | DECLARE_MAC_BUF(mac2); | ||
8306 | DECLARE_MAC_BUF(mac3); | ||
8307 | 8291 | ||
8308 | r = ipw_read32(priv, IPW_RX_READ_INDEX); | 8292 | r = ipw_read32(priv, IPW_RX_READ_INDEX); |
8309 | w = ipw_read32(priv, IPW_RX_WRITE_INDEX); | 8293 | w = ipw_read32(priv, IPW_RX_WRITE_INDEX); |
@@ -8433,18 +8417,12 @@ static void ipw_rx(struct ipw_priv *priv) | |||
8433 | header))) | 8417 | header))) |
8434 | { | 8418 | { |
8435 | IPW_DEBUG_DROP("Dropping: " | 8419 | IPW_DEBUG_DROP("Dropping: " |
8436 | "%s, " | 8420 | "%pM, " |
8437 | "%s, " | 8421 | "%pM, " |
8438 | "%s\n", | 8422 | "%pM\n", |
8439 | print_mac(mac, | 8423 | header->addr1, |
8440 | header-> | 8424 | header->addr2, |
8441 | addr1), | 8425 | header->addr3); |
8442 | print_mac(mac2, | ||
8443 | header-> | ||
8444 | addr2), | ||
8445 | print_mac(mac3, | ||
8446 | header-> | ||
8447 | addr3)); | ||
8448 | break; | 8426 | break; |
8449 | } | 8427 | } |
8450 | 8428 | ||
@@ -8983,7 +8961,6 @@ static int ipw_wx_set_wap(struct net_device *dev, | |||
8983 | union iwreq_data *wrqu, char *extra) | 8961 | union iwreq_data *wrqu, char *extra) |
8984 | { | 8962 | { |
8985 | struct ipw_priv *priv = ieee80211_priv(dev); | 8963 | struct ipw_priv *priv = ieee80211_priv(dev); |
8986 | DECLARE_MAC_BUF(mac); | ||
8987 | 8964 | ||
8988 | static const unsigned char any[] = { | 8965 | static const unsigned char any[] = { |
8989 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff | 8966 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff |
@@ -9014,8 +8991,8 @@ static int ipw_wx_set_wap(struct net_device *dev, | |||
9014 | return 0; | 8991 | return 0; |
9015 | } | 8992 | } |
9016 | 8993 | ||
9017 | IPW_DEBUG_WX("Setting mandatory BSSID to %s\n", | 8994 | IPW_DEBUG_WX("Setting mandatory BSSID to %pM\n", |
9018 | print_mac(mac, wrqu->ap_addr.sa_data)); | 8995 | wrqu->ap_addr.sa_data); |
9019 | 8996 | ||
9020 | memcpy(priv->bssid, wrqu->ap_addr.sa_data, ETH_ALEN); | 8997 | memcpy(priv->bssid, wrqu->ap_addr.sa_data, ETH_ALEN); |
9021 | 8998 | ||
@@ -9033,7 +9010,6 @@ static int ipw_wx_get_wap(struct net_device *dev, | |||
9033 | union iwreq_data *wrqu, char *extra) | 9010 | union iwreq_data *wrqu, char *extra) |
9034 | { | 9011 | { |
9035 | struct ipw_priv *priv = ieee80211_priv(dev); | 9012 | struct ipw_priv *priv = ieee80211_priv(dev); |
9036 | DECLARE_MAC_BUF(mac); | ||
9037 | 9013 | ||
9038 | /* If we are associated, trying to associate, or have a statically | 9014 | /* If we are associated, trying to associate, or have a statically |
9039 | * configured BSSID then return that; otherwise return ANY */ | 9015 | * configured BSSID then return that; otherwise return ANY */ |
@@ -9045,8 +9021,8 @@ static int ipw_wx_get_wap(struct net_device *dev, | |||
9045 | } else | 9021 | } else |
9046 | memset(wrqu->ap_addr.sa_data, 0, ETH_ALEN); | 9022 | memset(wrqu->ap_addr.sa_data, 0, ETH_ALEN); |
9047 | 9023 | ||
9048 | IPW_DEBUG_WX("Getting WAP BSSID: %s\n", | 9024 | IPW_DEBUG_WX("Getting WAP BSSID: %pM\n", |
9049 | print_mac(mac, wrqu->ap_addr.sa_data)); | 9025 | wrqu->ap_addr.sa_data); |
9050 | mutex_unlock(&priv->mutex); | 9026 | mutex_unlock(&priv->mutex); |
9051 | return 0; | 9027 | return 0; |
9052 | } | 9028 | } |
@@ -10199,10 +10175,8 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, | |||
10199 | id = ipw_add_station(priv, hdr->addr1); | 10175 | id = ipw_add_station(priv, hdr->addr1); |
10200 | if (id == IPW_INVALID_STATION) { | 10176 | if (id == IPW_INVALID_STATION) { |
10201 | IPW_WARNING("Attempt to send data to " | 10177 | IPW_WARNING("Attempt to send data to " |
10202 | "invalid cell: " MAC_FMT "\n", | 10178 | "invalid cell: %pM\n", |
10203 | hdr->addr1[0], hdr->addr1[1], | 10179 | hdr->addr1); |
10204 | hdr->addr1[2], hdr->addr1[3], | ||
10205 | hdr->addr1[4], hdr->addr1[5]); | ||
10206 | goto drop; | 10180 | goto drop; |
10207 | } | 10181 | } |
10208 | } | 10182 | } |
@@ -10505,15 +10479,14 @@ static int ipw_net_set_mac_address(struct net_device *dev, void *p) | |||
10505 | { | 10479 | { |
10506 | struct ipw_priv *priv = ieee80211_priv(dev); | 10480 | struct ipw_priv *priv = ieee80211_priv(dev); |
10507 | struct sockaddr *addr = p; | 10481 | struct sockaddr *addr = p; |
10508 | DECLARE_MAC_BUF(mac); | ||
10509 | 10482 | ||
10510 | if (!is_valid_ether_addr(addr->sa_data)) | 10483 | if (!is_valid_ether_addr(addr->sa_data)) |
10511 | return -EADDRNOTAVAIL; | 10484 | return -EADDRNOTAVAIL; |
10512 | mutex_lock(&priv->mutex); | 10485 | mutex_lock(&priv->mutex); |
10513 | priv->config |= CFG_CUSTOM_MAC; | 10486 | priv->config |= CFG_CUSTOM_MAC; |
10514 | memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); | 10487 | memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); |
10515 | printk(KERN_INFO "%s: Setting MAC to %s\n", | 10488 | printk(KERN_INFO "%s: Setting MAC to %pM\n", |
10516 | priv->net_dev->name, print_mac(mac, priv->mac_addr)); | 10489 | priv->net_dev->name, priv->mac_addr); |
10517 | queue_work(priv->workqueue, &priv->adapter_restart); | 10490 | queue_work(priv->workqueue, &priv->adapter_restart); |
10518 | mutex_unlock(&priv->mutex); | 10491 | mutex_unlock(&priv->mutex); |
10519 | return 0; | 10492 | return 0; |