hostapd: fix center frequency calculation for channel 149 and above
authorFelix Fietkau <nbd@nbd.name>
Fri, 11 Aug 2023 13:41:45 +0000 (15:41 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 11 Aug 2023 13:43:43 +0000 (15:43 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/hostapd/src/src/utils/ucode.c

index dba261e41a80efc7c0f12fad2e8f9d93d39caeb8..b9e7d871c7a5e456c16fcc204bc15a97d4ae4c24 100644 (file)
@@ -119,7 +119,12 @@ uc_value_t *uc_wpa_freq_info(uc_vm_t *vm, size_t nargs)
        if (!sec_channel)
                return ret;
 
-       center_ofs = freq_val >= 5900 ? 0 : 3;
+       if (freq_val >= 5900)
+               center_ofs = 0;
+       else if (freq_val >= 5745)
+               center_ofs = 20;
+       else
+               center_ofs = 35;
        tmp_channel = channel - center_ofs;
        tmp_channel &= ~((8 << width) - 1);
        center_idx = tmp_channel + center_ofs + (4 << width) - 1;