diff options
author | Nate(Qiang) Jiang <qiangjiang@google.com> | 2019-11-05 14:15:18 -0800 |
---|---|---|
committer | Nate(Qiang) Jiang <qiangjiang@google.com> | 2019-11-08 12:46:02 -0800 |
commit | 27544a5140b9b33f9c77690d524dea21235744f3 (patch) | |
tree | 539a793468f597728d57af5cefa48641842f3272 /service | |
parent | 4e74ff724a66310cc51f13fda8acc9bf6c43fa5f (diff) |
[WifiRtt] add check to verify bw and preamble combination valid
check the combination before send the request to the FW
Bug: 142147874
Test: atest android.net.wifi
Test: atest com.android.server.wifi
Change-Id: I98961412cc582ca7b2f1e596017ddc8cd3fee7ab
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/rtt/RttNative.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/rtt/RttNative.java b/service/java/com/android/server/wifi/rtt/RttNative.java index 06b2b6536..4b1524139 100644 --- a/service/java/com/android/server/wifi/rtt/RttNative.java +++ b/service/java/com/android/server/wifi/rtt/RttNative.java @@ -415,6 +415,7 @@ public class RttNative { config.channel.centerFreq1 = responder.centerFreq1; config.bw = halRttChannelBandwidthFromResponderChannelWidth(responder.channelWidth); config.preamble = halRttPreambleFromResponderPreamble(responder.preamble); + validateBwAndPreambleCombination(config.bw, config.preamble); if (config.peer == RttPeerType.NAN) { config.mustRequestLci = false; @@ -453,6 +454,20 @@ public class RttNative { return rttConfigs; } + private static void validateBwAndPreambleCombination(int bw, int preamble) { + if (bw <= RttBw.BW_20MHZ) { + return; + } + if (bw == RttBw.BW_40MHZ && preamble >= RttPreamble.HT) { + return; + } + if (bw >= RttBw.BW_80MHZ && preamble >= RttPreamble.VHT) { + return; + } + throw new IllegalArgumentException( + "bw and preamble combination is invalid, bw: " + bw + " preamble: " + preamble); + } + private static ArrayList<android.hardware.wifi.V1_4.RttConfig> convertRangingRequestToRttConfigs14( RangingRequest request, boolean isCalledFromPrivilegedContext, Capabilities cap) { |