mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
wifi: rtw89: 8922a: use SW CRYPTO when broadcast in MLO mode
8922A doesn't support broadcast/multicast traffic under MLO mode. So let mac80211 do the encryption/decryption for us when the connection is in MLO mode. Future BE ICs fixes this issue. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20250428112456.13165-3-pkshih@realtek.com
This commit is contained in:
parent
b47e250e59
commit
3725597881
|
|
@ -469,6 +469,10 @@ int rtw89_cam_sec_key_add(struct rtw89_dev *rtwdev,
|
|||
bool ext_key = false;
|
||||
int ret;
|
||||
|
||||
if (ieee80211_vif_is_mld(vif) && !chip->hw_mlo_bmc_crypto &&
|
||||
!(key->flags & IEEE80211_KEY_FLAG_PAIRWISE))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
switch (key->cipher) {
|
||||
case WLAN_CIPHER_SUITE_WEP40:
|
||||
hw_key_type = RTW89_SEC_KEY_TYPE_WEP40;
|
||||
|
|
|
|||
|
|
@ -4292,6 +4292,7 @@ struct rtw89_chip_info {
|
|||
bool hw_sec_hdr;
|
||||
bool hw_mgmt_tx_encrypt;
|
||||
bool hw_tkip_crypto;
|
||||
bool hw_mlo_bmc_crypto;
|
||||
u8 rf_path_num;
|
||||
u8 tx_nss;
|
||||
u8 rx_nss;
|
||||
|
|
|
|||
|
|
@ -2506,6 +2506,7 @@ const struct rtw89_chip_info rtw8851b_chip_info = {
|
|||
.hw_sec_hdr = false,
|
||||
.hw_mgmt_tx_encrypt = false,
|
||||
.hw_tkip_crypto = false,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 1,
|
||||
.tx_nss = 1,
|
||||
.rx_nss = 1,
|
||||
|
|
|
|||
|
|
@ -2224,6 +2224,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = {
|
|||
.hw_sec_hdr = false,
|
||||
.hw_mgmt_tx_encrypt = false,
|
||||
.hw_tkip_crypto = false,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 2,
|
||||
.tx_nss = 2,
|
||||
.rx_nss = 2,
|
||||
|
|
|
|||
|
|
@ -860,6 +860,7 @@ const struct rtw89_chip_info rtw8852b_chip_info = {
|
|||
.hw_sec_hdr = false,
|
||||
.hw_mgmt_tx_encrypt = false,
|
||||
.hw_tkip_crypto = false,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 2,
|
||||
.tx_nss = 2,
|
||||
.rx_nss = 2,
|
||||
|
|
|
|||
|
|
@ -793,6 +793,7 @@ const struct rtw89_chip_info rtw8852bt_chip_info = {
|
|||
.hw_sec_hdr = false,
|
||||
.hw_mgmt_tx_encrypt = false,
|
||||
.hw_tkip_crypto = true,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 2,
|
||||
.tx_nss = 2,
|
||||
.rx_nss = 2,
|
||||
|
|
|
|||
|
|
@ -3047,6 +3047,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = {
|
|||
.hw_sec_hdr = true,
|
||||
.hw_mgmt_tx_encrypt = true,
|
||||
.hw_tkip_crypto = true,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 2,
|
||||
.tx_nss = 2,
|
||||
.rx_nss = 2,
|
||||
|
|
|
|||
|
|
@ -2858,6 +2858,7 @@ const struct rtw89_chip_info rtw8922a_chip_info = {
|
|||
.hw_sec_hdr = true,
|
||||
.hw_mgmt_tx_encrypt = true,
|
||||
.hw_tkip_crypto = true,
|
||||
.hw_mlo_bmc_crypto = false,
|
||||
.rf_path_num = 2,
|
||||
.tx_nss = 2,
|
||||
.rx_nss = 2,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user