OSDN Git Service

sfc: don't call tx_limit_len if NIC type doesn't have one
authorEdward Cree <ecree@solarflare.com>
Thu, 2 Jul 2020 16:30:23 +0000 (17:30 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Jul 2020 21:47:40 +0000 (14:47 -0700)
EF100 doesn't need to split up large DMAs.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/tx_common.c

index 2a058b7..11b64c6 100644 (file)
@@ -298,7 +298,11 @@ struct efx_tx_buffer *efx_tx_map_chunk(struct efx_tx_queue *tx_queue,
        /* Map the fragment taking account of NIC-dependent DMA limits. */
        do {
                buffer = efx_tx_queue_get_insert_buffer(tx_queue);
-               dma_len = nic_type->tx_limit_len(tx_queue, dma_addr, len);
+
+               if (nic_type->tx_limit_len)
+                       dma_len = nic_type->tx_limit_len(tx_queue, dma_addr, len);
+               else
+                       dma_len = len;
 
                buffer->len = dma_len;
                buffer->dma_addr = dma_addr;