From nobody Tue Jun 16 03:46:47 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7221A3644A3 for ; Wed, 15 Apr 2026 18:47:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776278855; cv=none; b=giciSCQ9VbokGczBoC4sNpY3t1DtH/qCxD7XxjGdg1QYT0G8RHaeoKnJ06vYquVQRtIoFb9MnkDodEohpRPA23VlABOPBzHmL90KOY/7T6REFbTSwXv0o8ctuREPdApVEDurg2pUZGqnaNpOl2eRrTGg6cVNwRVcgp4Prruu5gg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776278855; c=relaxed/simple; bh=3UYWonrhpLRKFUbRV+51pP/n3K79aGN+ZBzAx10NcWA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=QDXxh3mfGl5Clpzpxsq3lP6U6MH1wxbQ50tf0fFQW7ImBZWsZLVaKdeeIx9GxU8lvUos7mVIoiHXB1bvbhl5EJuNaKc7yXLhvNsPuzIJSIZYuOuKaz5MQPXRYuzNydz44TzOUtuUUJRqJmyQ90PbgYwV2L7SuYgoC4I8BP1+z4s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XX1zrPGp; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XX1zrPGp" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-488a88aeec9so95081465e9.2 for ; Wed, 15 Apr 2026 11:47:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776278852; x=1776883652; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0nwJhwUJsav6HVUL3AaAxSVFrQ/sv4ki5nzAIqwDFlI=; b=XX1zrPGpe8FpIwn8Apv9RVwUQ0T17AebkXh+sK9GjEvs4NWwgaZqBzJJYbxQbZ5mGJ 9N6hsYZ0D//hUrU/W3A9vu9AxN6G64gpXuSJeNhSOouvQfhcqXb1WYsC50KjE10FY3Np HMPJpEUEW/HJ1ixNK7RfBDnHZzNWHjANzPZrDyXpcXtWCiIojDBsgpRALN91AtY5ok2p SUza+EIaX+ENdiQWvuSOs+bg73OLuDa8wnXMLCynlapyrH282TZ6eCOEofjt3E5L1Od/ Nn2Ev35Q/kZyMQsHTxQOESoX8+xfKk4PhOCG2Fz2hV9fAhwE4jBeKnHInYZchbQQCjFE 7RcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776278852; x=1776883652; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0nwJhwUJsav6HVUL3AaAxSVFrQ/sv4ki5nzAIqwDFlI=; b=g/LVB9NkrAyUHBMFP16+5F1yVjjsoiCwwCMNupkUZ9qP/yfzw8MbViB5TGZjCS1gjP E0XTofkU14UW3a1Ooqf67IQTXViBpwp97NPlMUBxl64qBRzX+QQ79Q+4rzDxVcee6bCO qAJbbr/dmyqQxVMisICTjloCdfG5BFAkQoNOuWKZARdIABogDz7IxQSaIpNDtxK7lgLl xetgQeV/PPdKp8Uo6XjtqhK4sQjqonA5qctirFEGyhfJM72fOfZKVh8Y2tMB+TM2CFso wcLEkFo1IL5cvvVr9Cs3sO28HFlSqNYxFULWVg7kzEp5jke6wLry8RckFyZuLEp8Q1t9 fpWg== X-Forwarded-Encrypted: i=1; AFNElJ/c01sct858WwZodVwPVpcf367Q4zJPHGOJVZhnSid9k1SDJZcaAPtmI1PY1oPw71QXBjXX2dhCLeTK1Eo=@vger.kernel.org X-Gm-Message-State: AOJu0Yxal02Eav6tS/Q9IRokon3QmkUd0J2ZxD/myiZCHyOYw+QwzKza RdXee+m0BRPC1gqVnbjrFH+oO/QAgjqoOVueI2I8BOn+Co+N2D6IAM9a X-Gm-Gg: AeBDiesHI9jBD4321c1XHk+u6N2JT1eDXeC36uuScWZfPqgMBqPVQ/H6++YhEaSo/AI O7ZWbEVISUT9zARZdAF/QAyRpXxnYfDSaDYwHL/mS20SVChSvShjbUOsggWgnEIoZccoiUdJMVf xEmJ32FlEUVyf0VPl5Pzi9A/lOwrMq+JqiwiECAQoQdaU4kryweFN315Sq+ShmiqOgm1wf9VO7O KzpE9a+c20+grOteRMSKpUYy1jSP0P2iRCLOiTkbS6vL3tTAZEoSd7vWjaZHAuWO/8Ryut1yEhC 1PdGymZUeR6BMQh28goWv0p/mBODskwlY6830g2zqe2LevDnUtzUY3xMo/Hs3BEh/nz7t2lc7hO IjZB3Z6UMJBRwUXoiYQ1+B1WCiUrej34yajc+BfswgdDtNsxwot2sfHfbglJaKbPULQ8QJxXgz9 +Hmc2JnvA9q20yweY0jQ== X-Received: by 2002:a05:600c:a105:b0:486:d76c:fa57 with SMTP id 5b1f17b1804b1-488d685b75emr223265165e9.17.1776278851571; Wed, 15 Apr 2026 11:47:31 -0700 (PDT) Received: from moxi ([178.134.243.189]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488f0e9c668sm40311565e9.4.2026.04.15.11.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 11:47:31 -0700 (PDT) From: Maksym Pikhotskyi To: gregkh@linuxfoundation.org, dan.carpenter@linaro.org, straube.linux@gmail.com, nathan@kernel.org, arthur.stupa@gmail.com, sameekshasankpal@gmail.com, ebiggers@kernel.org Cc: linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Maksym Pikhotskyi Subject: [PATCH] staging: r8723bs: reduce nesting Date: Wed, 15 Apr 2026 22:47:27 +0400 Message-ID: <20260415184727.285753-1-mpikhotskyi@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Reduce nesting by early returns. Signed-off-by: Maksym Pikhotskyi --- drivers/staging/rtl8723bs/core/rtw_security.c | 299 +++++++++--------- 1 file changed, 149 insertions(+), 150 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/stagin= g/rtl8723bs/core/rtw_security.c index b489babe7432..412edfdf9636 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -453,47 +453,45 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *px= mitframe) pframe =3D ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; =20 /* 4 start to encrypt each fragment */ - if (pattrib->encrypt =3D=3D _TKIP_) { + if (pattrib->encrypt !=3D _TKIP_) + return _SUCCESS; =20 - { - if (is_multicast_ether_addr(pattrib->ra)) - prwskey =3D psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XG= rpKeyid].skey; - else - prwskey =3D pattrib->dot118021x_UncstKey.skey; + if (is_multicast_ether_addr(pattrib->ra)) + prwskey =3D psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrp= Keyid].skey; + else + prwskey =3D pattrib->dot118021x_UncstKey.skey; =20 - for (curfragnum =3D 0; curfragnum < pattrib->nr_frags; curfragnum++) { - iv =3D pframe + pattrib->hdrlen; - payload =3D pframe + pattrib->iv_len + pattrib->hdrlen; + for (curfragnum =3D 0; curfragnum < pattrib->nr_frags; curfragnum++) { + iv =3D pframe + pattrib->hdrlen; + payload =3D pframe + pattrib->iv_len + pattrib->hdrlen; =20 - GET_TKIP_PN(iv, dot11txpn); + GET_TKIP_PN(iv, dot11txpn); =20 - pnl =3D (u16)(dot11txpn.val); - pnh =3D (u32)(dot11txpn.val >> 16); + pnl =3D (u16)(dot11txpn.val); + pnh =3D (u32)(dot11txpn.val >> 16); =20 - phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh); + phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh); =20 - phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl); + phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl); =20 - if ((curfragnum + 1) =3D=3D pattrib->nr_frags) { /* 4 the last fragmen= t */ - length =3D pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len = - pattrib->icv_len; - crc.f0 =3D cpu_to_le32(~crc32_le(~0, payload, length)); + if ((curfragnum + 1) =3D=3D pattrib->nr_frags) { /* 4 the last fragment = */ + length =3D pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - = pattrib->icv_len; + crc.f0 =3D cpu_to_le32(~crc32_le(~0, payload, length)); =20 - arc4_setkey(ctx, rc4key, 16); - arc4_crypt(ctx, payload, payload, length); - arc4_crypt(ctx, payload + length, crc.f1, 4); + arc4_setkey(ctx, rc4key, 16); + arc4_crypt(ctx, payload, payload, length); + arc4_crypt(ctx, payload + length, crc.f1, 4); =20 - } else { - length =3D pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - = pattrib->icv_len; - crc.f0 =3D cpu_to_le32(~crc32_le(~0, payload, length)); + } else { + length =3D pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pa= ttrib->icv_len; + crc.f0 =3D cpu_to_le32(~crc32_le(~0, payload, length)); =20 - arc4_setkey(ctx, rc4key, 16); - arc4_crypt(ctx, payload, payload, length); - arc4_crypt(ctx, payload + length, crc.f1, 4); + arc4_setkey(ctx, rc4key, 16); + arc4_crypt(ctx, payload, payload, length); + arc4_crypt(ctx, payload + length, crc.f1, 4); =20 - pframe +=3D pxmitpriv->frag_len; - pframe =3D (u8 *)round_up((SIZE_PTR)(pframe), 4); - } - } + pframe +=3D pxmitpriv->frag_len; + pframe =3D (u8 *)round_up((SIZE_PTR)(pframe), 4); } } return res; @@ -521,82 +519,82 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *pr= ecvframe) pframe =3D (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_da= ta; =20 /* 4 start to decrypt recvframe */ - if (prxattrib->encrypt =3D=3D _TKIP_) { - stainfo =3D rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]); - if (stainfo) { - if (is_multicast_ether_addr(prxattrib->ra)) { - static unsigned long start; - static u32 no_gkey_bc_cnt; - static u32 no_gkey_mc_cnt; - - if (!psecuritypriv->binstallGrpkey) { - res =3D _FAIL; - - if (start =3D=3D 0) - start =3D jiffies; - - if (is_broadcast_mac_addr(prxattrib->ra)) - no_gkey_bc_cnt++; - else - no_gkey_mc_cnt++; - - if (jiffies_to_msecs(jiffies - start) > 1000) { - if (no_gkey_bc_cnt || no_gkey_mc_cnt) { - netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", - FUNC_ADPT_ARG(padapter), - no_gkey_bc_cnt, - no_gkey_mc_cnt); - } - start =3D jiffies; - no_gkey_bc_cnt =3D 0; - no_gkey_mc_cnt =3D 0; - } - goto exit; - } + if (prxattrib->encrypt !=3D _TKIP_) + return _SUCCESS; + + stainfo =3D rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]); + if (!stainfo) + return _FAIL; + + if (is_multicast_ether_addr(prxattrib->ra)) { + static unsigned long start; + static u32 no_gkey_bc_cnt; + static u32 no_gkey_mc_cnt; + + if (!psecuritypriv->binstallGrpkey) { + res =3D _FAIL; + + if (start =3D=3D 0) + start =3D jiffies; =20 + if (is_broadcast_mac_addr(prxattrib->ra)) + no_gkey_bc_cnt++; + else + no_gkey_mc_cnt++; + + if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt= :%u\n", + FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); } - start =3D 0; + start =3D jiffies; no_gkey_bc_cnt =3D 0; no_gkey_mc_cnt =3D 0; - - prwskey =3D psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey; - } else { - prwskey =3D &stainfo->dot118021x_UncstKey.skey[0]; } + goto exit; + } =20 - iv =3D pframe + prxattrib->hdrlen; - payload =3D pframe + prxattrib->iv_len + prxattrib->hdrlen; - length =3D ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdr= len - prxattrib->iv_len; + if (no_gkey_bc_cnt || no_gkey_mc_cnt) { + netdev_dbg(padapter->pnetdev, + FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%= u\n", + FUNC_ADPT_ARG(padapter), + no_gkey_bc_cnt, + no_gkey_mc_cnt); + } + start =3D 0; + no_gkey_bc_cnt =3D 0; + no_gkey_mc_cnt =3D 0; =20 - GET_TKIP_PN(iv, dot11txpn); + prwskey =3D psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey; + } else { + prwskey =3D &stainfo->dot118021x_UncstKey.skey[0]; + } =20 - pnl =3D (u16)(dot11txpn.val); - pnh =3D (u32)(dot11txpn.val >> 16); + iv =3D pframe + prxattrib->hdrlen; + payload =3D pframe + prxattrib->iv_len + prxattrib->hdrlen; + length =3D ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrle= n - prxattrib->iv_len; =20 - phase1((u16 *)&ttkey[0], prwskey, &prxattrib->ta[0], pnh); - phase2(&rc4key[0], prwskey, (unsigned short *)&ttkey[0], pnl); + GET_TKIP_PN(iv, dot11txpn); =20 - /* 4 decrypt payload include icv */ + pnl =3D (u16)(dot11txpn.val); + pnh =3D (u32)(dot11txpn.val >> 16); =20 - arc4_setkey(ctx, rc4key, 16); - arc4_crypt(ctx, payload, payload, length); + phase1((u16 *)&ttkey[0], prwskey, &prxattrib->ta[0], pnh); + phase2(&rc4key[0], prwskey, (unsigned short *)&ttkey[0], pnl); =20 - *((u32 *)crc) =3D ~crc32_le(~0, payload, length - 4); + /* 4 decrypt payload include icv */ =20 - if (crc[3] !=3D payload[length - 1] || crc[2] !=3D payload[length - 2] = || - crc[1] !=3D payload[length - 3] || crc[0] !=3D payload[length - 4]) - res =3D _FAIL; - } else { - res =3D _FAIL; - } - } + arc4_setkey(ctx, rc4key, 16); + arc4_crypt(ctx, payload, payload, length); + + *((u32 *)crc) =3D ~crc32_le(~0, payload, length - 4); + + if (crc[3] !=3D payload[length - 1] || crc[2] !=3D payload[length - 2] || + crc[1] !=3D payload[length - 3] || crc[0] !=3D payload[length - 4]) + res =3D _FAIL; exit: return res; } @@ -969,24 +967,25 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxm= itframe) pframe =3D ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; =20 /* 4 start to encrypt each fragment */ - if (pattrib->encrypt =3D=3D _AES_) { - if (is_multicast_ether_addr(pattrib->ra)) - prwskey =3D psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGr= pKeyid].skey; - else - prwskey =3D pattrib->dot118021x_UncstKey.skey; + if (pattrib->encrypt !=3D _AES_) + return _SUCCESS; =20 - for (curfragnum =3D 0; curfragnum < pattrib->nr_frags; curfragnum++) { - if ((curfragnum + 1) =3D=3D pattrib->nr_frags) { /* 4 the last fragment= */ - length =3D pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len -= pattrib->icv_len; + if (is_multicast_ether_addr(pattrib->ra)) + prwskey =3D psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrp= Keyid].skey; + else + prwskey =3D pattrib->dot118021x_UncstKey.skey; =20 - aes_cipher(prwskey, pattrib->hdrlen, pframe, length); - } else { - length =3D pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - p= attrib->icv_len; + for (curfragnum =3D 0; curfragnum < pattrib->nr_frags; curfragnum++) { + if ((curfragnum + 1) =3D=3D pattrib->nr_frags) { /* 4 the last fragment = */ + length =3D pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - = pattrib->icv_len; =20 - aes_cipher(prwskey, pattrib->hdrlen, pframe, length); - pframe +=3D pxmitpriv->frag_len; - pframe =3D (u8 *)round_up((SIZE_PTR)(pframe), 4); - } + aes_cipher(prwskey, pattrib->hdrlen, pframe, length); + } else { + length =3D pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pa= ttrib->icv_len; + + aes_cipher(prwskey, pattrib->hdrlen, pframe, length); + pframe +=3D pxmitpriv->frag_len; + pframe =3D (u8 *)round_up((SIZE_PTR)(pframe), 4); } } return res; @@ -1213,69 +1212,69 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *p= recvframe) =20 pframe =3D (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_da= ta; /* 4 start to encrypt each fragment */ - if (prxattrib->encrypt =3D=3D _AES_) { - stainfo =3D rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]); - if (stainfo) { - if (is_multicast_ether_addr(prxattrib->ra)) { - static unsigned long start; - static u32 no_gkey_bc_cnt; - static u32 no_gkey_mc_cnt; - - if (!psecuritypriv->binstallGrpkey) { - res =3D _FAIL; - - if (start =3D=3D 0) - start =3D jiffies; - - if (is_broadcast_mac_addr(prxattrib->ra)) - no_gkey_bc_cnt++; - else - no_gkey_mc_cnt++; - - if (jiffies_to_msecs(jiffies - start) > 1000) { - if (no_gkey_bc_cnt || no_gkey_mc_cnt) { - netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", - FUNC_ADPT_ARG(padapter), - no_gkey_bc_cnt, - no_gkey_mc_cnt); - } - start =3D jiffies; - no_gkey_bc_cnt =3D 0; - no_gkey_mc_cnt =3D 0; - } - - goto exit; - } + if (prxattrib->encrypt !=3D _AES_) + return _SUCCESS; + + stainfo =3D rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]); + if (!stainfo) + return _FAIL; + + if (is_multicast_ether_addr(prxattrib->ra)) { + static unsigned long start; + static u32 no_gkey_bc_cnt; + static u32 no_gkey_mc_cnt; =20 + if (!psecuritypriv->binstallGrpkey) { + res =3D _FAIL; + + if (start =3D=3D 0) + start =3D jiffies; + + if (is_broadcast_mac_addr(prxattrib->ra)) + no_gkey_bc_cnt++; + else + no_gkey_mc_cnt++; + + if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt= :%u\n", + FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); } - start =3D 0; + start =3D jiffies; no_gkey_bc_cnt =3D 0; no_gkey_mc_cnt =3D 0; - - prwskey =3D psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey; - if (psecuritypriv->dot118021XGrpKeyid !=3D prxattrib->key_index) { - res =3D _FAIL; - goto exit; - } - } else { - prwskey =3D &stainfo->dot118021x_UncstKey.skey[0]; } =20 - length =3D ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdr= len - prxattrib->iv_len; + goto exit; + } =20 - res =3D aes_decipher(prwskey, prxattrib->hdrlen, pframe, length); + if (no_gkey_bc_cnt || no_gkey_mc_cnt) { + netdev_dbg(padapter->pnetdev, + FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%= u\n", + FUNC_ADPT_ARG(padapter), + no_gkey_bc_cnt, + no_gkey_mc_cnt); + } + start =3D 0; + no_gkey_bc_cnt =3D 0; + no_gkey_mc_cnt =3D 0; =20 - } else { + prwskey =3D psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey; + if (psecuritypriv->dot118021XGrpKeyid !=3D prxattrib->key_index) { res =3D _FAIL; + goto exit; } + } else { + prwskey =3D &stainfo->dot118021x_UncstKey.skey[0]; } + + length =3D ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrle= n - prxattrib->iv_len; + + res =3D aes_decipher(prwskey, prxattrib->hdrlen, pframe, length); + exit: return res; } --=20 2.51.0