mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 14:49:24 +01:00
station: Use ft_authenticate_onchannel
In the case that the FT target is on the same channel as we're currently operating on, use ft_authenticate_onchannel instead of ft_authenticate. Going offchannel in this case can confuse some drivers.
This commit is contained in:
parent
3345c56fbb
commit
dc38964e42
@ -2298,12 +2298,21 @@ static bool station_fast_transition(struct station *station,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Both ft_action/ft_authenticate will gate the associate work item */
|
/* Both ft_action/ft_authenticate will gate the associate work item */
|
||||||
if ((hs->mde[4] & 1))
|
if ((hs->mde[4] & 1)) {
|
||||||
ft_action(netdev_get_ifindex(station->netdev),
|
ft_action(netdev_get_ifindex(station->netdev),
|
||||||
station->connected_bss->frequency, bss);
|
station->connected_bss->frequency, bss);
|
||||||
else
|
goto done;
|
||||||
ft_authenticate(netdev_get_ifindex(station->netdev), bss);
|
}
|
||||||
|
|
||||||
|
if (station->connected_bss->frequency == bss->frequency) {
|
||||||
|
ft_authenticate_onchannel(netdev_get_ifindex(station->netdev),
|
||||||
|
bss);
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
ft_authenticate(netdev_get_ifindex(station->netdev), bss);
|
||||||
|
|
||||||
|
done:
|
||||||
wiphy_radio_work_insert(station->wiphy, &station->ft_work,
|
wiphy_radio_work_insert(station->wiphy, &station->ft_work,
|
||||||
WIPHY_WORK_PRIORITY_CONNECT, &ft_work_ops);
|
WIPHY_WORK_PRIORITY_CONNECT, &ft_work_ops);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user