net: dsa: sja1105: fix check on while loop exit
authorColin Ian King <colin.king@canonical.com>
Wed, 8 May 2019 13:30:41 +0000 (14:30 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 May 2019 20:13:25 +0000 (13:13 -0700)
commit5425711b6dd0f7283202729863d9210e7a1c7cd2
treef13ab349b614a4930789b83cd23ec03e0f0f13d1
parent86dc59e39031fb0d366d5b1f92db015b24bef70b
net: dsa: sja1105: fix check on while loop exit

The while-loop exit condition check is not correct; the
loop should continue if the returns from the function calls are
negative or the CRC status returns are invalid.  Currently it
is ignoring the returns from the function calls.  Fix this by
removing the status return checks and only break from the loop
at the very end when we know that all the success condtions have
been met.

Kudos to Dan Carpenter for describing the correct fix and
Vladimir Oltean for noting the change to the check on the number
of retries.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: 8aa9ebccae87 ("net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Tested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_spi.c