mirror of https://gitee.com/openkylin/linux.git
wlcore: allow ACX_BA_SESSION_RX_SETUP to fail
Under some circumstances, that fw might be asked to remove a rx ba sessions it doesn't know about. In this case, instead of triggering a recovery, accept the error code (CMD_STATUS_NO_RX_BA_SESSION) and ignore it. [Arik - indicate failure up when the BA session cannot be setup] Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
ea5084356f
commit
3b44b3b368
|
@ -1433,13 +1433,22 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
|
|||
acx->win_size = wl->conf.ht.rx_ba_win_size;
|
||||
acx->ssn = ssn;
|
||||
|
||||
ret = wl1271_cmd_configure(wl, ACX_BA_SESSION_RX_SETUP, acx,
|
||||
sizeof(*acx));
|
||||
ret = wlcore_cmd_configure_failsafe(wl, ACX_BA_SESSION_RX_SETUP, acx,
|
||||
sizeof(*acx),
|
||||
BIT(CMD_STATUS_NO_RX_BA_SESSION));
|
||||
if (ret < 0) {
|
||||
wl1271_warning("acx ba receiver session failed: %d", ret);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* sometimes we can't start the session */
|
||||
if (ret == CMD_STATUS_NO_RX_BA_SESSION) {
|
||||
wl1271_warning("no fw rx ba on tid %d", tid_index);
|
||||
ret = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
out:
|
||||
kfree(acx);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue