From 42ab82c20c5e6a5695a0429b15923df1bd09cb1b Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Tue, 19 Oct 2021 14:52:47 -0700 Subject: [PATCH] station: disable OCV if offloading is supported It was seen during testing that several offload-capable cards were not including the OCI in the 4-way handshake. This made any OCV capable AP unconnectable. To be safe disable OCV on any cards that support offloading. --- src/station.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/station.c b/src/station.c index 2394053b..6d024558 100644 --- a/src/station.c +++ b/src/station.c @@ -1085,7 +1085,20 @@ build_ie: &disable_ocv)) disable_ocv = false; - info.ocvc = !disable_ocv && bss_info.ocvc && info.mfpc; + /* + * Obviously do not enable OCV if explicitly disabled or no AP support. + * + * Not obviously hostapd rejects OCV support if MFPC is not enabled. + * This is not really specified by the spec, but we have to work around + * this limitation. + * + * Another limitation is full mac cards. With limited testing it was + * seen that they do not include the OCI in the 4-way handshake yet + * still advertise the capability. Because of this OCV is disabled if + * any offload features are detected (since IWD prefers to use offload). + */ + info.ocvc = !disable_ocv && bss_info.ocvc && info.mfpc && + !wiphy_can_offload(wiphy);; /* * IEEE 802.11-2020 9.4.2.24.4 states extended key IDs can only be used