@@ -395,14 +395,15 @@ static int enetc_map_tx_buffs(struct enetc_bdr *tx_ring, struct sk_buff *skb)
395
395
return 0 ;
396
396
}
397
397
398
- static void enetc_map_tx_tso_hdr (struct enetc_bdr * tx_ring , struct sk_buff * skb ,
399
- struct enetc_tx_swbd * tx_swbd ,
400
- union enetc_tx_bd * txbd , int * i , int hdr_len ,
401
- int data_len )
398
+ static int enetc_map_tx_tso_hdr (struct enetc_bdr * tx_ring , struct sk_buff * skb ,
399
+ struct enetc_tx_swbd * tx_swbd ,
400
+ union enetc_tx_bd * txbd , int * i , int hdr_len ,
401
+ int data_len )
402
402
{
403
403
union enetc_tx_bd txbd_tmp ;
404
404
u8 flags = 0 , e_flags = 0 ;
405
405
dma_addr_t addr ;
406
+ int count = 1 ;
406
407
407
408
enetc_clear_tx_bd (& txbd_tmp );
408
409
addr = tx_ring -> tso_headers_dma + * i * TSO_HEADER_SIZE ;
@@ -445,7 +446,10 @@ static void enetc_map_tx_tso_hdr(struct enetc_bdr *tx_ring, struct sk_buff *skb,
445
446
/* Write the BD */
446
447
txbd_tmp .ext .e_flags = e_flags ;
447
448
* txbd = txbd_tmp ;
449
+ count ++ ;
448
450
}
451
+
452
+ return count ;
449
453
}
450
454
451
455
static int enetc_map_tx_tso_data (struct enetc_bdr * tx_ring , struct sk_buff * skb ,
@@ -802,9 +806,9 @@ static int enetc_map_tx_tso_buffs(struct enetc_bdr *tx_ring, struct sk_buff *skb
802
806
803
807
/* compute the csum over the L4 header */
804
808
csum = enetc_tso_hdr_csum (& tso , skb , hdr , hdr_len , & pos );
805
- enetc_map_tx_tso_hdr (tx_ring , skb , tx_swbd , txbd , & i , hdr_len , data_len );
809
+ count += enetc_map_tx_tso_hdr (tx_ring , skb , tx_swbd , txbd ,
810
+ & i , hdr_len , data_len );
806
811
bd_data_num = 0 ;
807
- count ++ ;
808
812
809
813
while (data_len > 0 ) {
810
814
int size ;
0 commit comments