On Thu, Feb 13, 2014 at 11:06 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Thu, 2014-02-13 at 10:55 +0200, Arik Nemtsov wrote: > >> > + netif_napi_add(napi_dev, napi, poll, weight); >> > + local->napi = napi; >> >> I'm not really familiar with NAPI, but shouldn't netif_napi_del be >> called at some point? And if so, it will leave mac80211 in an >> inconsistent state. > > Oops. I totally forgot about that, since we use a fake netdev it doesn't > seem to have hurt, but it could leak memory. > >> Maybe if we make it part of ieee80211_register/unregister_hw the >> scoping of local->napi will be nicer? > > But then we'd have to have a whole bunch of new arguments to > _register_hw(), would we really want to go there? I don't think so - > also in iwlwifi we'd have to go through some contortions to do that > (rather than just call this function we'd have to store the stuff coming > in from below.) > > I think we can just require that the driver calls netif_napi_del() > itself, and for now it'd only be allowed to do it after unregister_hw(), > but that seems reasonable, no? It's fine. But I guess it's nicer to add a small ieee80211 wrapper for it that also clears local->napi? not sure. In general can we even add/remove napi when an interface is up or is it a bad idea? if it is, maybe it should be warned/blocked? I guess the scoping wasn't really clear for me, but maybe it is for anyone familiar with napi. -- 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