Subject: FCC driver for Motorola MPC82xx - an error found

From: Martin Roth <[email-masked]>
Date: Tue, 24 Nov 2015 05:19:51 -0700 (MST)

I was looking for an error on MPC8270 processor 100 Mbps Ethernet FCC port.  
The port may become locked if it is set to AUTO, while the peer is forced to
100 Mbs full duplex (non AUTO).
I was looking for an error in the area of collision handling of the driver.
It looks like I found the problem.

The error is at line 555:
http://lxr.free-electrons.com/source/drivers/net/ethernet/freescale/fs_enet/mac-fcc.c#L555

The problem is that the last descriptor address is not calculated correctly.

Instead of
   last_tx_bd = fep->tx_bd_base + (fpi->tx_ring * sizeof(cbd_t)); 
The fix should be:
   last_tx_bd = fep->tx_bd_base + ((fpi->tx_ring-1)* sizeof(cbd_t));

Is it a bug? 
Thanks,
Martin Roth

--
View this message in context: http://linuxppc.10917.n7.nabble.com/FCC-driver-for-Motorola-MPC82xx-an-error-found-tp101297.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.