Commit 04850a47 authored by Holger Schurig's avatar Holger Schurig Committed by John W. Linville
Browse files

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: default avatarHolger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: default avatarDan Williams <dcbw@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f539f2ef
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -271,7 +271,6 @@ config LIBERTAS
	tristate "Marvell 8xxx Libertas WLAN driver support"
	depends on WLAN_80211
	select WIRELESS_EXT
	select IEEE80211
	select FW_LOADER
	---help---
	  A library for Marvell Libertas 8xxx devices.
+5 −0
Original line number Diff line number Diff line
@@ -71,4 +71,9 @@ int lbs_stop_card(struct lbs_private *priv);
void lbs_host_to_card_done(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
+26 −0
Original line number Diff line number Diff line
@@ -1559,6 +1559,32 @@ out:
	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_exit(lbs_exit_module);