lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 308/717] mt76: fix tkip configuration for mt7615/7663 devices
    Date
    From: Lorenzo Bianconi <lorenzo@kernel.org>

    [ Upstream commit 930e0eaddf810cfa90e114a0df02f48539e1346f ]

    Fix Tx-Rx MIC overwrite during TKIP hw key configuration

    Fixes: 01cfc1b45421 ("mt76: mt7615: add BIP_CMAC_128 cipher support")
    Tested-by: YN Chen <yn.chen@mediatek.com>
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/mediatek/mt76/mt7615/mac.c | 14 ++++++++------
    1 file changed, 8 insertions(+), 6 deletions(-)

    diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
    index 8dc645e398fda..3d62fda067e44 100644
    --- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
    +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
    @@ -1046,15 +1046,17 @@ int mt7615_mac_wtbl_update_key(struct mt7615_dev *dev,
    if (cmd == SET_KEY) {
    if (cipher == MT_CIPHER_TKIP) {
    /* Rx/Tx MIC keys are swapped */
    + memcpy(data, key, 16);
    memcpy(data + 16, key + 24, 8);
    memcpy(data + 24, key + 16, 8);
    + } else {
    + if (cipher != MT_CIPHER_BIP_CMAC_128 && wcid->cipher)
    + memmove(data + 16, data, 16);
    + if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher)
    + memcpy(data, key, keylen);
    + else if (cipher == MT_CIPHER_BIP_CMAC_128)
    + memcpy(data + 16, key, 16);
    }
    - if (cipher != MT_CIPHER_BIP_CMAC_128 && wcid->cipher)
    - memmove(data + 16, data, 16);
    - if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher)
    - memcpy(data, key, keylen);
    - else if (cipher == MT_CIPHER_BIP_CMAC_128)
    - memcpy(data + 16, key, 16);
    } else {
    if (wcid->cipher & ~BIT(cipher)) {
    if (cipher != MT_CIPHER_BIP_CMAC_128)
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 15:59    [W:2.089 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site