On Wed, 2014-12-03 at 18:08 +0200, Arik Nemtsov wrote:

>   * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
> - *   regulatory domain.
> + *   regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
> + *   has a private regulatory domain, it will be returned. Otherwise, the
> + *   global regdomain will be returned.
> + *   A device will have a private regulatory domain if it uses the
> + *   regulatory_hint() API. Even when a private regdomain is used the channel
> + *   information will still be mended according to further hints from
> + *   the regulatory core to help with compliance.

I think you need to document the new availability of the dump version of
this now.

> +     if (!regdom && !cfg80211_regdomain) {

I'm not sure why sparse doesn't warn here, but I think that should
probably use rcu_access_pointer(cfg80211_regdomain).

More realistically, the regdomain can never be NULL I think, so is that
even needed? OTOH, if it can be NULL, then you must make this check
after the rcu_dereference, which would make this code easier to follow.

> +             nlmsg_free(msg);
> +             return -EINVAL;
> +     }
> +
> +     if (!wiphy && reg_last_request_cell_base() &&
> +         nla_put_u32(msg, NL80211_ATTR_USER_REG_HINT_TYPE,
> +                     NL80211_USER_REG_HINT_CELL_BASE))
> +             goto nla_put_failure;
> +
> +     rcu_read_lock();
> +
> +     if (!regdom)
> +             regdom = rcu_dereference(cfg80211_regdomain);

i.e. move the check into this if here

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to