On Mon, 2012-06-25 at 18:16 +0200, Johannes Berg wrote: > On Mon, 2012-06-25 at 19:05 +0300, Eliad Peller wrote: > > On Mon, Jun 25, 2012 at 6:48 PM, Johannes Berg > > <johannes@xxxxxxxxxxxxxxxx> wrote: > > > On Mon, 2012-06-25 at 18:20 +0300, Eliad Peller wrote: > > > > > >> > +void cfg80211_unregister_wdev(struct wireless_dev *wdev) > > > > > >> > + case NL80211_IFTYPE_P2P_DEVICE: > > >> > + if (wdev->p2p_started) { > > >> > + wdev->p2p_started = false; > > >> > + rdev->opencount--; > > >> > + } > > >> any reason not calling stop_p2p_device() here as well? > > > > > > That would be circular? You're supposed to call this when > > > stop_p2p_device() gets called, or when you need to delete it for some > > > other reason, usually device unplug or such. > > > > > hmm... so where stop_p2p_device is being called when userspace doesn't call it? > > Why should it be called? The stop can either originate from userspace, > or from the driver in case the device is unplugged etc. In that case, > the driver is expected to clean up its own status before it calls > unregister_wdev(). > > I guess this is a bit different from the netdevs where we do call the > relevant stop functions when the interface goes down, and it goes down > when it is unregistered, etc. > > Then again, if we do call stop_p2p_device here, it's not actually that > circular because it will only happen the first time around. Hmm. Wait, it's not actually circular, I'm confusing stop_p2p_device and del_virtual_intf... So I guess it makes sense and we could just call it here, and drivers don't need to stop anything etc. I'll change it. johannes -- 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