On Tue, 2019-02-12 at 15:12 +0100, Felix Fietkau wrote: > When wpa_supplicant receives another new peer event before the first one > has been processed, it tries to add a station to the driver a second time > (which fails) and then tears down the station entry until another event > comes in. > Fix this by only adding a station to the driver if it didn't exist already. > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxx> > --- > wpa_supplicant/mesh_mpm.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/wpa_supplicant/mesh_mpm.c b/wpa_supplicant/mesh_mpm.c > index 44859396c..4bd130fb8 100644 > --- a/wpa_supplicant/mesh_mpm.c > +++ b/wpa_supplicant/mesh_mpm.c > @@ -685,11 +685,12 @@ static struct sta_info * mesh_mpm_add_peer(struct wpa_supplicant *wpa_s, > } > > sta = ap_get_sta(data, addr); > - if (!sta) { > - sta = ap_sta_add(data, addr); > - if (!sta) > - return NULL; > - } That's kinda odd, how could you process another event between those calls? Or am I misunderstanding the situation? johannes _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap