2010-09-21 04:21:53

by greearb

[permalink] [raw]
Subject: [mac80211] mac80211: Support multiple VIFS per AP in debugfs.

From: Ben Greear <[email protected]>

MAC address of AP isn't unique..need to add the device
name as well.

Signed-off-by: Ben Greear <[email protected]>
---
:100644 100644 76839d4... 4cf451c... M net/mac80211/debugfs_sta.c
net/mac80211/debugfs_sta.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
index 76839d4..4cf451c 100644
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -301,14 +301,18 @@ STA_OPS(ht_capa);
void ieee80211_sta_debugfs_add(struct sta_info *sta)
{
struct dentry *stations_dir = sta->local->debugfs.stations;
- u8 mac[3*ETH_ALEN];
+ u8 mac[3*ETH_ALEN + IFNAMSIZ + 2];

sta->debugfs.add_has_run = true;

if (!stations_dir)
return;

- snprintf(mac, sizeof(mac), "%pM", sta->sta.addr);
+ if (sta->sdata)
+ snprintf(mac, sizeof(mac), "%pM-%s",
+ sta->sta.addr, sta->sdata->name);
+ else
+ snprintf(mac, sizeof(mac), "%pM-NULL", sta->sta.addr);

/*
* This might fail due to a race condition:
--
1.7.2.2



2010-09-21 06:47:58

by Johannes Berg

[permalink] [raw]
Subject: Re: [mac80211] mac80211: Support multiple VIFS per AP in debugfs.

On Mon, 2010-09-20 at 21:21 -0700, [email protected] wrote:
> From: Ben Greear <[email protected]>
>
> MAC address of AP isn't unique..need to add the device
> name as well.
>
> Signed-off-by: Ben Greear <[email protected]>
> ---
> :100644 100644 76839d4... 4cf451c... M net/mac80211/debugfs_sta.c
> net/mac80211/debugfs_sta.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
> index 76839d4..4cf451c 100644
> --- a/net/mac80211/debugfs_sta.c
> +++ b/net/mac80211/debugfs_sta.c
> @@ -301,14 +301,18 @@ STA_OPS(ht_capa);
> void ieee80211_sta_debugfs_add(struct sta_info *sta)
> {
> struct dentry *stations_dir = sta->local->debugfs.stations;
> - u8 mac[3*ETH_ALEN];
> + u8 mac[3*ETH_ALEN + IFNAMSIZ + 2];
>
> sta->debugfs.add_has_run = true;
>
> if (!stations_dir)
> return;
>
> - snprintf(mac, sizeof(mac), "%pM", sta->sta.addr);
> + if (sta->sdata)
> + snprintf(mac, sizeof(mac), "%pM-%s",
> + sta->sta.addr, sta->sdata->name);
> + else
> + snprintf(mac, sizeof(mac), "%pM-NULL", sta->sta.addr);

Does that NULL case really happen? I don't think it can, because we
shouldn't be adding this to debugfs before we assign it to an interface?

johannes


2010-09-21 12:05:09

by Ben Greear

[permalink] [raw]
Subject: Re: [mac80211] mac80211: Support multiple VIFS per AP in debugfs.

On 09/20/2010 11:48 PM, Johannes Berg wrote:
> On Mon, 2010-09-20 at 21:21 -0700, [email protected] wrote:
>> From: Ben Greear<[email protected]>
>>
>> MAC address of AP isn't unique..need to add the device
>> name as well.
>>
>> Signed-off-by: Ben Greear<[email protected]>
>> ---
>> :100644 100644 76839d4... 4cf451c... M net/mac80211/debugfs_sta.c
>> net/mac80211/debugfs_sta.c | 8 ++++++--
>> 1 files changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
>> index 76839d4..4cf451c 100644
>> --- a/net/mac80211/debugfs_sta.c
>> +++ b/net/mac80211/debugfs_sta.c
>> @@ -301,14 +301,18 @@ STA_OPS(ht_capa);
>> void ieee80211_sta_debugfs_add(struct sta_info *sta)
>> {
>> struct dentry *stations_dir = sta->local->debugfs.stations;
>> - u8 mac[3*ETH_ALEN];
>> + u8 mac[3*ETH_ALEN + IFNAMSIZ + 2];
>>
>> sta->debugfs.add_has_run = true;
>>
>> if (!stations_dir)
>> return;
>>
>> - snprintf(mac, sizeof(mac), "%pM", sta->sta.addr);
>> + if (sta->sdata)
>> + snprintf(mac, sizeof(mac), "%pM-%s",
>> + sta->sta.addr, sta->sdata->name);
>> + else
>> + snprintf(mac, sizeof(mac), "%pM-NULL", sta->sta.addr);
>
> Does that NULL case really happen? I don't think it can, because we
> shouldn't be adding this to debugfs before we assign it to an interface?

I haven't seen it be NULL...just was a bit paranoid. I'll re-spin w/out
that NULL check.

Thanks,
Ben

>
> johannes


--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com