mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-31 23:42:52 +01:00
netdev: move prepare_ft call which broke FT
The prepare_ft patch was an intermediate to a full patch set and was not fully tested stand alone. Its placement actually broke FT due to handshake->aa getting overwritten prior to netdev->prev_bssid being copied out. This caused FT to fail with "transport endpoint not connected (-107)"
This commit is contained in:
parent
f98ddf2201
commit
d42549e46d
@ -3789,6 +3789,8 @@ static int fast_transition(struct netdev *netdev, struct scan_bss *target_bss,
|
|||||||
l_get_le16(target_bss->mde))
|
l_get_le16(target_bss->mde))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
prepare_ft(netdev, target_bss);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We reuse the handshake_state object and reset what's needed.
|
* We reuse the handshake_state object and reset what's needed.
|
||||||
* Could also create a new object and copy most of the state but
|
* Could also create a new object and copy most of the state but
|
||||||
@ -3805,8 +3807,6 @@ static int fast_transition(struct netdev *netdev, struct scan_bss *target_bss,
|
|||||||
target_bss->rsne);
|
target_bss->rsne);
|
||||||
memcpy(netdev->handshake->mde + 2, target_bss->mde, 3);
|
memcpy(netdev->handshake->mde + 2, target_bss->mde, 3);
|
||||||
|
|
||||||
prepare_ft(netdev, target_bss);
|
|
||||||
|
|
||||||
netdev->connect_cb = cb;
|
netdev->connect_cb = cb;
|
||||||
|
|
||||||
if (over_air)
|
if (over_air)
|
||||||
|
Loading…
Reference in New Issue
Block a user