The smsc9115 driver can't receive normally
Recently I had to drive smsc9115 in our develop board, it is a bootloader based network card driver. It can only use poll because the bootloader can't support interrupt. I refered SRC-118-LINUX-SIMPLE code in smsc website, it adopt interrupt method.
Now the 9115 can normally send ping packet to the PC NIC card, but it can't receive the reply packet from PC. The PC NIC card ping 9115 and 9115 can receive ping packet, but the received data isn't correct: the offset is wrong and the received data is longer than the sended.
I write to asked that what value should RX_CFG register be set when the 9115 is initialized?
What padding value should be of readfifo?
And I have read the value of RX_STATUS_FIFO register twice in my driver code, the data is different sometimes. But I had paid attention to the problem of "read_follow_read and read_follow_write". Why does this happen?
Thanks for help!