Browse Source

WPS: Do not drop subscriptions based on max queue length

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.
Jouni Malinen 14 years ago
parent
commit
99ba7f889b
1 changed files with 2 additions and 7 deletions
  1. 2 7
      src/wps/wps_upnp.c

+ 2 - 7
src/wps/wps_upnp.c

@@ -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);