|
@@ -1973,17 +1973,17 @@ static int atl1c_tso_csum(struct atl1c_adapter *adapter,
|
|
|
enum atl1c_trans_queue type)
|
|
|
{
|
|
|
struct pci_dev *pdev = adapter->pdev;
|
|
|
+ unsigned short offload_type;
|
|
|
u8 hdr_len;
|
|
|
u32 real_len;
|
|
|
- unsigned short offload_type;
|
|
|
- int err;
|
|
|
|
|
|
if (skb_is_gso(skb)) {
|
|
|
- if (skb_header_cloned(skb)) {
|
|
|
- err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);
|
|
|
- if (unlikely(err))
|
|
|
- return -1;
|
|
|
- }
|
|
|
+ int err;
|
|
|
+
|
|
|
+ err = skb_cow_head(skb, 0);
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+
|
|
|
offload_type = skb_shinfo(skb)->gso_type;
|
|
|
|
|
|
if (offload_type & SKB_GSO_TCPV4) {
|