WPS: Do not drop subscriptions based on max queue length origin/HEAD origin/master
authorJouni Malinen <j@w1.fi>
Sun, 17 Oct 2010 18:36:04 +0000 (21:36 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 17 Oct 2010 18:36:04 +0000 (21:36 +0300)
UPnP event subscriptions are not supposed to be dropped based on
whether events can be delivered quickly enough. Leave dropping to
happen only based on failed deliveries to avoid issues with a burst
of events kicking out still active subscribers.

src/wps/wps_upnp.c

index d2b8315..97eec1d 100644 (file)
@@ -527,13 +527,8 @@ static void upnp_wps_device_send_event(struct upnp_wps_device_sm *sm)
 
        dl_list_for_each_safe(s, tmp, &sm->subscriptions, struct subscription,
                              list) {
-               if (event_add(s, buf, sm->wlanevent_type ==
-                             UPNP_WPS_WLANEVENT_TYPE_PROBE) == 1) {
-                       wpa_printf(MSG_INFO, "WPS UPnP: Dropping "
-                                  "subscriber %p due to event backlog", s);
-                       dl_list_del(&s->list);
-                       subscription_destroy(s);
-               }
+               event_add(s, buf,
+                         sm->wlanevent_type == UPNP_WPS_WLANEVENT_TYPE_PROBE);
        }
 
        wpabuf_free(buf);