On Fri, Oct 1, 2010 at 12:06 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Fri, 2010-10-01 at 18:05 +0200, Johannes Berg wrote: >> On Fri, 2010-10-01 at 11:20 -0400, Bill Jordan wrote: >> >> > +static int nl80211_set_wds_peer(struct sk_buff *skb, struct genl_info *info) >> > +{ >> > + struct cfg80211_registered_device *rdev; >> > + struct wireless_dev *wdev; >> > + struct net_device *dev; >> > + u8 *bssid; >> > + int err; >> > + >> > + if (!info->attrs[NL80211_ATTR_MAC]) >> > + return -EINVAL; >> > + >> > + rtnl_lock(); >> > + >> > + err = get_rdev_dev_by_info_ifindex(info, &rdev, &dev); >> > + if (err) >> > + goto unlock_rtnl; >> > + >> > + wdev = dev->ieee80211_ptr; >> >> I think this (or maybe the mac80211 bit, but I think here makes more >> sense) needs to check !netif_running(), otherwise you can change the >> peer without it taking effect, or something like that? Sorry, should've >> noted that earlier. > > cfg80211_wds_wext_siwap does this. > > johannes You are correct. I was able to change the peer while the interface was running. I've updated the patch to fix this, and I'll resend it. Bill -- 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