]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw88: usb: Simplify rtw_usb_write_data
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Fri, 3 May 2024 10:53:28 +0000 (13:53 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Thu, 9 May 2024 06:20:09 +0000 (14:20 +0800)
The skb created in this function always has the same headroom,
the chip's TX descriptor size. (pkt_info->offset is set by
rtw_usb_write_data_rsvd_page() to chip->tx_pkt_desc_sz.) Use
chip->tx_pkt_desc_sz directly.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/2479507e-3946-492f-857e-83e54969aad2@gmail.com
drivers/net/wireless/realtek/rtw88/usb.c

index a0188511099a1bdfa28bc8882141fb7390f1c851..90afeefe002f37e907a1784d0430bcbc6638be66 100644 (file)
@@ -433,23 +433,21 @@ static int rtw_usb_write_data(struct rtw_dev *rtwdev,
 {
        const struct rtw_chip_info *chip = rtwdev->chip;
        struct sk_buff *skb;
-       unsigned int desclen, headsize, size;
+       unsigned int size;
        u8 qsel;
        int ret = 0;
 
        size = pkt_info->tx_pkt_size;
        qsel = pkt_info->qsel;
-       desclen = chip->tx_pkt_desc_sz;
-       headsize = pkt_info->offset ? pkt_info->offset : desclen;
 
-       skb = dev_alloc_skb(headsize + size);
+       skb = dev_alloc_skb(chip->tx_pkt_desc_sz + size);
        if (unlikely(!skb))
                return -ENOMEM;
 
-       skb_reserve(skb, headsize);
+       skb_reserve(skb, chip->tx_pkt_desc_sz);
        skb_put_data(skb, buf, size);
-       skb_push(skb, headsize);
-       memset(skb->data, 0, headsize);
+       skb_push(skb, chip->tx_pkt_desc_sz);
+       memset(skb->data, 0, chip->tx_pkt_desc_sz);
        rtw_tx_fill_tx_desc(pkt_info, skb);
        rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);