libertas: don't depend on IEEE80211
Runtime-wise we only need escape_ssid from the deprecated IEEE80211 subsystem. However, it's easy to provide our own copy. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
f539f2efe9
commit
04850a47aa
@@ -271,7 +271,6 @@ config LIBERTAS
|
|||||||
tristate "Marvell 8xxx Libertas WLAN driver support"
|
tristate "Marvell 8xxx Libertas WLAN driver support"
|
||||||
depends on WLAN_80211
|
depends on WLAN_80211
|
||||||
select WIRELESS_EXT
|
select WIRELESS_EXT
|
||||||
select IEEE80211
|
|
||||||
select FW_LOADER
|
select FW_LOADER
|
||||||
---help---
|
---help---
|
||||||
A library for Marvell Libertas 8xxx devices.
|
A library for Marvell Libertas 8xxx devices.
|
||||||
|
@@ -71,4 +71,9 @@ int lbs_stop_card(struct lbs_private *priv);
|
|||||||
void lbs_host_to_card_done(struct lbs_private *priv);
|
void lbs_host_to_card_done(struct lbs_private *priv);
|
||||||
|
|
||||||
int lbs_update_channel(struct lbs_private *priv);
|
int lbs_update_channel(struct lbs_private *priv);
|
||||||
|
|
||||||
|
#ifndef CONFIG_IEEE80211
|
||||||
|
const char *escape_essid(const char *essid, u8 essid_len);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1559,6 +1559,32 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_IEEE80211
|
||||||
|
const char *escape_essid(const char *essid, u8 essid_len)
|
||||||
|
{
|
||||||
|
static char escaped[IW_ESSID_MAX_SIZE * 2 + 1];
|
||||||
|
const char *s = essid;
|
||||||
|
char *d = escaped;
|
||||||
|
|
||||||
|
if (ieee80211_is_empty_essid(essid, essid_len)) {
|
||||||
|
memcpy(escaped, "<hidden>", sizeof("<hidden>"));
|
||||||
|
return escaped;
|
||||||
|
}
|
||||||
|
|
||||||
|
essid_len = min(essid_len, (u8) IW_ESSID_MAX_SIZE);
|
||||||
|
while (essid_len--) {
|
||||||
|
if (*s == '\0') {
|
||||||
|
*d++ = '\\';
|
||||||
|
*d++ = '0';
|
||||||
|
s++;
|
||||||
|
} else {
|
||||||
|
*d++ = *s++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*d = '\0';
|
||||||
|
return escaped;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
module_init(lbs_init_module);
|
module_init(lbs_init_module);
|
||||||
module_exit(lbs_exit_module);
|
module_exit(lbs_exit_module);
|
||||||
|
Reference in New Issue
Block a user