Browse Source

Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  net: ethernet: ti: am65-cpsw-nuss: fix checksum offload for IPv4
  net: ethernet: ti: am65-cpsw-nuss: fix dma mask

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
LCPD Auto Merger 6 years ago
parent
commit
9e24d540e8
1 changed files with 9 additions and 3 deletions
  1. 9 3
      drivers/net/ethernet/ti/am65-cpsw-nuss.c

+ 9 - 3
drivers/net/ethernet/ti/am65-cpsw-nuss.c

@@ -720,9 +720,9 @@ static void am65_cpsw_nuss_rx_csum(struct sk_buff *skb, u32 csum_info)
 	if (unlikely(!(skb->dev->features & NETIF_F_RXCSUM)))
 		return;
 
-	if (!(csum_info & AM65_CPSW_RX_PSD_CSUM_ERR) &&
-	    (csum_info & (AM65_CPSW_RX_PSD_IPV6_VALID |
-			  AM65_CPSW_RX_PSD_IPV6_VALID))) {
+	if ((csum_info & (AM65_CPSW_RX_PSD_IPV6_VALID |
+			  AM65_CPSW_RX_PSD_IPV4_VALID)) &&
+			  !(csum_info & AM65_CPSW_RX_PSD_CSUM_ERR)) {
 		if (csum_info & AM65_CPSW_RX_PSD_IS_FRAGMENT) {
 			skb->ip_summed = CHECKSUM_COMPLETE;
 			skb->csum = csum_unfold(csum_info &
@@ -2064,6 +2064,12 @@ static int am65_cpsw_nuss_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
+	ret = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(48));
+	if (ret) {
+		dev_err(dev, "error setting dma mask: %d\n", ret);
+		goto unreg_ndev;
+	}
+
 	ret = devm_request_irq(dev, common->tx_chns[0].irq,
 			       am65_cpsw_nuss_tx_irq,
 			       0, dev_name(dev), common);