]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitb41e293012d64096e09cecaec5ef103e710082f7
tree6300d68bba76b7a91fc0d63137f4d4dea30c1e49
parent82856fb6c69e95965aca7ff1420044634a5e7b4d
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