{
        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);