>               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

Reply via email to