I am having some strange behavior with Ethernet in MPC5748G. i have successfully configured and perform transmission and reception from controller but in TXF interrupt after transmission if i read the status of any transmission buffer descriptor then that specific buffer descriptor somehow becomes locked and status bit (Ready) is never reset to 0 in that buffer descriptor for successive transmission calls even though frame is transmitted successfully on bus.
here is a sample code which causes issue,
if ((TxBufDesc[i].ControlWord0 & 0x80000000u) == 1) // Ready bit
transmission_flag = 1;
now if i remove the above given check then successive transmissions are successful and buffer descriptor's Ready bit is reset to 0 by ENET controller.