Dear Adam,
So it's looping in the while loop all the time while polling the NIC? That would be strange as at some point there should be no more packets to process.
it doesn't process any packets. it just enters the loop and breaks at (status & DescOwn). which is weird... and i even tried other cards but so far all behavior is the same.
what i observed so far: - device raises irq -> irq_interrupt() -> schedule a softirq - __do_softirq -> napi->poll(in this case cp_rx_poll()) - cp_rx_poll fails to call cp_rx_skb()
best regards, ayad
On Thursday, April 03, 2014 10:10:57 PM Adam Lackorzynski wrote:
On Thu Apr 03, 2014 at 04:21:56 +0200, Ayad Mostafa wrote:
hi,
well tracing along the irq handling path i ended up here
if (status & DescOwn) {
break; }
in 8139cp.c, cp_rx_poll().
which doesn't say much except that the "Descriptor is owned by NIC"...
So it's looping in the while loop all the time while polling the NIC? That would be strange as at some point there should be no more packets to process.
Adam