From: Ching-Te Ku The function to filled up H2C command data is the last step in the driver, the next step is going to firmware. So the structure version number should not included driver local branch number (like firmware is v5, but driver branch to v105), it should be assigned as a explicit version number which paired with firmware. Signed-off-by: Ching-Te Ku Signed-off-by: Ping-Ke Shih --- drivers/net/wireless/realtek/rtw89/fw.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c index 53ec6efb1cb2..34bc52519ea2 100644 --- a/drivers/net/wireless/realtek/rtw89/fw.c +++ b/drivers/net/wireless/realtek/rtw89/fw.c @@ -6255,6 +6255,10 @@ int rtw89_fw_h2c_cxdrv_role_v7(struct rtw89_dev *rtwdev, u8 type) skb_put(skb, len); h2c = (struct rtw89_h2c_cxrole_v7 *)skb->data; + h2c->hdr.type = type; + h2c->hdr.ver = 7; + h2c->hdr.len = len - H2C_LEN_CXDRVHDR_V7; + h2c->r.connect_cnt = r->connect_cnt; h2c->r.link_mode = r->link_mode; h2c->r.link_mode_chg = r->link_mode_chg; @@ -6323,7 +6327,7 @@ int rtw89_fw_h2c_cxdrv_role_v8(struct rtw89_dev *rtwdev, u8 type) h2c = (struct rtw89_h2c_cxrole_v8 *)skb->data; h2c->hdr.type = type; - h2c->hdr.ver = rtwdev->btc.ver->fwlrole; + h2c->hdr.ver = 8; h2c->hdr.len = len - H2C_LEN_CXDRVHDR_V7; h2c->r.connect_cnt = r->connect_cnt; h2c->r.link_mode = r->link_mode; @@ -6397,7 +6401,7 @@ int rtw89_fw_h2c_cxdrv_role_v10(struct rtw89_dev *rtwdev, u8 type) h2c = (struct rtw89_h2c_cxrole_v10 *)skb->data; h2c->hdr.type = type; - h2c->hdr.ver = rtwdev->btc.ver->fwlrole; + h2c->hdr.ver = 10; h2c->hdr.len = len - H2C_LEN_CXDRVHDR_V7; for (j = RTW89_MAC_0; j <= RTW89_MAC_1; j++) { -- 2.25.1