summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intel.c
diff options
context:
space:
mode:
authorMichael Brown2012-10-24 20:21:34 +0200
committerMichael Brown2012-10-24 20:21:34 +0200
commitdace457bafd839eeabbf18a2a34c1005ccab4cc0 (patch)
treeddc374ffd39258168bc357e473911a92a4bbb8d7 /src/drivers/net/intel.c
parent[efi] Add EFI_COMPONENT_NAME2_PROTOCOL instance for each SNP device (diff)
downloadipxe-dace457bafd839eeabbf18a2a34c1005ccab4cc0.tar.gz
ipxe-dace457bafd839eeabbf18a2a34c1005ccab4cc0.tar.xz
ipxe-dace457bafd839eeabbf18a2a34c1005ccab4cc0.zip
[intel] Report receive overruns via network device errors
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/intel.c')
-rw-r--r--src/drivers/net/intel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/drivers/net/intel.c b/src/drivers/net/intel.c
index 353fc971..0811ed91 100644
--- a/src/drivers/net/intel.c
+++ b/src/drivers/net/intel.c
@@ -699,10 +699,14 @@ static void intel_poll ( struct net_device *netdev ) {
if ( icr & INTEL_IRQ_TXDW )
intel_poll_tx ( netdev );
- /* Poll for RX completionsm, if applicable */
+ /* Poll for RX completions, if applicable */
if ( icr & INTEL_IRQ_RXT0 )
intel_poll_rx ( netdev );
+ /* Report receive overruns */
+ if ( icr & INTEL_IRQ_RXO )
+ netdev_rx_err ( netdev, NULL, -ENOBUFS );
+
/* Check link state, if applicable */
if ( icr & INTEL_IRQ_LSC )
intel_check_link ( netdev );