|
|
@@ -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 &
|