lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 676/757] staging: wfx: fix handling of MMIC error
    Date
    From: Jérôme Pouiller <jerome.pouiller@silabs.com>

    [ Upstream commit 8d350c14ee5eb62ecd40b0991248bfbce511954d ]

    As expected, when the device detect a MMIC error, it returns a specific
    status. However, it also strip IV from the frame (don't ask me why).

    So, with the current code, mac80211 detects a corrupted frame and it
    drops it before it handle the MMIC error. The expected behavior would be
    to detect MMIC error then to renegotiate the EAP session.

    So, this patch correctly informs mac80211 that IV is not available. So,
    mac80211 correctly takes into account the MMIC error.

    Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
    Link: https://lore.kernel.org/r/20201007101943.749898-2-Jerome.Pouiller@silabs.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/staging/wfx/data_rx.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/staging/wfx/data_rx.c b/drivers/staging/wfx/data_rx.c
    index 33b715b7b94bb..ef0cc1e474ae6 100644
    --- a/drivers/staging/wfx/data_rx.c
    +++ b/drivers/staging/wfx/data_rx.c
    @@ -44,7 +44,7 @@ void wfx_rx_cb(struct wfx_vif *wvif,
    memset(hdr, 0, sizeof(*hdr));

    if (arg->status == HIF_STATUS_RX_FAIL_MIC)
    - hdr->flag |= RX_FLAG_MMIC_ERROR;
    + hdr->flag |= RX_FLAG_MMIC_ERROR | RX_FLAG_IV_STRIPPED;
    else if (arg->status)
    goto drop;

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:31    [W:3.555 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site