From d42549e46dd6696102ec44a7546c7fceae2ad6ab Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Thu, 22 Apr 2021 10:37:46 -0700 Subject: [PATCH] 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)" --- src/netdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/netdev.c b/src/netdev.c index 28076244..1190399d 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -3789,6 +3789,8 @@ static int fast_transition(struct netdev *netdev, struct scan_bss *target_bss, l_get_le16(target_bss->mde)) return -EINVAL; + prepare_ft(netdev, target_bss); + /* * We reuse the handshake_state object and reset what's needed. * 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); memcpy(netdev->handshake->mde + 2, target_bss->mde, 3); - prepare_ft(netdev, target_bss); - netdev->connect_cb = cb; if (over_air)