On Tue, Jul 10, 2012 at 8:25 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
> On Fri, 2012-07-06 at 15:20 -0700, Luis R. Rodriguez wrote:
>> From: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxxxxxxxx>
>>
>> Cellular base stations can provide hints to cfg80211 about
>> where they think we are. This can be done for example by on
>> a cell phone.
>
> by what? :)
Fixed, thanks.
>> To enable these hints we simply allow them
>> through as user regulatory hints but we allow userspace
>> to clasify the hint. This option is only available for
>
> if you're going to respin ... classify
OK I'll add:
"To enable these hints we simply allow them
through as user regulatory hints but we allow userspace
to clasify the hint as either coming directly from the
user or coming from a cellular base station. "
>> system integrators which are willing to enable
>
> who are willing? not sure
I'll reword:
"This option is only available when you enable
CONFIG_CFG80211_CERTIFICATION_ONUS."
>> CONFIG_CFG80211_CERTIFICATION_ONUS.
>>
>> The base station hints themselves will not be processsed
>
> processed :)
Thanks, fixed.
>> by the core unless at least one device on the system
>> supports this feature.
>
> So ... yeah I guess this is fine. we don't really want to distinguish
> between the devices too much anyway. And I suspect that if you're in an
> environment where you allow plugging in random wireless devices you
> wouldn't enable this anyway.
Well even if you do the other "random" device would disregards the
cell base station hint unless it has the capability enabled.
>> * DFS master operation on a known DFS region (NL80211_DFS_*),
>> * dfs_region represents that region. Drivers can use this and the
>> * @alpha2 to adjust their device's DFS parameters as required.
>> + * @user_reg_hint_type: if the @initiator was of type
>> + * %NL80211_REGDOM_SET_BY_USER, this clasifies the type
>
> classifies
OK fine, I need a spell checker :P
>> + * of hint passed. This could be any of the %NL80211_USER_REG_HINT_*
>
> could be any of the ... "values"?
Sure, I'll use "types".
>> /* set up regulatory info */
>> + wiphy_regulatory_register(wiphy);
>> regulatory_update(wiphy, NL80211_REGDOM_SET_BY_CORE);
>
> might make sense to move the regulatory_update() call into the new
> function, then it could become a static function?
Good point! In fact we can then nuke regulatory_update() all together,
I'll do this through 2 separate patches.
>> +++ b/net/wireless/nl80211.c
>> @@ -294,6 +294,7 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
>> [NL80211_ATTR_NOACK_MAP] = { .type = NLA_U16 },
>> [NL80211_ATTR_INACTIVITY_TIMEOUT] = { .type = NLA_U16 },
>> [NL80211_ATTR_BG_SCAN_PERIOD] = { .type = NLA_U16 },
>> + [NL80211_ATTR_USER_REG_HINT_TYPE] = { .type = NLA_U8 },
>
> I think u32 makes more sense, u8 doesn't actually save you anything
> (same space in the netlink attributes, and you have to validate it
> anyway)
Sure, I'll use u32 and add a check.
>> - r = regulatory_hint_user(data);
>> + if (info->attrs[NL80211_ATTR_USER_REG_HINT_TYPE])
>> + user_reg_hint_type =
>> + nla_get_u8(info->attrs[NL80211_ATTR_USER_REG_HINT_TYPE]);
>
> need to validate that it's a valid value, otherwise I can pass "42" :-)
Thanks, yes, I'll add:
+ switch (user_reg_hint_type) {
+ case NL80211_USER_REG_HINT_USER:
+ case NL80211_USER_REG_HINT_CELL_BASE:
+ break;
+ default:
+ return -EINVAL;
+ }
Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel]
[Linux Bluetooth]
[Linux Netdev]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]
[Free Dating]
[M2M Wireless]