> This sounds like a fairly fundamental bug in your port. If you're not able to reliably know how much data has been delivered then you will have the sorts of problems that you see. I don't know enough about your hardware to suggest a good solution though.
I am using rtl8139 card in my qemu virtual machine as kitten gives driver support for rtl8139 card only. Also from your above statement do you mean that separate interrupt should occur for both acknowledgement packet and data packet?. Please let me know. I am currently looking on driver code to see if there is a bug in them but not clear where to start.