mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
wifi: rtw88: usb: Simplify rtw_usb_write_data
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
This commit is contained in:
parent
d0bcb10e7b
commit
a892f6ffbe
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user