On Tue, 2017-04-25 at 21:49 +0200, Johannes Berg wrote:
> > if (schedule_destroy_work) {
> > - struct cfg80211_iface_destroy *destroy;
> > + struct cfg80211_nlport_release *destroy;
> >
> > destroy = kzalloc(sizeof(*destroy),
> > GFP_ATOMIC);
>
> I was never really happy with this allocation and really want to get
> rid of it ...
Done :)
> > + if (schedule_sched_stop_work) {
> > + struct cfg80211_nlport_release *destroy;
> > +
> > + destroy = kzalloc(sizeof(*destroy),
> > GFP_ATOMIC);
> > + if (destroy) {
> > + destroy->nlportid = notify-
> > >portid;
> > + spin_lock(&rdev-
> > > sched_stop_list_lock);
> >
> > + list_add(&destroy->list, &rdev-
> > > sched_stop_list);
> >
> > + spin_unlock(&rdev-
> > > sched_stop_list_lock);
> >
> > + schedule_work(&rdev-
> > > sched_scan_stop_wk);
> >
> > + }
> > + }
>
> Can't we set some kind of flag in the struct
> cfg80211_sched_scan_request and iterate through them later again,
> checking which need to be destroyed?
Easy enough - I'll also do that.
johannes