Invest the status handling logic in smc911x_recv(), to make the
function easier to read, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com>
Cc: Joe Hershberger <joe.hershber...@ni.com>
Cc: Masahiro Yamada <yamada.masah...@socionext.com>
---
 drivers/net/smc911x.c | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index fc874e8d2a..a6da586448 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -352,23 +352,26 @@ static int smc911x_recv(struct eth_device *dev)
        u32 pktlen, tmplen;
        u32 status;
 
-       if ((smc911x_reg_read(priv, RX_FIFO_INF) & RX_FIFO_INF_RXSUSED) >> 16) {
-               status = smc911x_reg_read(priv, RX_STATUS_FIFO);
-               pktlen = (status & RX_STS_PKT_LEN) >> 16;
+       status = smc911x_reg_read(priv, RX_FIFO_INF);
+       status = (status & RX_FIFO_INF_RXSUSED) >> 16;
+       if (!status)
+               return 0;
 
-               smc911x_reg_write(priv, RX_CFG, 0);
+       status = smc911x_reg_read(priv, RX_STATUS_FIFO);
+       pktlen = (status & RX_STS_PKT_LEN) >> 16;
 
-               tmplen = (pktlen + 3) / 4;
-               while (tmplen--)
-                       *data++ = smc911x_reg_read(priv, RX_DATA_FIFO);
+       smc911x_reg_write(priv, RX_CFG, 0);
 
-               if (status & RX_STS_ES)
-                       printf(DRIVERNAME
-                               ": dropped bad packet. Status: 0x%08x\n",
-                               status);
-               else
-                       net_process_received_packet(net_rx_packets[0], pktlen);
-       }
+       tmplen = (pktlen + 3) / 4;
+       while (tmplen--)
+               *data++ = smc911x_reg_read(priv, RX_DATA_FIFO);
+
+       if (status & RX_STS_ES)
+               printf(DRIVERNAME
+                       ": dropped bad packet. Status: 0x%08x\n",
+                       status);
+       else
+               net_process_received_packet(net_rx_packets[0], pktlen);
 
        return 0;
 }
-- 
2.25.0

Reply via email to