From: Yan-Hsuan Chuang <[email protected]>

pkt_offset is only used when getting the c2h from skb->data, use
get_c2h_from_skb to cleanup the code

Signed-off-by: Yan-Hsuan Chuang <[email protected]>
---
 drivers/net/wireless/realtek/rtw88/fw.c | 4 +---
 drivers/net/wireless/realtek/rtw88/fw.h | 8 ++++++++
 drivers/net/wireless/realtek/rtw88/tx.c | 4 +---
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/fw.c 
b/drivers/net/wireless/realtek/rtw88/fw.c
index 8ab1bbd..60330ba 100644
--- a/drivers/net/wireless/realtek/rtw88/fw.c
+++ b/drivers/net/wireless/realtek/rtw88/fw.c
@@ -11,11 +11,9 @@
 void rtw_fw_c2h_cmd_handle_ext(struct rtw_dev *rtwdev, struct sk_buff *skb)
 {
        struct rtw_c2h_cmd *c2h;
-       u32 pkt_offset;
        u8 sub_cmd_id;
 
-       pkt_offset = *((u32 *)skb->cb);
-       c2h = (struct rtw_c2h_cmd *)(skb->data + pkt_offset);
+       c2h = get_c2h_from_skb(skb);
        sub_cmd_id = c2h->payload[0];
 
        switch (sub_cmd_id) {
diff --git a/drivers/net/wireless/realtek/rtw88/fw.h 
b/drivers/net/wireless/realtek/rtw88/fw.h
index 6b03629..0b0e522 100644
--- a/drivers/net/wireless/realtek/rtw88/fw.h
+++ b/drivers/net/wireless/realtek/rtw88/fw.h
@@ -199,6 +199,14 @@ static inline void rtw_h2c_pkt_set_header(u8 *h2c_pkt, u8 
sub_id)
 #define SET_RA_INFO_RA_MASK3(h2c_pkt, value)                                   
\
        le32p_replace_bits((__le32 *)(h2c_pkt) + 0x01, value, GENMASK(31, 24))
 
+static inline struct rtw_c2h_cmd *get_c2h_from_skb(struct sk_buff *skb)
+{
+       u32 pkt_offset;
+
+       pkt_offset = *((u32 *)skb->cb);
+       return (struct rtw_c2h_cmd *)(skb->data + pkt_offset);
+}
+
 void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb);
 void rtw_fw_send_general_info(struct rtw_dev *rtwdev,
                              struct rtw_general_info *info);
diff --git a/drivers/net/wireless/realtek/rtw88/tx.c 
b/drivers/net/wireless/realtek/rtw88/tx.c
index 21516b7..e5267d5 100644
--- a/drivers/net/wireless/realtek/rtw88/tx.c
+++ b/drivers/net/wireless/realtek/rtw88/tx.c
@@ -199,12 +199,10 @@ void rtw_tx_report_handle(struct rtw_dev *rtwdev, struct 
sk_buff *skb)
        struct rtw_c2h_cmd *c2h;
        struct sk_buff *cur, *tmp;
        unsigned long flags;
-       u32 pkt_offset;
        u8 sn, st;
        u8 *n;
 
-       pkt_offset = *((u32 *)skb->cb);
-       c2h = (struct rtw_c2h_cmd *)(skb->data + pkt_offset);
+       c2h = get_c2h_from_skb(skb);
 
        sn = GET_CCX_REPORT_SEQNUM(c2h->payload);
        st = GET_CCX_REPORT_STATUS(c2h->payload);
-- 
2.7.4

Reply via email to