net: systemport: fix UniMAC reset logic
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 26 Jun 2014 17:06:45 +0000 (10:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Jul 2014 00:10:16 +0000 (17:10 -0700)
commit412bce83ac786197d0b2805c5bcded4d95cdeeb0
tree6300d68bba76b7a91fc0d63137f4d4dea30c1e49
parent3b140a678834f55602e50e7d6a47663e230434a7
net: systemport: fix UniMAC reset logic

The UniMAC CMD_SW_RESET bit is not a self-clearing bit, so we need to
assert it, wait a bit and clear it manually. As a result, umac_reset()
is updated not to return any value. The previous version of the code
simply wrote 0 to the CMD register, which would make the busy-waiting
loop exit immediately, having zero effect.

By writing 0 to the CMD register, we were clearing all bits in the CMD
register, and not using the hardware reset default values which are
set on purpose.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bcmsysport.c