@@ -478,8 +478,6 @@ static int efx_tx_tso_fallback(struct efx_tx_queue *tx_queue,
478478 next = skb -> next ;
479479 skb -> next = NULL ;
480480
481- if (next )
482- skb -> xmit_more = true;
483481 efx_enqueue_skb (tx_queue , skb );
484482 skb = next ;
485483 }
@@ -506,7 +504,7 @@ static int efx_tx_tso_fallback(struct efx_tx_queue *tx_queue,
506504netdev_tx_t efx_enqueue_skb (struct efx_tx_queue * tx_queue , struct sk_buff * skb )
507505{
508506 unsigned int old_insert_count = tx_queue -> insert_count ;
509- bool xmit_more = skb -> xmit_more ;
507+ bool xmit_more = netdev_xmit_more () ;
510508 bool data_mapped = false;
511509 unsigned int segments ;
512510 unsigned int skb_len ;
@@ -533,7 +531,7 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
533531 if (rc )
534532 goto err ;
535533#ifdef EFX_USE_PIO
536- } else if (skb_len <= efx_piobuf_size && !skb -> xmit_more &&
534+ } else if (skb_len <= efx_piobuf_size && !xmit_more &&
537535 efx_nic_may_tx_pio (tx_queue )) {
538536 /* Use PIO for short packets with an empty queue. */
539537 if (efx_enqueue_skb_pio (tx_queue , skb ))
@@ -559,16 +557,16 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
559557 if (__netdev_tx_sent_queue (tx_queue -> core_txq , skb_len , xmit_more )) {
560558 struct efx_tx_queue * txq2 = efx_tx_queue_partner (tx_queue );
561559
562- /* There could be packets left on the partner queue if those
563- * SKBs had skb-> xmit_more set. If we do not push those they
560+ /* There could be packets left on the partner queue if
561+ * xmit_more was set. If we do not push those they
564562 * could be left for a long time and cause a netdev watchdog.
565563 */
566564 if (txq2 -> xmit_more_available )
567565 efx_nic_push_buffers (txq2 );
568566
569567 efx_nic_push_buffers (tx_queue );
570568 } else {
571- tx_queue -> xmit_more_available = skb -> xmit_more ;
569+ tx_queue -> xmit_more_available = xmit_more ;
572570 }
573571
574572 if (segments ) {
0 commit comments