On Wed, Dec 22, 2010 at 23:19, Luciano Coelho <luciano.coelho@xxxxxxxxx> wrote: > On Wed, 2010-12-22 at 16:27 +0200, ext Arik Nemtsov wrote: >> Sometimes an event indicating station removal is not sent up by >> firmware. We work around this by always indicating success in when >> a wait for the event timeouts. >> >> Temporary workaround until a FW fix is introduced. >> >> Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx> >> --- > > [...] > >> @@ -1108,9 +1122,11 @@ int wl1271_cmd_remove_sta(struct wl1271 *wl, u8 hlid) >> goto out_free; >> } >> >> - ret = wl1271_cmd_wait_for_event(wl, STA_REMOVE_COMPLETE_EVENT_ID); >> - if (ret < 0) >> - wl1271_error("cmd remove sta event completion error"); >> + /* >> + * We are ok with a timeout here. The event is sometimes not sent >> + * due to a firmware bug. >> + */ >> + wl1271_cmd_wait_for_event_or_timeout(wl, STA_REMOVE_COMPLETE_EVENT_ID); > > Why wait for the event at all then? > Well the bug is pretty rare (something like 1 in 100). Most of the time we get the event immediately. This way a station can reconnect very quickly in most cases. Regards, Arik -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html