drivers: net: ipq6018: Removing the additional rx buffer allocation

During long run tests on image download in u-boot, 
EDMA crash was observed as the SKB buffer address 
returned by the RX descriptor was corrupted and was 
pointing to an invalid address:
clean_rx: p: 14 c: 0 skb: 61763b10
WARN: src_info_type:0x0. Drop skb:61763b10

The reason for corruption seems to be the RX buffer allocation that was
happening twice before initiating the EDMA for the next transaction.
This change removes the additional allocation of the Rx buffer which is
not needed.

Change-Id: I4a5b404527469ff3b981749aa4e05080f55807cd
Signed-off-by: devi priya <quic_devipriy@quicinc.com>
This commit is contained in:
devi priya 2022-09-08 12:45:51 +05:30
parent c51b436697
commit 067984e4b5

View file

@ -270,7 +270,6 @@ uint32_t ipq6018_edma_clean_rx(struct ipq6018_edma_common_info *c_info,
int pkt_length;
int rx = CONFIG_SYS_RX_ETH_BUFFER;
u16 cleaned_count = 0;
struct ipq6018_edma_hw *ehw = &c_info->hw;
pr_debug("%s: rxdesc_ring->id = %d\n", __func__, rxdesc_ring->id);
/*
@ -351,7 +350,6 @@ next_rx_desc:
}
if (cleaned_count) {
ipq6018_edma_alloc_rx_buffer(ehw, rxdesc_ring->rxfill);
ipq6018_edma_reg_write(IPQ6018_EDMA_REG_RXDESC_CONS_IDX(
rxdesc_ring->id), cons_idx);
}