• Marek Vasut's avatar
    rsi: Fix TX EAPOL packet handling against iwlwifi AP · 65277100
    Marek Vasut authored
    In case RSI9116 SDIO WiFi operates in STA mode against Intel 9260 in AP mode,
    the association fails. The former is using wpa_supplicant during association,
    the later is set up using hostapd:
    
    iwl$ cat hostapd.conf
    interface=wlp1s0
    ssid=test
    country_code=DE
    hw_mode=g
    channel=1
    wpa=2
    wpa_passphrase=test
    wpa_key_mgmt=WPA-PSK
    iwl$ hostapd -d hostapd.conf
    
    rsi$ wpa_supplicant -i wlan0 -c <(wpa_passphrase test test)
    
    The problem is that the TX EAPOL data descriptor RSI_DESC_REQUIRE_CFM_TO_HOST
    flag and extended descriptor EAPOL4_CONFIRM frame type are not set in case the
    AP is iwlwifi, because in that case the TX EAPOL packet is 2 bytes shorter.
    
    The downstream vendor driver has this change in place already [1], however
    there is no explanation for it, neither is there any commit history from which
    such explanation could be obtained.
    
    [1] https://github.com/SiliconLabs/RS911X-nLink-OSD/blob/master/rsi/rsi_91x_hal.c#L238
    
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Angus Ainslie <angus@akkea.ca>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Kalle Valo <kvalo@codeaurora.org>
    Cc: Lee Jones <lee.jones@linaro.org>
    Cc: Martin Kepplinger <martink@posteo.de>
    Cc: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
    Cc: Siva Rebbagondla <siva8118@gmail.com>
    Cc: linux-wireless@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20201015111616.429220-1-marex@denx.de
    65277100
rsi_91x_hal.c 31.4 KB