
From: Thierry Reding treding@nvidia.com Date: Thu, 28 Aug 2014 12:26:58 +0200 Subject: [PATCH] rtl8169: Defer network packet processing
When network protocol errors occur (such as a file not being found on a TFTP server), the processing done by the NetReceive() function will end up calling the driver's .halt() implementation. However, after that the device no longer has access to the memory buffers and will cause errors such as this in the rtl_recv() function when trying to hand descriptors back to the device:
pci_hose_bus_to_phys: invalid physical address
This can be fixed by deferring processing of network packets until the descriptors have been handed back. That way rtl_halt() tearing down network buffers is not going to prevent access to the buffers.
Reported-by: Stephen Warren swarren@nvidia.com Signed-off-by: Thierry Reding treding@nvidia.com
Applied to u-boot/master, thanks!