Re: NETDEV WATCHDOG: eth0 (e1000e): transmit queue 0 timed out

From: Nick Pegg
Date: Mon Dec 02 2013 - 17:57:27 EST


> Intel maintains newer drivers out-of-tree at
> http://sourceforge.net/projects/e1000/, and it's possible this is some
> bug that has already been fixed. The current version there looks like
> e1000e-2.5.4, released 2013-09-05.
>
> Possible similar report: http://sourceforge.net/p/e1000/bugs/367/ (no
> real data there).

I've looked through the existing bug reports and version changelogs
and didn't see anything that seemed very relevant.

I was able to debug the e1000e object file and get the specific code
that's bugging out after the interface is unexpectedly reset:
--------
(gdb) l *e1000_clean_rx_irq+0x101
0x19d81 is in e1000_clean_rx_irq
(drivers/net/ethernet/intel/e1000e/netdev.c:933).
928 rmb(); /* read descriptor and rx_buffer_info
after status DD */
929
930 skb = buffer_info->skb;
931 buffer_info->skb = NULL;
932
933 prefetch(skb->data - NET_IP_ALIGN);
934
935 i++;
936 if (i == rx_ring->count)
937 i = 0;
--------

The above code is from kernel version 3.9.2 and e1000e driver version
2.2.14-k. Should there be a check here to see if skb is NULL? I
checked the latest e1000e release (2.5.4) and there is no check there
either (near netdev.c:994).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/