diff options
author | Matteo Croce <mcroce@redhat.com> | 2019-10-24 19:24:56 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-10-28 13:44:26 -0700 |
commit | 7f7183af448ac55da9cc72bdbef6d140909fee83 (patch) | |
tree | ba1abb66620433631f00ac1501fb0443a6575979 /drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | |
parent | faf7b8b22bd110d14b213bba045612f70e929bad (diff) | |
download | linux-7f7183af448ac55da9cc72bdbef6d140909fee83.tar.gz linux-7f7183af448ac55da9cc72bdbef6d140909fee83.tar.bz2 linux-7f7183af448ac55da9cc72bdbef6d140909fee83.zip |
mvpp2: refactor frame drop routine
Move some code down to remove a backward goto.
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c')
-rw-r--r-- | drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 5fea65256b9d..b61e0ad0978a 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -2956,14 +2956,8 @@ static int mvpp2_rx(struct mvpp2_port *port, struct napi_struct *napi, * by the hardware, and the information about the buffer is * comprised by the RX descriptor. */ - if (rx_status & MVPP2_RXD_ERR_SUMMARY) { -err_drop_frame: - dev->stats.rx_errors++; - mvpp2_rx_error(port, rx_desc); - /* Return the buffer to the pool */ - mvpp2_bm_pool_put(port, pool, dma_addr, phys_addr); - continue; - } + if (rx_status & MVPP2_RXD_ERR_SUMMARY) + goto err_drop_frame; if (bm_pool->frag_size > PAGE_SIZE) frag_size = 0; @@ -2994,6 +2988,13 @@ err_drop_frame: mvpp2_rx_csum(port, rx_status, skb); napi_gro_receive(napi, skb); + continue; + +err_drop_frame: + dev->stats.rx_errors++; + mvpp2_rx_error(port, rx_desc); + /* Return the buffer to the pool */ + mvpp2_bm_pool_put(port, pool, dma_addr, phys_addr); } if (rcvd_pkts) { |