aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/stmmac_main.c')
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/stmmac_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 003ab56f49b..20546bbbb8d 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -813,6 +813,7 @@ static u32 stmmac_get_synopsys_id(struct stmmac_priv *priv)
813static int stmmac_get_hw_features(struct stmmac_priv *priv) 813static int stmmac_get_hw_features(struct stmmac_priv *priv)
814{ 814{
815 u32 hw_cap = 0; 815 u32 hw_cap = 0;
816
816 if (priv->hw->dma->get_hw_feature) { 817 if (priv->hw->dma->get_hw_feature) {
817 hw_cap = priv->hw->dma->get_hw_feature(priv->ioaddr); 818 hw_cap = priv->hw->dma->get_hw_feature(priv->ioaddr);
818 819
@@ -938,6 +939,7 @@ static int stmmac_open(struct net_device *dev)
938 939
939 stmmac_get_hw_features(priv); 940 stmmac_get_hw_features(priv);
940 941
942 priv->rx_coe = priv->hw->mac->rx_coe(priv->ioaddr);
941 if (priv->rx_coe) 943 if (priv->rx_coe)
942 pr_info("stmmac: Rx Checksum Offload Engine supported\n"); 944 pr_info("stmmac: Rx Checksum Offload Engine supported\n");
943 if (priv->plat->tx_coe) 945 if (priv->plat->tx_coe)
@@ -1275,8 +1277,8 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit)
1275#endif 1277#endif
1276 skb->protocol = eth_type_trans(skb, priv->dev); 1278 skb->protocol = eth_type_trans(skb, priv->dev);
1277 1279
1278 if (unlikely(status == csum_none)) { 1280 if (unlikely(!priv->rx_coe)) {
1279 /* always for the old mac 10/100 */ 1281 /* No RX COE for old mac10/100 devices */
1280 skb_checksum_none_assert(skb); 1282 skb_checksum_none_assert(skb);
1281 netif_receive_skb(skb); 1283 netif_receive_skb(skb);
1282 } else { 1284 } else {