From b3b667c9925680a3dbc0e9179c975180e9432bda Mon Sep 17 00:00:00 2001 From: Andrew Rybchenko Date: Wed, 29 Mar 2017 17:59:19 +0100 Subject: [PATCH] net/sfc: do not drop TSO on device configure If Tx datapath does not support TSO, TSO was dropped on device configure. It is incorrect to change advertised offloads. Fixes: 7a4d44a639c9 ("net/sfc: make TSO a datapath-dependent feature") Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/sfc.c | 9 ++++++--- drivers/net/sfc/sfc_tx.c | 3 --- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c index eda426c2dd..181d87a1bb 100644 --- a/drivers/net/sfc/sfc.c +++ b/drivers/net/sfc/sfc.c @@ -588,9 +588,12 @@ sfc_attach(struct sfc_adapter *sa) encp = efx_nic_cfg_get(sa->nic); - sa->tso = encp->enc_fw_assisted_tso_v2_enabled; - if (!sa->tso) - sfc_warn(sa, "TSO support isn't available on this adapter"); + if (sa->dp_tx->features & SFC_DP_TX_FEAT_TSO) { + sa->tso = encp->enc_fw_assisted_tso_v2_enabled; + if (!sa->tso) + sfc_warn(sa, + "TSO support isn't available on this adapter"); + } sfc_log_init(sa, "estimate resource limits"); rc = sfc_estimate_resource_limits(sa); diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c index 79b900b336..3c4717f09f 100644 --- a/drivers/net/sfc/sfc_tx.c +++ b/drivers/net/sfc/sfc_tx.c @@ -307,9 +307,6 @@ sfc_tx_init(struct sfc_adapter *sa) goto fail_tx_dma_desc_boundary; } - if (~sa->dp_tx->features & SFC_DP_TX_FEAT_TSO) - sa->tso = B_FALSE; - rc = sfc_tx_check_mode(sa, &dev_conf->txmode); if (rc != 0) goto fail_check_mode; -- 2.20.1