diff options
Diffstat (limited to 'drivers/net/wireless/libertas/scan.c')
-rw-r--r-- | drivers/net/wireless/libertas/scan.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c index 5c730b9d956c..8d4e1ee27395 100644 --- a/drivers/net/wireless/libertas/scan.c +++ b/drivers/net/wireless/libertas/scan.c | |||
@@ -1334,6 +1334,8 @@ out: | |||
1334 | return ret; | 1334 | return ret; |
1335 | } | 1335 | } |
1336 | 1336 | ||
1337 | #define MAX_CUSTOM_LEN 64 | ||
1338 | |||
1337 | static inline char *libertas_translate_scan(wlan_private *priv, | 1339 | static inline char *libertas_translate_scan(wlan_private *priv, |
1338 | char *start, char *stop, | 1340 | char *start, char *stop, |
1339 | struct bss_descriptor *bss) | 1341 | struct bss_descriptor *bss) |
@@ -1467,6 +1469,18 @@ static inline char *libertas_translate_scan(wlan_private *priv, | |||
1467 | start = iwe_stream_add_point(start, stop, &iwe, buf); | 1469 | start = iwe_stream_add_point(start, stop, &iwe, buf); |
1468 | } | 1470 | } |
1469 | 1471 | ||
1472 | if (bss->mesh) { | ||
1473 | char custom[MAX_CUSTOM_LEN]; | ||
1474 | char *p = custom; | ||
1475 | |||
1476 | iwe.cmd = IWEVCUSTOM; | ||
1477 | p += snprintf(p, MAX_CUSTOM_LEN - (p - custom), | ||
1478 | "mesh-type: olpc"); | ||
1479 | iwe.u.data.length = p - custom; | ||
1480 | if (iwe.u.data.length) | ||
1481 | start = iwe_stream_add_point(start, stop, &iwe, custom); | ||
1482 | } | ||
1483 | |||
1470 | return start; | 1484 | return start; |
1471 | } | 1485 | } |
1472 | 1486 | ||