82xx: FCC: Fixing a bug causing to FCC port lock-up
authorMartin Roth <martin.roth@motorolasolutions.com>
Tue, 15 Dec 2015 02:17:53 +0000 (04:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Dec 2015 23:32:35 +0000 (18:32 -0500)
commit79aa05a24f01bcb0cfbac3deea4f12d9b4f64ba9
tree1fc77f55d999d4021c6783b6e65e935defef3de7
parent7bff47da1ee23d00d1257905f2944c29594f799d
82xx: FCC: Fixing a bug causing to FCC port lock-up

The patch fixes FCC port lock-up, which occurs as a result of a bug
during underrun/collision handling. Within the tx_startup() function
in mac-fcc.c, the address of last BD is not calculated correctly.
As a result of wrong calculation of the last BD address, the next
transmitted BD may be set to an area out of the transmit BD ring.
This actually causes to port lock-up and it is not recoverable.

Signed-off-by: Martin Roth <martin.roth@motorolasolutions.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c