diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/wireless/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2100.c | 10 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2200.c | 118 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2200.h | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-scan.c | 52 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 48 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/assoc.c | 14 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/cmd.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/debugfs.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/decl.h | 4 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/main.c | 27 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/scan.c | 11 | ||||
| -rw-r--r-- | drivers/net/wireless/libertas/wext.c | 3 |
14 files changed, 99 insertions, 198 deletions
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index 45bdf0b339bb..42afaedbb219 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig | |||
| @@ -271,6 +271,7 @@ config LIBERTAS | |||
| 271 | tristate "Marvell 8xxx Libertas WLAN driver support" | 271 | tristate "Marvell 8xxx Libertas WLAN driver support" |
| 272 | depends on WLAN_80211 | 272 | depends on WLAN_80211 |
| 273 | select WIRELESS_EXT | 273 | select WIRELESS_EXT |
| 274 | select LIB80211 | ||
| 274 | select FW_LOADER | 275 | select FW_LOADER |
| 275 | ---help--- | 276 | ---help--- |
| 276 | A library for Marvell Libertas 8xxx devices. | 277 | A library for Marvell Libertas 8xxx devices. |
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index 079dbd07e2f6..223914e3e07e 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c | |||
| @@ -1975,7 +1975,7 @@ static void isr_indicate_associated(struct ipw2100_priv *priv, u32 status) | |||
| 1975 | } | 1975 | } |
| 1976 | 1976 | ||
| 1977 | IPW_DEBUG_INFO("%s: Associated with '%s' at %s, channel %d (BSSID=%pM)\n", | 1977 | IPW_DEBUG_INFO("%s: Associated with '%s' at %s, channel %d (BSSID=%pM)\n", |
| 1978 | priv->net_dev->name, escape_essid(essid, essid_len), | 1978 | priv->net_dev->name, escape_ssid(essid, essid_len), |
| 1979 | txratename, chan, bssid); | 1979 | txratename, chan, bssid); |
| 1980 | 1980 | ||
| 1981 | /* now we copy read ssid into dev */ | 1981 | /* now we copy read ssid into dev */ |
| @@ -2003,7 +2003,7 @@ static int ipw2100_set_essid(struct ipw2100_priv *priv, char *essid, | |||
| 2003 | }; | 2003 | }; |
| 2004 | int err; | 2004 | int err; |
| 2005 | 2005 | ||
| 2006 | IPW_DEBUG_HC("SSID: '%s'\n", escape_essid(essid, ssid_len)); | 2006 | IPW_DEBUG_HC("SSID: '%s'\n", escape_ssid(essid, ssid_len)); |
| 2007 | 2007 | ||
| 2008 | if (ssid_len) | 2008 | if (ssid_len) |
| 2009 | memcpy(cmd.host_command_parameters, essid, ssid_len); | 2009 | memcpy(cmd.host_command_parameters, essid, ssid_len); |
| @@ -2046,7 +2046,7 @@ static void isr_indicate_association_lost(struct ipw2100_priv *priv, u32 status) | |||
| 2046 | { | 2046 | { |
| 2047 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | IPW_DL_ASSOC, | 2047 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | IPW_DL_ASSOC, |
| 2048 | "disassociated: '%s' %pM \n", | 2048 | "disassociated: '%s' %pM \n", |
| 2049 | escape_essid(priv->essid, priv->essid_len), | 2049 | escape_ssid(priv->essid, priv->essid_len), |
| 2050 | priv->bssid); | 2050 | priv->bssid); |
| 2051 | 2051 | ||
| 2052 | priv->status &= ~(STATUS_ASSOCIATED | STATUS_ASSOCIATING); | 2052 | priv->status &= ~(STATUS_ASSOCIATED | STATUS_ASSOCIATING); |
| @@ -6987,7 +6987,7 @@ static int ipw2100_wx_set_essid(struct net_device *dev, | |||
| 6987 | goto done; | 6987 | goto done; |
| 6988 | } | 6988 | } |
| 6989 | 6989 | ||
| 6990 | IPW_DEBUG_WX("Setting ESSID: '%s' (%d)\n", escape_essid(essid, length), | 6990 | IPW_DEBUG_WX("Setting ESSID: '%s' (%d)\n", escape_ssid(essid, length), |
| 6991 | length); | 6991 | length); |
| 6992 | 6992 | ||
| 6993 | priv->essid_len = length; | 6993 | priv->essid_len = length; |
| @@ -7014,7 +7014,7 @@ static int ipw2100_wx_get_essid(struct net_device *dev, | |||
| 7014 | * configured ESSID then return that; otherwise return ANY */ | 7014 | * configured ESSID then return that; otherwise return ANY */ |
| 7015 | if (priv->config & CFG_STATIC_ESSID || priv->status & STATUS_ASSOCIATED) { | 7015 | if (priv->config & CFG_STATIC_ESSID || priv->status & STATUS_ASSOCIATED) { |
| 7016 | IPW_DEBUG_WX("Getting essid: '%s'\n", | 7016 | IPW_DEBUG_WX("Getting essid: '%s'\n", |
| 7017 | escape_essid(priv->essid, priv->essid_len)); | 7017 | escape_ssid(priv->essid, priv->essid_len)); |
| 7018 | memcpy(extra, priv->essid, priv->essid_len); | 7018 | memcpy(extra, priv->essid, priv->essid_len); |
| 7019 | wrqu->essid.length = priv->essid_len; | 7019 | wrqu->essid.length = priv->essid_len; |
| 7020 | wrqu->essid.flags = 1; /* active */ | 7020 | wrqu->essid.flags = 1; /* active */ |
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 6ec6de2960ee..22278f87d1c1 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
| @@ -4409,8 +4409,8 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4409 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4409 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
| 4410 | IPW_DL_ASSOC, | 4410 | IPW_DL_ASSOC, |
| 4411 | "associated: '%s' %pM \n", | 4411 | "associated: '%s' %pM \n", |
| 4412 | escape_essid(priv->essid, | 4412 | escape_ssid(priv->essid, |
| 4413 | priv->essid_len), | 4413 | priv->essid_len), |
| 4414 | priv->bssid); | 4414 | priv->bssid); |
| 4415 | 4415 | ||
| 4416 | switch (priv->ieee->iw_mode) { | 4416 | switch (priv->ieee->iw_mode) { |
| @@ -4490,10 +4490,10 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4490 | "deauthenticated: '%s' " | 4490 | "deauthenticated: '%s' " |
| 4491 | "%pM" | 4491 | "%pM" |
| 4492 | ": (0x%04X) - %s \n", | 4492 | ": (0x%04X) - %s \n", |
| 4493 | escape_essid(priv-> | 4493 | escape_ssid(priv-> |
| 4494 | essid, | 4494 | essid, |
| 4495 | priv-> | 4495 | priv-> |
| 4496 | essid_len), | 4496 | essid_len), |
| 4497 | priv->bssid, | 4497 | priv->bssid, |
| 4498 | le16_to_cpu(auth->status), | 4498 | le16_to_cpu(auth->status), |
| 4499 | ipw_get_status_code | 4499 | ipw_get_status_code |
| @@ -4512,7 +4512,7 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4512 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4512 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
| 4513 | IPW_DL_ASSOC, | 4513 | IPW_DL_ASSOC, |
| 4514 | "authenticated: '%s' %pM\n", | 4514 | "authenticated: '%s' %pM\n", |
| 4515 | escape_essid(priv->essid, | 4515 | escape_ssid(priv->essid, |
| 4516 | priv->essid_len), | 4516 | priv->essid_len), |
| 4517 | priv->bssid); | 4517 | priv->bssid); |
| 4518 | break; | 4518 | break; |
| @@ -4540,7 +4540,7 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4540 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4540 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
| 4541 | IPW_DL_ASSOC, | 4541 | IPW_DL_ASSOC, |
| 4542 | "disassociated: '%s' %pM \n", | 4542 | "disassociated: '%s' %pM \n", |
| 4543 | escape_essid(priv->essid, | 4543 | escape_ssid(priv->essid, |
| 4544 | priv->essid_len), | 4544 | priv->essid_len), |
| 4545 | priv->bssid); | 4545 | priv->bssid); |
| 4546 | 4546 | ||
| @@ -4578,7 +4578,7 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4578 | case CMAS_AUTHENTICATED: | 4578 | case CMAS_AUTHENTICATED: |
| 4579 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE, | 4579 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE, |
| 4580 | "authenticated: '%s' %pM \n", | 4580 | "authenticated: '%s' %pM \n", |
| 4581 | escape_essid(priv->essid, | 4581 | escape_ssid(priv->essid, |
| 4582 | priv->essid_len), | 4582 | priv->essid_len), |
| 4583 | priv->bssid); | 4583 | priv->bssid); |
| 4584 | priv->status |= STATUS_AUTH; | 4584 | priv->status |= STATUS_AUTH; |
| @@ -4597,8 +4597,8 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
| 4597 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | | 4597 | IPW_DEBUG(IPW_DL_NOTIF | IPW_DL_STATE | |
| 4598 | IPW_DL_ASSOC, | 4598 | IPW_DL_ASSOC, |
| 4599 | "deauthenticated: '%s' %pM\n", | 4599 | "deauthenticated: '%s' %pM\n", |
| 4600 | escape_essid(priv->essid, | 4600 | escape_ssid(priv->essid, |
| 4601 | priv->essid_len), | 4601 | priv->essid_len), |
| 4602 | priv->bssid); | 4602 | priv->bssid); |
| 4603 | 4603 | ||
| 4604 | priv->status &= ~(STATUS_ASSOCIATING | | 4604 | priv->status &= ~(STATUS_ASSOCIATING | |
| @@ -5430,7 +5430,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5430 | !(network->capability & WLAN_CAPABILITY_IBSS))) { | 5430 | !(network->capability & WLAN_CAPABILITY_IBSS))) { |
| 5431 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded due to " | 5431 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded due to " |
| 5432 | "capability mismatch.\n", | 5432 | "capability mismatch.\n", |
| 5433 | escape_essid(network->ssid, network->ssid_len), | 5433 | escape_ssid(network->ssid, network->ssid_len), |
| 5434 | network->bssid); | 5434 | network->bssid); |
| 5435 | return 0; | 5435 | return 0; |
| 5436 | } | 5436 | } |
| @@ -5440,7 +5440,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5440 | if (network->flags & NETWORK_EMPTY_ESSID) { | 5440 | if (network->flags & NETWORK_EMPTY_ESSID) { |
| 5441 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5441 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5442 | "because of hidden ESSID.\n", | 5442 | "because of hidden ESSID.\n", |
| 5443 | escape_essid(network->ssid, network->ssid_len), | 5443 | escape_ssid(network->ssid, network->ssid_len), |
| 5444 | network->bssid); | 5444 | network->bssid); |
| 5445 | return 0; | 5445 | return 0; |
| 5446 | } | 5446 | } |
| @@ -5453,8 +5453,8 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5453 | network->ssid_len)) { | 5453 | network->ssid_len)) { |
| 5454 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5454 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5455 | "because of non-network ESSID.\n", | 5455 | "because of non-network ESSID.\n", |
| 5456 | escape_essid(network->ssid, | 5456 | escape_ssid(network->ssid, |
| 5457 | network->ssid_len), | 5457 | network->ssid_len), |
| 5458 | network->bssid); | 5458 | network->bssid); |
| 5459 | return 0; | 5459 | return 0; |
| 5460 | } | 5460 | } |
| @@ -5468,13 +5468,13 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5468 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | 5468 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; |
| 5469 | 5469 | ||
| 5470 | strncpy(escaped, | 5470 | strncpy(escaped, |
| 5471 | escape_essid(network->ssid, network->ssid_len), | 5471 | escape_ssid(network->ssid, network->ssid_len), |
| 5472 | sizeof(escaped)); | 5472 | sizeof(escaped)); |
| 5473 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5473 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5474 | "because of ESSID mismatch: '%s'.\n", | 5474 | "because of ESSID mismatch: '%s'.\n", |
| 5475 | escaped, network->bssid, | 5475 | escaped, network->bssid, |
| 5476 | escape_essid(priv->essid, | 5476 | escape_ssid(priv->essid, |
| 5477 | priv->essid_len)); | 5477 | priv->essid_len)); |
| 5478 | return 0; | 5478 | return 0; |
| 5479 | } | 5479 | } |
| 5480 | } | 5480 | } |
| @@ -5485,14 +5485,14 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5485 | if (network->time_stamp[0] < match->network->time_stamp[0]) { | 5485 | if (network->time_stamp[0] < match->network->time_stamp[0]) { |
| 5486 | IPW_DEBUG_MERGE("Network '%s excluded because newer than " | 5486 | IPW_DEBUG_MERGE("Network '%s excluded because newer than " |
| 5487 | "current network.\n", | 5487 | "current network.\n", |
| 5488 | escape_essid(match->network->ssid, | 5488 | escape_ssid(match->network->ssid, |
| 5489 | match->network->ssid_len)); | 5489 | match->network->ssid_len)); |
| 5490 | return 0; | 5490 | return 0; |
| 5491 | } else if (network->time_stamp[1] < match->network->time_stamp[1]) { | 5491 | } else if (network->time_stamp[1] < match->network->time_stamp[1]) { |
| 5492 | IPW_DEBUG_MERGE("Network '%s excluded because newer than " | 5492 | IPW_DEBUG_MERGE("Network '%s excluded because newer than " |
| 5493 | "current network.\n", | 5493 | "current network.\n", |
| 5494 | escape_essid(match->network->ssid, | 5494 | escape_ssid(match->network->ssid, |
| 5495 | match->network->ssid_len)); | 5495 | match->network->ssid_len)); |
| 5496 | return 0; | 5496 | return 0; |
| 5497 | } | 5497 | } |
| 5498 | 5498 | ||
| @@ -5501,7 +5501,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5501 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { | 5501 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { |
| 5502 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5502 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5503 | "because of age: %ums.\n", | 5503 | "because of age: %ums.\n", |
| 5504 | escape_essid(network->ssid, network->ssid_len), | 5504 | escape_ssid(network->ssid, network->ssid_len), |
| 5505 | network->bssid, | 5505 | network->bssid, |
| 5506 | jiffies_to_msecs(jiffies - | 5506 | jiffies_to_msecs(jiffies - |
| 5507 | network->last_scanned)); | 5507 | network->last_scanned)); |
| @@ -5512,7 +5512,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5512 | (network->channel != priv->channel)) { | 5512 | (network->channel != priv->channel)) { |
| 5513 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5513 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5514 | "because of channel mismatch: %d != %d.\n", | 5514 | "because of channel mismatch: %d != %d.\n", |
| 5515 | escape_essid(network->ssid, network->ssid_len), | 5515 | escape_ssid(network->ssid, network->ssid_len), |
| 5516 | network->bssid, | 5516 | network->bssid, |
| 5517 | network->channel, priv->channel); | 5517 | network->channel, priv->channel); |
| 5518 | return 0; | 5518 | return 0; |
| @@ -5523,7 +5523,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5523 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { | 5523 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { |
| 5524 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5524 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5525 | "because of privacy mismatch: %s != %s.\n", | 5525 | "because of privacy mismatch: %s != %s.\n", |
| 5526 | escape_essid(network->ssid, network->ssid_len), | 5526 | escape_ssid(network->ssid, network->ssid_len), |
| 5527 | network->bssid, | 5527 | network->bssid, |
| 5528 | priv-> | 5528 | priv-> |
| 5529 | capability & CAP_PRIVACY_ON ? "on" : "off", | 5529 | capability & CAP_PRIVACY_ON ? "on" : "off", |
| @@ -5536,8 +5536,8 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5536 | if (!memcmp(network->bssid, priv->bssid, ETH_ALEN)) { | 5536 | if (!memcmp(network->bssid, priv->bssid, ETH_ALEN)) { |
| 5537 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5537 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5538 | "because of the same BSSID match: %pM" | 5538 | "because of the same BSSID match: %pM" |
| 5539 | ".\n", escape_essid(network->ssid, | 5539 | ".\n", escape_ssid(network->ssid, |
| 5540 | network->ssid_len), | 5540 | network->ssid_len), |
| 5541 | network->bssid, | 5541 | network->bssid, |
| 5542 | priv->bssid); | 5542 | priv->bssid); |
| 5543 | return 0; | 5543 | return 0; |
| @@ -5548,7 +5548,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5548 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5548 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5549 | "because of invalid frequency/mode " | 5549 | "because of invalid frequency/mode " |
| 5550 | "combination.\n", | 5550 | "combination.\n", |
| 5551 | escape_essid(network->ssid, network->ssid_len), | 5551 | escape_ssid(network->ssid, network->ssid_len), |
| 5552 | network->bssid); | 5552 | network->bssid); |
| 5553 | return 0; | 5553 | return 0; |
| 5554 | } | 5554 | } |
| @@ -5559,7 +5559,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5559 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5559 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5560 | "because configured rate mask excludes " | 5560 | "because configured rate mask excludes " |
| 5561 | "AP mandatory rate.\n", | 5561 | "AP mandatory rate.\n", |
| 5562 | escape_essid(network->ssid, network->ssid_len), | 5562 | escape_ssid(network->ssid, network->ssid_len), |
| 5563 | network->bssid); | 5563 | network->bssid); |
| 5564 | return 0; | 5564 | return 0; |
| 5565 | } | 5565 | } |
| @@ -5567,7 +5567,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5567 | if (rates.num_rates == 0) { | 5567 | if (rates.num_rates == 0) { |
| 5568 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " | 5568 | IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " |
| 5569 | "because of no compatible rates.\n", | 5569 | "because of no compatible rates.\n", |
| 5570 | escape_essid(network->ssid, network->ssid_len), | 5570 | escape_ssid(network->ssid, network->ssid_len), |
| 5571 | network->bssid); | 5571 | network->bssid); |
| 5572 | return 0; | 5572 | return 0; |
| 5573 | } | 5573 | } |
| @@ -5580,7 +5580,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
| 5580 | ipw_copy_rates(&match->rates, &rates); | 5580 | ipw_copy_rates(&match->rates, &rates); |
| 5581 | match->network = network; | 5581 | match->network = network; |
| 5582 | IPW_DEBUG_MERGE("Network '%s (%pM)' is a viable match.\n", | 5582 | IPW_DEBUG_MERGE("Network '%s (%pM)' is a viable match.\n", |
| 5583 | escape_essid(network->ssid, network->ssid_len), | 5583 | escape_ssid(network->ssid, network->ssid_len), |
| 5584 | network->bssid); | 5584 | network->bssid); |
| 5585 | 5585 | ||
| 5586 | return 1; | 5586 | return 1; |
| @@ -5618,8 +5618,8 @@ static void ipw_merge_adhoc_network(struct work_struct *work) | |||
| 5618 | mutex_lock(&priv->mutex); | 5618 | mutex_lock(&priv->mutex); |
| 5619 | if ((priv->ieee->iw_mode == IW_MODE_ADHOC)) { | 5619 | if ((priv->ieee->iw_mode == IW_MODE_ADHOC)) { |
| 5620 | IPW_DEBUG_MERGE("remove network %s\n", | 5620 | IPW_DEBUG_MERGE("remove network %s\n", |
| 5621 | escape_essid(priv->essid, | 5621 | escape_ssid(priv->essid, |
| 5622 | priv->essid_len)); | 5622 | priv->essid_len)); |
| 5623 | ipw_remove_current_network(priv); | 5623 | ipw_remove_current_network(priv); |
| 5624 | } | 5624 | } |
| 5625 | 5625 | ||
| @@ -5644,7 +5644,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5644 | !(network->capability & WLAN_CAPABILITY_IBSS))) { | 5644 | !(network->capability & WLAN_CAPABILITY_IBSS))) { |
| 5645 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded due to " | 5645 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded due to " |
| 5646 | "capability mismatch.\n", | 5646 | "capability mismatch.\n", |
| 5647 | escape_essid(network->ssid, network->ssid_len), | 5647 | escape_ssid(network->ssid, network->ssid_len), |
| 5648 | network->bssid); | 5648 | network->bssid); |
| 5649 | return 0; | 5649 | return 0; |
| 5650 | } | 5650 | } |
| @@ -5654,7 +5654,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5654 | if (network->flags & NETWORK_EMPTY_ESSID) { | 5654 | if (network->flags & NETWORK_EMPTY_ESSID) { |
| 5655 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5655 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5656 | "because of hidden ESSID.\n", | 5656 | "because of hidden ESSID.\n", |
| 5657 | escape_essid(network->ssid, network->ssid_len), | 5657 | escape_ssid(network->ssid, network->ssid_len), |
| 5658 | network->bssid); | 5658 | network->bssid); |
| 5659 | return 0; | 5659 | return 0; |
| 5660 | } | 5660 | } |
| @@ -5667,7 +5667,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5667 | network->ssid_len)) { | 5667 | network->ssid_len)) { |
| 5668 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5668 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5669 | "because of non-network ESSID.\n", | 5669 | "because of non-network ESSID.\n", |
| 5670 | escape_essid(network->ssid, | 5670 | escape_ssid(network->ssid, |
| 5671 | network->ssid_len), | 5671 | network->ssid_len), |
| 5672 | network->bssid); | 5672 | network->bssid); |
| 5673 | return 0; | 5673 | return 0; |
| @@ -5681,13 +5681,13 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5681 | min(network->ssid_len, priv->essid_len)))) { | 5681 | min(network->ssid_len, priv->essid_len)))) { |
| 5682 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | 5682 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; |
| 5683 | strncpy(escaped, | 5683 | strncpy(escaped, |
| 5684 | escape_essid(network->ssid, network->ssid_len), | 5684 | escape_ssid(network->ssid, network->ssid_len), |
| 5685 | sizeof(escaped)); | 5685 | sizeof(escaped)); |
| 5686 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5686 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5687 | "because of ESSID mismatch: '%s'.\n", | 5687 | "because of ESSID mismatch: '%s'.\n", |
| 5688 | escaped, network->bssid, | 5688 | escaped, network->bssid, |
| 5689 | escape_essid(priv->essid, | 5689 | escape_ssid(priv->essid, |
| 5690 | priv->essid_len)); | 5690 | priv->essid_len)); |
| 5691 | return 0; | 5691 | return 0; |
| 5692 | } | 5692 | } |
| 5693 | } | 5693 | } |
| @@ -5697,13 +5697,13 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5697 | if (match->network && match->network->stats.rssi > network->stats.rssi) { | 5697 | if (match->network && match->network->stats.rssi > network->stats.rssi) { |
| 5698 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | 5698 | char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; |
| 5699 | strncpy(escaped, | 5699 | strncpy(escaped, |
| 5700 | escape_essid(network->ssid, network->ssid_len), | 5700 | escape_ssid(network->ssid, network->ssid_len), |
| 5701 | sizeof(escaped)); | 5701 | sizeof(escaped)); |
| 5702 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded because " | 5702 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded because " |
| 5703 | "'%s (%pM)' has a stronger signal.\n", | 5703 | "'%s (%pM)' has a stronger signal.\n", |
| 5704 | escaped, network->bssid, | 5704 | escaped, network->bssid, |
| 5705 | escape_essid(match->network->ssid, | 5705 | escape_ssid(match->network->ssid, |
| 5706 | match->network->ssid_len), | 5706 | match->network->ssid_len), |
| 5707 | match->network->bssid); | 5707 | match->network->bssid); |
| 5708 | return 0; | 5708 | return 0; |
| 5709 | } | 5709 | } |
| @@ -5715,7 +5715,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5715 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5715 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5716 | "because of storming (%ums since last " | 5716 | "because of storming (%ums since last " |
| 5717 | "assoc attempt).\n", | 5717 | "assoc attempt).\n", |
| 5718 | escape_essid(network->ssid, network->ssid_len), | 5718 | escape_ssid(network->ssid, network->ssid_len), |
| 5719 | network->bssid, | 5719 | network->bssid, |
| 5720 | jiffies_to_msecs(jiffies - | 5720 | jiffies_to_msecs(jiffies - |
| 5721 | network->last_associate)); | 5721 | network->last_associate)); |
| @@ -5727,7 +5727,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5727 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { | 5727 | time_after(jiffies, network->last_scanned + priv->ieee->scan_age)) { |
| 5728 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5728 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5729 | "because of age: %ums.\n", | 5729 | "because of age: %ums.\n", |
| 5730 | escape_essid(network->ssid, network->ssid_len), | 5730 | escape_ssid(network->ssid, network->ssid_len), |
| 5731 | network->bssid, | 5731 | network->bssid, |
| 5732 | jiffies_to_msecs(jiffies - | 5732 | jiffies_to_msecs(jiffies - |
| 5733 | network->last_scanned)); | 5733 | network->last_scanned)); |
| @@ -5738,7 +5738,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5738 | (network->channel != priv->channel)) { | 5738 | (network->channel != priv->channel)) { |
| 5739 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5739 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5740 | "because of channel mismatch: %d != %d.\n", | 5740 | "because of channel mismatch: %d != %d.\n", |
| 5741 | escape_essid(network->ssid, network->ssid_len), | 5741 | escape_ssid(network->ssid, network->ssid_len), |
| 5742 | network->bssid, | 5742 | network->bssid, |
| 5743 | network->channel, priv->channel); | 5743 | network->channel, priv->channel); |
| 5744 | return 0; | 5744 | return 0; |
| @@ -5749,7 +5749,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5749 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { | 5749 | ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { |
| 5750 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5750 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5751 | "because of privacy mismatch: %s != %s.\n", | 5751 | "because of privacy mismatch: %s != %s.\n", |
| 5752 | escape_essid(network->ssid, network->ssid_len), | 5752 | escape_ssid(network->ssid, network->ssid_len), |
| 5753 | network->bssid, | 5753 | network->bssid, |
| 5754 | priv->capability & CAP_PRIVACY_ON ? "on" : | 5754 | priv->capability & CAP_PRIVACY_ON ? "on" : |
| 5755 | "off", | 5755 | "off", |
| @@ -5762,7 +5762,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5762 | memcmp(network->bssid, priv->bssid, ETH_ALEN)) { | 5762 | memcmp(network->bssid, priv->bssid, ETH_ALEN)) { |
| 5763 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5763 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5764 | "because of BSSID mismatch: %pM.\n", | 5764 | "because of BSSID mismatch: %pM.\n", |
| 5765 | escape_essid(network->ssid, network->ssid_len), | 5765 | escape_ssid(network->ssid, network->ssid_len), |
| 5766 | network->bssid, priv->bssid); | 5766 | network->bssid, priv->bssid); |
| 5767 | return 0; | 5767 | return 0; |
| 5768 | } | 5768 | } |
| @@ -5772,7 +5772,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5772 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5772 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5773 | "because of invalid frequency/mode " | 5773 | "because of invalid frequency/mode " |
| 5774 | "combination.\n", | 5774 | "combination.\n", |
| 5775 | escape_essid(network->ssid, network->ssid_len), | 5775 | escape_ssid(network->ssid, network->ssid_len), |
| 5776 | network->bssid); | 5776 | network->bssid); |
| 5777 | return 0; | 5777 | return 0; |
| 5778 | } | 5778 | } |
| @@ -5781,7 +5781,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5781 | if (!ieee80211_is_valid_channel(priv->ieee, network->channel)) { | 5781 | if (!ieee80211_is_valid_channel(priv->ieee, network->channel)) { |
| 5782 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5782 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5783 | "because of invalid channel in current GEO\n", | 5783 | "because of invalid channel in current GEO\n", |
| 5784 | escape_essid(network->ssid, network->ssid_len), | 5784 | escape_ssid(network->ssid, network->ssid_len), |
| 5785 | network->bssid); | 5785 | network->bssid); |
| 5786 | return 0; | 5786 | return 0; |
| 5787 | } | 5787 | } |
| @@ -5792,7 +5792,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5792 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5792 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5793 | "because configured rate mask excludes " | 5793 | "because configured rate mask excludes " |
| 5794 | "AP mandatory rate.\n", | 5794 | "AP mandatory rate.\n", |
| 5795 | escape_essid(network->ssid, network->ssid_len), | 5795 | escape_ssid(network->ssid, network->ssid_len), |
| 5796 | network->bssid); | 5796 | network->bssid); |
| 5797 | return 0; | 5797 | return 0; |
| 5798 | } | 5798 | } |
| @@ -5800,7 +5800,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5800 | if (rates.num_rates == 0) { | 5800 | if (rates.num_rates == 0) { |
| 5801 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " | 5801 | IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " |
| 5802 | "because of no compatible rates.\n", | 5802 | "because of no compatible rates.\n", |
| 5803 | escape_essid(network->ssid, network->ssid_len), | 5803 | escape_ssid(network->ssid, network->ssid_len), |
| 5804 | network->bssid); | 5804 | network->bssid); |
| 5805 | return 0; | 5805 | return 0; |
| 5806 | } | 5806 | } |
| @@ -5814,7 +5814,7 @@ static int ipw_best_network(struct ipw_priv *priv, | |||
| 5814 | match->network = network; | 5814 | match->network = network; |
| 5815 | 5815 | ||
| 5816 | IPW_DEBUG_ASSOC("Network '%s (%pM)' is a viable match.\n", | 5816 | IPW_DEBUG_ASSOC("Network '%s (%pM)' is a viable match.\n", |
| 5817 | escape_essid(network->ssid, network->ssid_len), | 5817 | escape_ssid(network->ssid, network->ssid_len), |
| 5818 | network->bssid); | 5818 | network->bssid); |
| 5819 | 5819 | ||
| 5820 | return 1; | 5820 | return 1; |
| @@ -6065,7 +6065,7 @@ static void ipw_debug_config(struct ipw_priv *priv) | |||
| 6065 | IPW_DEBUG_INFO("Channel unlocked.\n"); | 6065 | IPW_DEBUG_INFO("Channel unlocked.\n"); |
| 6066 | if (priv->config & CFG_STATIC_ESSID) | 6066 | if (priv->config & CFG_STATIC_ESSID) |
| 6067 | IPW_DEBUG_INFO("ESSID locked to '%s'\n", | 6067 | IPW_DEBUG_INFO("ESSID locked to '%s'\n", |
| 6068 | escape_essid(priv->essid, priv->essid_len)); | 6068 | escape_ssid(priv->essid, priv->essid_len)); |
| 6069 | else | 6069 | else |
| 6070 | IPW_DEBUG_INFO("ESSID unlocked.\n"); | 6070 | IPW_DEBUG_INFO("ESSID unlocked.\n"); |
| 6071 | if (priv->config & CFG_STATIC_BSSID) | 6071 | if (priv->config & CFG_STATIC_BSSID) |
| @@ -7352,7 +7352,7 @@ static int ipw_associate_network(struct ipw_priv *priv, | |||
| 7352 | IPW_DEBUG_ASSOC("%sssocation attempt: '%s', channel %d, " | 7352 | IPW_DEBUG_ASSOC("%sssocation attempt: '%s', channel %d, " |
| 7353 | "802.11%c [%d], %s[:%s], enc=%s%s%s%c%c\n", | 7353 | "802.11%c [%d], %s[:%s], enc=%s%s%s%c%c\n", |
| 7354 | roaming ? "Rea" : "A", | 7354 | roaming ? "Rea" : "A", |
| 7355 | escape_essid(priv->essid, priv->essid_len), | 7355 | escape_ssid(priv->essid, priv->essid_len), |
| 7356 | network->channel, | 7356 | network->channel, |
| 7357 | ipw_modes[priv->assoc_request.ieee_mode], | 7357 | ipw_modes[priv->assoc_request.ieee_mode], |
| 7358 | rates->num_rates, | 7358 | rates->num_rates, |
| @@ -7452,7 +7452,7 @@ static int ipw_associate_network(struct ipw_priv *priv, | |||
| 7452 | } | 7452 | } |
| 7453 | 7453 | ||
| 7454 | IPW_DEBUG(IPW_DL_STATE, "associating: '%s' %pM \n", | 7454 | IPW_DEBUG(IPW_DL_STATE, "associating: '%s' %pM \n", |
| 7455 | escape_essid(priv->essid, priv->essid_len), | 7455 | escape_ssid(priv->essid, priv->essid_len), |
| 7456 | priv->bssid); | 7456 | priv->bssid); |
| 7457 | 7457 | ||
| 7458 | return 0; | 7458 | return 0; |
| @@ -7604,8 +7604,8 @@ static int ipw_associate(void *data) | |||
| 7604 | target = oldest; | 7604 | target = oldest; |
| 7605 | IPW_DEBUG_ASSOC("Expired '%s' (%pM) from " | 7605 | IPW_DEBUG_ASSOC("Expired '%s' (%pM) from " |
| 7606 | "network list.\n", | 7606 | "network list.\n", |
| 7607 | escape_essid(target->ssid, | 7607 | escape_ssid(target->ssid, |
| 7608 | target->ssid_len), | 7608 | target->ssid_len), |
| 7609 | target->bssid); | 7609 | target->bssid); |
| 7610 | list_add_tail(&target->list, | 7610 | list_add_tail(&target->list, |
| 7611 | &priv->ieee->network_free_list); | 7611 | &priv->ieee->network_free_list); |
| @@ -9057,7 +9057,7 @@ static int ipw_wx_set_essid(struct net_device *dev, | |||
| 9057 | return 0; | 9057 | return 0; |
| 9058 | } | 9058 | } |
| 9059 | 9059 | ||
| 9060 | IPW_DEBUG_WX("Setting ESSID: '%s' (%d)\n", escape_essid(extra, length), | 9060 | IPW_DEBUG_WX("Setting ESSID: '%s' (%d)\n", escape_ssid(extra, length), |
| 9061 | length); | 9061 | length); |
| 9062 | 9062 | ||
| 9063 | priv->essid_len = length; | 9063 | priv->essid_len = length; |
| @@ -9084,7 +9084,7 @@ static int ipw_wx_get_essid(struct net_device *dev, | |||
| 9084 | if (priv->config & CFG_STATIC_ESSID || | 9084 | if (priv->config & CFG_STATIC_ESSID || |
| 9085 | priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING)) { | 9085 | priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING)) { |
| 9086 | IPW_DEBUG_WX("Getting essid: '%s'\n", | 9086 | IPW_DEBUG_WX("Getting essid: '%s'\n", |
| 9087 | escape_essid(priv->essid, priv->essid_len)); | 9087 | escape_ssid(priv->essid, priv->essid_len)); |
| 9088 | memcpy(extra, priv->essid, priv->essid_len); | 9088 | memcpy(extra, priv->essid, priv->essid_len); |
| 9089 | wrqu->essid.length = priv->essid_len; | 9089 | wrqu->essid.length = priv->essid_len; |
| 9090 | wrqu->essid.flags = 1; /* active */ | 9090 | wrqu->essid.flags = 1; /* active */ |
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h index 0bad1ec3e7e0..0a84d52147bd 100644 --- a/drivers/net/wireless/ipw2200.h +++ b/drivers/net/wireless/ipw2200.h | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | #include <linux/jiffies.h> | 48 | #include <linux/jiffies.h> |
| 49 | #include <asm/io.h> | 49 | #include <asm/io.h> |
| 50 | 50 | ||
| 51 | #include <net/lib80211.h> | ||
| 51 | #include <net/ieee80211.h> | 52 | #include <net/ieee80211.h> |
| 52 | #include <net/ieee80211_radiotap.h> | 53 | #include <net/ieee80211_radiotap.h> |
| 53 | 54 | ||
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig index b0ac0ce3fb9f..47bee0ee0a7c 100644 --- a/drivers/net/wireless/iwlwifi/Kconfig +++ b/drivers/net/wireless/iwlwifi/Kconfig | |||
| @@ -4,6 +4,7 @@ config IWLWIFI | |||
| 4 | config IWLCORE | 4 | config IWLCORE |
| 5 | tristate "Intel Wireless Wifi Core" | 5 | tristate "Intel Wireless Wifi Core" |
| 6 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL | 6 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL |
| 7 | select LIB80211 | ||
| 7 | select IWLWIFI | 8 | select IWLWIFI |
| 8 | select MAC80211_LEDS if IWLWIFI_LEDS | 9 | select MAC80211_LEDS if IWLWIFI_LEDS |
| 9 | select LEDS_CLASS if IWLWIFI_LEDS | 10 | select LEDS_CLASS if IWLWIFI_LEDS |
| @@ -105,6 +106,7 @@ config IWL3945 | |||
| 105 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" | 106 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" |
| 106 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL | 107 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL |
| 107 | select FW_LOADER | 108 | select FW_LOADER |
| 109 | select LIB80211 | ||
| 108 | select IWLWIFI | 110 | select IWLWIFI |
| 109 | select MAC80211_LEDS if IWL3945_LEDS | 111 | select MAC80211_LEDS if IWL3945_LEDS |
| 110 | select LEDS_CLASS if IWL3945_LEDS | 112 | select LEDS_CLASS if IWL3945_LEDS |
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index 86b74571b513..1cc8aa592821 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
| @@ -25,8 +25,10 @@ | |||
| 25 | * Tomas Winkler <tomas.winkler@intel.com> | 25 | * Tomas Winkler <tomas.winkler@intel.com> |
| 26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | 26 | * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 |
| 27 | *****************************************************************************/ | 27 | *****************************************************************************/ |
| 28 | #include <net/mac80211.h> | 28 | #include <linux/types.h> |
| 29 | #include <linux/etherdevice.h> | 29 | #include <linux/etherdevice.h> |
| 30 | #include <net/lib80211.h> | ||
| 31 | #include <net/mac80211.h> | ||
| 30 | 32 | ||
| 31 | #include "iwl-eeprom.h" | 33 | #include "iwl-eeprom.h" |
| 32 | #include "iwl-dev.h" | 34 | #include "iwl-dev.h" |
| @@ -64,48 +66,6 @@ | |||
| 64 | #define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) | 66 | #define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) |
| 65 | 67 | ||
| 66 | 68 | ||
| 67 | static int iwl_is_empty_essid(const char *essid, int essid_len) | ||
| 68 | { | ||
| 69 | /* Single white space is for Linksys APs */ | ||
| 70 | if (essid_len == 1 && essid[0] == ' ') | ||
| 71 | return 1; | ||
| 72 | |||
| 73 | /* Otherwise, if the entire essid is 0, we assume it is hidden */ | ||
| 74 | while (essid_len) { | ||
| 75 | essid_len--; | ||
| 76 | if (essid[essid_len] != '\0') | ||
| 77 | return 0; | ||
| 78 | } | ||
| 79 | |||
| 80 | return 1; | ||
| 81 | } | ||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 | static const char *iwl_escape_essid(const char *essid, u8 essid_len) | ||
| 86 | { | ||
| 87 | static char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | ||
| 88 | const char *s = essid; | ||
| 89 | char *d = escaped; | ||
| 90 | |||
| 91 | if (iwl_is_empty_essid(essid, essid_len)) { | ||
| 92 | memcpy(escaped, "<hidden>", sizeof("<hidden>")); | ||
| 93 | return escaped; | ||
| 94 | } | ||
| 95 | |||
| 96 | essid_len = min(essid_len, (u8) IW_ESSID_MAX_SIZE); | ||
| 97 | while (essid_len--) { | ||
| 98 | if (*s == '\0') { | ||
| 99 | *d++ = '\\'; | ||
| 100 | *d++ = '0'; | ||
| 101 | s++; | ||
| 102 | } else | ||
| 103 | *d++ = *s++; | ||
| 104 | } | ||
| 105 | *d = '\0'; | ||
| 106 | return escaped; | ||
| 107 | } | ||
| 108 | |||
| 109 | /** | 69 | /** |
| 110 | * iwl_scan_cancel - Cancel any currently executing HW scan | 70 | * iwl_scan_cancel - Cancel any currently executing HW scan |
| 111 | * | 71 | * |
| @@ -775,8 +735,8 @@ static void iwl_bg_request_scan(struct work_struct *data) | |||
| 775 | /* We should add the ability for user to lock to PASSIVE ONLY */ | 735 | /* We should add the ability for user to lock to PASSIVE ONLY */ |
| 776 | if (priv->one_direct_scan) { | 736 | if (priv->one_direct_scan) { |
| 777 | IWL_DEBUG_SCAN("Start direct scan for '%s'\n", | 737 | IWL_DEBUG_SCAN("Start direct scan for '%s'\n", |
| 778 | iwl_escape_essid(priv->direct_ssid, | 738 | escape_ssid(priv->direct_ssid, |
| 779 | priv->direct_ssid_len)); | 739 | priv->direct_ssid_len)); |
| 780 | scan->direct_scan[0].id = WLAN_EID_SSID; | 740 | scan->direct_scan[0].id = WLAN_EID_SSID; |
| 781 | scan->direct_scan[0].len = priv->direct_ssid_len; | 741 | scan->direct_scan[0].len = priv->direct_ssid_len; |
| 782 | memcpy(scan->direct_scan[0].ssid, | 742 | memcpy(scan->direct_scan[0].ssid, |
| @@ -784,7 +744,7 @@ static void iwl_bg_request_scan(struct work_struct *data) | |||
| 784 | n_probes++; | 744 | n_probes++; |
| 785 | } else if (!iwl_is_associated(priv) && priv->essid_len) { | 745 | } else if (!iwl_is_associated(priv) && priv->essid_len) { |
| 786 | IWL_DEBUG_SCAN("Start direct scan for '%s' (not associated)\n", | 746 | IWL_DEBUG_SCAN("Start direct scan for '%s' (not associated)\n", |
| 787 | iwl_escape_essid(priv->essid, priv->essid_len)); | 747 | escape_ssid(priv->essid, priv->essid_len)); |
| 788 | scan->direct_scan[0].id = WLAN_EID_SSID; | 748 | scan->direct_scan[0].id = WLAN_EID_SSID; |
| 789 | scan->direct_scan[0].len = priv->essid_len; | 749 | scan->direct_scan[0].len = priv->essid_len; |
| 790 | memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); | 750 | memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 2cd33b4e9e13..370cc46b4888 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include <linux/if_arp.h> | 41 | #include <linux/if_arp.h> |
| 42 | 42 | ||
| 43 | #include <net/ieee80211_radiotap.h> | 43 | #include <net/ieee80211_radiotap.h> |
| 44 | #include <net/lib80211.h> | ||
| 44 | #include <net/mac80211.h> | 45 | #include <net/mac80211.h> |
| 45 | 46 | ||
| 46 | #include <asm/div64.h> | 47 | #include <asm/div64.h> |
| @@ -107,46 +108,6 @@ static const struct ieee80211_supported_band *iwl3945_get_band( | |||
| 107 | return priv->hw->wiphy->bands[band]; | 108 | return priv->hw->wiphy->bands[band]; |
| 108 | } | 109 | } |
| 109 | 110 | ||
| 110 | static int iwl3945_is_empty_essid(const char *essid, int essid_len) | ||
| 111 | { | ||
| 112 | /* Single white space is for Linksys APs */ | ||
| 113 | if (essid_len == 1 && essid[0] == ' ') | ||
| 114 | return 1; | ||
| 115 | |||
| 116 | /* Otherwise, if the entire essid is 0, we assume it is hidden */ | ||
| 117 | while (essid_len) { | ||
| 118 | essid_len--; | ||
| 119 | if (essid[essid_len] != '\0') | ||
| 120 | return 0; | ||
| 121 | } | ||
| 122 | |||
| 123 | return 1; | ||
| 124 | } | ||
| 125 | |||
| 126 | static const char *iwl3945_escape_essid(const char *essid, u8 essid_len) | ||
| 127 | { | ||
| 128 | static char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | ||
| 129 | const char *s = essid; | ||
| 130 | char *d = escaped; | ||
| 131 | |||
| 132 | if (iwl3945_is_empty_essid(essid, essid_len)) { | ||
| 133 | memcpy(escaped, "<hidden>", sizeof("<hidden>")); | ||
| 134 | return escaped; | ||
| 135 | } | ||
| 136 | |||
| 137 | essid_len = min(essid_len, (u8) IW_ESSID_MAX_SIZE); | ||
| 138 | while (essid_len--) { | ||
| 139 | if (*s == '\0') { | ||
| 140 | *d++ = '\\'; | ||
| 141 | *d++ = '0'; | ||
| 142 | s++; | ||
| 143 | } else | ||
| 144 | *d++ = *s++; | ||
| 145 | } | ||
| 146 | *d = '\0'; | ||
| 147 | return escaped; | ||
| 148 | } | ||
| 149 | |||
| 150 | /*************** DMA-QUEUE-GENERAL-FUNCTIONS ***** | 111 | /*************** DMA-QUEUE-GENERAL-FUNCTIONS ***** |
| 151 | * DMA services | 112 | * DMA services |
| 152 | * | 113 | * |
| @@ -6193,8 +6154,7 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
| 6193 | if (priv->one_direct_scan) { | 6154 | if (priv->one_direct_scan) { |
| 6194 | IWL_DEBUG_SCAN | 6155 | IWL_DEBUG_SCAN |
| 6195 | ("Kicking off one direct scan for '%s'\n", | 6156 | ("Kicking off one direct scan for '%s'\n", |
| 6196 | iwl3945_escape_essid(priv->direct_ssid, | 6157 | escape_ssid(priv->direct_ssid, priv->direct_ssid_len)); |
| 6197 | priv->direct_ssid_len)); | ||
| 6198 | scan->direct_scan[0].id = WLAN_EID_SSID; | 6158 | scan->direct_scan[0].id = WLAN_EID_SSID; |
| 6199 | scan->direct_scan[0].len = priv->direct_ssid_len; | 6159 | scan->direct_scan[0].len = priv->direct_ssid_len; |
| 6200 | memcpy(scan->direct_scan[0].ssid, | 6160 | memcpy(scan->direct_scan[0].ssid, |
| @@ -6203,7 +6163,7 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
| 6203 | } else if (!iwl3945_is_associated(priv) && priv->essid_len) { | 6163 | } else if (!iwl3945_is_associated(priv) && priv->essid_len) { |
| 6204 | IWL_DEBUG_SCAN | 6164 | IWL_DEBUG_SCAN |
| 6205 | ("Kicking off one direct scan for '%s' when not associated\n", | 6165 | ("Kicking off one direct scan for '%s' when not associated\n", |
| 6206 | iwl3945_escape_essid(priv->essid, priv->essid_len)); | 6166 | escape_ssid(priv->essid, priv->essid_len)); |
| 6207 | scan->direct_scan[0].id = WLAN_EID_SSID; | 6167 | scan->direct_scan[0].id = WLAN_EID_SSID; |
| 6208 | scan->direct_scan[0].len = priv->essid_len; | 6168 | scan->direct_scan[0].len = priv->essid_len; |
| 6209 | memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); | 6169 | memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); |
| @@ -7018,7 +6978,7 @@ static int iwl3945_mac_hw_scan(struct ieee80211_hw *hw, u8 *ssid, size_t len) | |||
| 7018 | } | 6978 | } |
| 7019 | if (len) { | 6979 | if (len) { |
| 7020 | IWL_DEBUG_SCAN("direct scan for %s [%d]\n ", | 6980 | IWL_DEBUG_SCAN("direct scan for %s [%d]\n ", |
| 7021 | iwl3945_escape_essid(ssid, len), (int)len); | 6981 | escape_ssid(ssid, len), (int)len); |
| 7022 | 6982 | ||
| 7023 | priv->one_direct_scan = 1; | 6983 | priv->one_direct_scan = 1; |
| 7024 | priv->direct_ssid_len = (u8) | 6984 | priv->direct_ssid_len = (u8) |
diff --git a/drivers/net/wireless/libertas/assoc.c b/drivers/net/wireless/libertas/assoc.c index 8b88e9544418..3492e89d1dd5 100644 --- a/drivers/net/wireless/libertas/assoc.c +++ b/drivers/net/wireless/libertas/assoc.c | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | /* Copyright (C) 2006, Red Hat, Inc. */ | 1 | /* Copyright (C) 2006, Red Hat, Inc. */ |
| 2 | 2 | ||
| 3 | #include <linux/types.h> | ||
| 3 | #include <linux/etherdevice.h> | 4 | #include <linux/etherdevice.h> |
| 5 | #include <net/lib80211.h> | ||
| 4 | 6 | ||
| 5 | #include "assoc.h" | 7 | #include "assoc.h" |
| 6 | #include "decl.h" | 8 | #include "decl.h" |
| @@ -157,11 +159,11 @@ static int lbs_adhoc_join(struct lbs_private *priv, | |||
| 157 | lbs_deb_enter(LBS_DEB_ASSOC); | 159 | lbs_deb_enter(LBS_DEB_ASSOC); |
| 158 | 160 | ||
| 159 | lbs_deb_join("current SSID '%s', ssid length %u\n", | 161 | lbs_deb_join("current SSID '%s', ssid length %u\n", |
| 160 | escape_essid(priv->curbssparams.ssid, | 162 | escape_ssid(priv->curbssparams.ssid, |
| 161 | priv->curbssparams.ssid_len), | 163 | priv->curbssparams.ssid_len), |
| 162 | priv->curbssparams.ssid_len); | 164 | priv->curbssparams.ssid_len); |
| 163 | lbs_deb_join("requested ssid '%s', ssid length %u\n", | 165 | lbs_deb_join("requested ssid '%s', ssid length %u\n", |
| 164 | escape_essid(bss->ssid, bss->ssid_len), | 166 | escape_ssid(bss->ssid, bss->ssid_len), |
| 165 | bss->ssid_len); | 167 | bss->ssid_len); |
| 166 | 168 | ||
| 167 | /* check if the requested SSID is already joined */ | 169 | /* check if the requested SSID is already joined */ |
| @@ -325,7 +327,7 @@ static int lbs_adhoc_start(struct lbs_private *priv, | |||
| 325 | memcpy(cmd.ssid, assoc_req->ssid, assoc_req->ssid_len); | 327 | memcpy(cmd.ssid, assoc_req->ssid, assoc_req->ssid_len); |
| 326 | 328 | ||
| 327 | lbs_deb_join("ADHOC_START: SSID '%s', ssid length %u\n", | 329 | lbs_deb_join("ADHOC_START: SSID '%s', ssid length %u\n", |
| 328 | escape_essid(assoc_req->ssid, assoc_req->ssid_len), | 330 | escape_ssid(assoc_req->ssid, assoc_req->ssid_len), |
| 329 | assoc_req->ssid_len); | 331 | assoc_req->ssid_len); |
| 330 | 332 | ||
| 331 | cmd.bsstype = CMD_BSS_TYPE_IBSS; | 333 | cmd.bsstype = CMD_BSS_TYPE_IBSS; |
| @@ -704,7 +706,7 @@ static int assoc_helper_essid(struct lbs_private *priv, | |||
| 704 | channel = assoc_req->channel; | 706 | channel = assoc_req->channel; |
| 705 | 707 | ||
| 706 | lbs_deb_assoc("SSID '%s' requested\n", | 708 | lbs_deb_assoc("SSID '%s' requested\n", |
| 707 | escape_essid(assoc_req->ssid, assoc_req->ssid_len)); | 709 | escape_ssid(assoc_req->ssid, assoc_req->ssid_len)); |
| 708 | if (assoc_req->mode == IW_MODE_INFRA) { | 710 | if (assoc_req->mode == IW_MODE_INFRA) { |
| 709 | lbs_send_specific_ssid_scan(priv, assoc_req->ssid, | 711 | lbs_send_specific_ssid_scan(priv, assoc_req->ssid, |
| 710 | assoc_req->ssid_len); | 712 | assoc_req->ssid_len); |
| @@ -1228,7 +1230,7 @@ void lbs_association_worker(struct work_struct *work) | |||
| 1228 | " secinfo: %s%s%s\n" | 1230 | " secinfo: %s%s%s\n" |
| 1229 | " auth_mode: %d\n", | 1231 | " auth_mode: %d\n", |
| 1230 | assoc_req->flags, | 1232 | assoc_req->flags, |
| 1231 | escape_essid(assoc_req->ssid, assoc_req->ssid_len), | 1233 | escape_ssid(assoc_req->ssid, assoc_req->ssid_len), |
| 1232 | assoc_req->channel, assoc_req->band, assoc_req->mode, | 1234 | assoc_req->channel, assoc_req->band, assoc_req->mode, |
| 1233 | assoc_req->bssid, | 1235 | assoc_req->bssid, |
| 1234 | assoc_req->secinfo.WPAenabled ? " WPA" : "", | 1236 | assoc_req->secinfo.WPAenabled ? " WPA" : "", |
| @@ -1814,7 +1816,7 @@ static int lbs_adhoc_post(struct lbs_private *priv, struct cmd_header *resp) | |||
| 1814 | wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL); | 1816 | wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL); |
| 1815 | 1817 | ||
| 1816 | lbs_deb_join("ADHOC_RESP: Joined/started '%s', BSSID %pM, channel %d\n", | 1818 | lbs_deb_join("ADHOC_RESP: Joined/started '%s', BSSID %pM, channel %d\n", |
| 1817 | escape_essid(bss->ssid, bss->ssid_len), | 1819 | escape_ssid(bss->ssid, bss->ssid_len), |
| 1818 | priv->curbssparams.bssid, | 1820 | priv->curbssparams.bssid, |
| 1819 | priv->curbssparams.channel); | 1821 | priv->curbssparams.channel); |
| 1820 | 1822 | ||
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index d45b07cf6a62..52feab69ee49 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #include <net/iw_handler.h> | 6 | #include <net/iw_handler.h> |
| 7 | #include <net/lib80211.h> | ||
| 7 | #include <net/ieee80211.h> | 8 | #include <net/ieee80211.h> |
| 8 | #include <linux/kfifo.h> | 9 | #include <linux/kfifo.h> |
| 9 | #include "host.h" | 10 | #include "host.h" |
| @@ -1092,7 +1093,7 @@ int lbs_mesh_config(struct lbs_private *priv, uint16_t action, uint16_t chan) | |||
| 1092 | } | 1093 | } |
| 1093 | lbs_deb_cmd("mesh config action %d type %x channel %d SSID %s\n", | 1094 | lbs_deb_cmd("mesh config action %d type %x channel %d SSID %s\n", |
| 1094 | action, priv->mesh_tlv, chan, | 1095 | action, priv->mesh_tlv, chan, |
| 1095 | escape_essid(priv->mesh_ssid, priv->mesh_ssid_len)); | 1096 | escape_ssid(priv->mesh_ssid, priv->mesh_ssid_len)); |
| 1096 | 1097 | ||
| 1097 | return __lbs_mesh_config_send(priv, &cmd, action, priv->mesh_tlv); | 1098 | return __lbs_mesh_config_send(priv, &cmd, action, priv->mesh_tlv); |
| 1098 | } | 1099 | } |
diff --git a/drivers/net/wireless/libertas/debugfs.c b/drivers/net/wireless/libertas/debugfs.c index 5f6bee493f23..84933203be74 100644 --- a/drivers/net/wireless/libertas/debugfs.c +++ b/drivers/net/wireless/libertas/debugfs.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <linux/mm.h> | 5 | #include <linux/mm.h> |
| 6 | #include <linux/string.h> | 6 | #include <linux/string.h> |
| 7 | #include <net/iw_handler.h> | 7 | #include <net/iw_handler.h> |
| 8 | #include <net/lib80211.h> | ||
| 8 | 9 | ||
| 9 | #include "dev.h" | 10 | #include "dev.h" |
| 10 | #include "decl.h" | 11 | #include "decl.h" |
| @@ -85,7 +86,7 @@ static ssize_t lbs_getscantable(struct file *file, char __user *userbuf, | |||
| 85 | spectrum_mgmt ? 'S' : ' '); | 86 | spectrum_mgmt ? 'S' : ' '); |
| 86 | pos += snprintf(buf+pos, len-pos, " %04d |", SCAN_RSSI(iter_bss->rssi)); | 87 | pos += snprintf(buf+pos, len-pos, " %04d |", SCAN_RSSI(iter_bss->rssi)); |
| 87 | pos += snprintf(buf+pos, len-pos, " %s\n", | 88 | pos += snprintf(buf+pos, len-pos, " %s\n", |
| 88 | escape_essid(iter_bss->ssid, iter_bss->ssid_len)); | 89 | escape_ssid(iter_bss->ssid, iter_bss->ssid_len)); |
| 89 | 90 | ||
| 90 | numscansdone++; | 91 | numscansdone++; |
| 91 | } | 92 | } |
diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index 1a8888cceadc..0b84bdca0726 100644 --- a/drivers/net/wireless/libertas/decl.h +++ b/drivers/net/wireless/libertas/decl.h | |||
| @@ -74,8 +74,4 @@ void lbs_host_to_card_done(struct lbs_private *priv); | |||
| 74 | 74 | ||
| 75 | int lbs_update_channel(struct lbs_private *priv); | 75 | int lbs_update_channel(struct lbs_private *priv); |
| 76 | 76 | ||
| 77 | #ifndef CONFIG_IEEE80211 | ||
| 78 | const char *escape_essid(const char *essid, u8 essid_len); | ||
| 79 | #endif | ||
| 80 | |||
| 81 | #endif | 77 | #endif |
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 34a47f692bd6..e9d23f68174f 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c | |||
| @@ -1646,33 +1646,6 @@ out: | |||
| 1646 | return ret; | 1646 | return ret; |
| 1647 | } | 1647 | } |
| 1648 | 1648 | ||
| 1649 | #ifndef CONFIG_IEEE80211 | ||
| 1650 | const char *escape_essid(const char *essid, u8 essid_len) | ||
| 1651 | { | ||
| 1652 | static char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; | ||
| 1653 | const char *s = essid; | ||
| 1654 | char *d = escaped; | ||
| 1655 | |||
| 1656 | if (ieee80211_is_empty_essid(essid, essid_len)) { | ||
| 1657 | memcpy(escaped, "<hidden>", sizeof("<hidden>")); | ||
| 1658 | return escaped; | ||
| 1659 | } | ||
| 1660 | |||
| 1661 | essid_len = min(essid_len, (u8) IW_ESSID_MAX_SIZE); | ||
| 1662 | while (essid_len--) { | ||
| 1663 | if (*s == '\0') { | ||
| 1664 | *d++ = '\\'; | ||
| 1665 | *d++ = '0'; | ||
| 1666 | s++; | ||
| 1667 | } else { | ||
| 1668 | *d++ = *s++; | ||
| 1669 | } | ||
| 1670 | } | ||
| 1671 | *d = '\0'; | ||
| 1672 | return escaped; | ||
| 1673 | } | ||
| 1674 | #endif | ||
| 1675 | |||
| 1676 | module_init(lbs_init_module); | 1649 | module_init(lbs_init_module); |
| 1677 | module_exit(lbs_exit_module); | 1650 | module_exit(lbs_exit_module); |
| 1678 | 1651 | ||
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c index 351b3f6e5664..7881890a4e98 100644 --- a/drivers/net/wireless/libertas/scan.c +++ b/drivers/net/wireless/libertas/scan.c | |||
| @@ -4,9 +4,12 @@ | |||
| 4 | * IOCTL handlers as well as command preperation and response routines | 4 | * IOCTL handlers as well as command preperation and response routines |
| 5 | * for sending scan commands to the firmware. | 5 | * for sending scan commands to the firmware. |
| 6 | */ | 6 | */ |
| 7 | #include <linux/types.h> | ||
| 7 | #include <linux/etherdevice.h> | 8 | #include <linux/etherdevice.h> |
| 8 | #include <asm/unaligned.h> | 9 | #include <asm/unaligned.h> |
| 9 | 10 | ||
| 11 | #include <net/lib80211.h> | ||
| 12 | |||
| 10 | #include "host.h" | 13 | #include "host.h" |
| 11 | #include "decl.h" | 14 | #include "decl.h" |
| 12 | #include "dev.h" | 15 | #include "dev.h" |
| @@ -452,7 +455,7 @@ int lbs_scan_networks(struct lbs_private *priv, int full_scan) | |||
| 452 | list_for_each_entry(iter, &priv->network_list, list) | 455 | list_for_each_entry(iter, &priv->network_list, list) |
| 453 | lbs_deb_scan("%02d: BSSID %pM, RSSI %d, SSID '%s'\n", | 456 | lbs_deb_scan("%02d: BSSID %pM, RSSI %d, SSID '%s'\n", |
| 454 | i++, iter->bssid, iter->rssi, | 457 | i++, iter->bssid, iter->rssi, |
| 455 | escape_essid(iter->ssid, iter->ssid_len)); | 458 | escape_ssid(iter->ssid, iter->ssid_len)); |
| 456 | mutex_unlock(&priv->lock); | 459 | mutex_unlock(&priv->lock); |
| 457 | #endif | 460 | #endif |
| 458 | 461 | ||
| @@ -599,7 +602,7 @@ static int lbs_process_bss(struct bss_descriptor *bss, | |||
| 599 | bss->ssid_len = min_t(int, 32, elem->len); | 602 | bss->ssid_len = min_t(int, 32, elem->len); |
| 600 | memcpy(bss->ssid, elem->data, bss->ssid_len); | 603 | memcpy(bss->ssid, elem->data, bss->ssid_len); |
| 601 | lbs_deb_scan("got SSID IE: '%s', len %u\n", | 604 | lbs_deb_scan("got SSID IE: '%s', len %u\n", |
| 602 | escape_essid(bss->ssid, bss->ssid_len), | 605 | escape_ssid(bss->ssid, bss->ssid_len), |
| 603 | bss->ssid_len); | 606 | bss->ssid_len); |
| 604 | break; | 607 | break; |
| 605 | 608 | ||
| @@ -742,7 +745,7 @@ int lbs_send_specific_ssid_scan(struct lbs_private *priv, uint8_t *ssid, | |||
| 742 | int ret = 0; | 745 | int ret = 0; |
| 743 | 746 | ||
| 744 | lbs_deb_enter_args(LBS_DEB_SCAN, "SSID '%s'\n", | 747 | lbs_deb_enter_args(LBS_DEB_SCAN, "SSID '%s'\n", |
| 745 | escape_essid(ssid, ssid_len)); | 748 | escape_ssid(ssid, ssid_len)); |
| 746 | 749 | ||
| 747 | if (!ssid_len) | 750 | if (!ssid_len) |
| 748 | goto out; | 751 | goto out; |
| @@ -966,7 +969,7 @@ int lbs_set_scan(struct net_device *dev, struct iw_request_info *info, | |||
| 966 | priv->scan_ssid_len = req->essid_len; | 969 | priv->scan_ssid_len = req->essid_len; |
| 967 | memcpy(priv->scan_ssid, req->essid, priv->scan_ssid_len); | 970 | memcpy(priv->scan_ssid, req->essid, priv->scan_ssid_len); |
| 968 | lbs_deb_wext("set_scan, essid '%s'\n", | 971 | lbs_deb_wext("set_scan, essid '%s'\n", |
| 969 | escape_essid(priv->scan_ssid, priv->scan_ssid_len)); | 972 | escape_ssid(priv->scan_ssid, priv->scan_ssid_len)); |
| 970 | } else { | 973 | } else { |
| 971 | priv->scan_ssid_len = 0; | 974 | priv->scan_ssid_len = 0; |
| 972 | } | 975 | } |
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c index 04f0bf2ef0a8..247579951858 100644 --- a/drivers/net/wireless/libertas/wext.c +++ b/drivers/net/wireless/libertas/wext.c | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #include <linux/wireless.h> | 8 | #include <linux/wireless.h> |
| 9 | #include <linux/bitops.h> | 9 | #include <linux/bitops.h> |
| 10 | 10 | ||
| 11 | #include <net/lib80211.h> | ||
| 11 | #include <net/ieee80211.h> | 12 | #include <net/ieee80211.h> |
| 12 | #include <net/iw_handler.h> | 13 | #include <net/iw_handler.h> |
| 13 | 14 | ||
| @@ -2005,7 +2006,7 @@ static int lbs_set_essid(struct net_device *dev, struct iw_request_info *info, | |||
| 2005 | lbs_deb_wext("requested any SSID\n"); | 2006 | lbs_deb_wext("requested any SSID\n"); |
| 2006 | } else { | 2007 | } else { |
| 2007 | lbs_deb_wext("requested SSID '%s'\n", | 2008 | lbs_deb_wext("requested SSID '%s'\n", |
| 2008 | escape_essid(ssid, ssid_len)); | 2009 | escape_ssid(ssid, ssid_len)); |
| 2009 | } | 2010 | } |
| 2010 | 2011 | ||
| 2011 | out: | 2012 | out: |
