> 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 ...
> + 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?
johannes