* Ingo Molnar <[EMAIL PROTECTED]> wrote: > > This is a driver bug, the work "budget" passed into a driver's > > ->poll() handler should never be exceeded. That's what this warning > > assertion is checking. > > > > What ethernet card is in your system and what driver is being used > > to drive it? > > it's forcedeth. > > i've checked nv_napi_poll(), and i dont see how it could return larger > than 'limit' number of packets. > > it could return packets == limit though: > > pkts = nv_rx_process_optimized(dev, budget); > ... > > if (pkts < budget) { > /* re-enable receive interrupts */ > spin_lock_irqsave(&np->lock, flags); > > __netif_rx_complete(dev, napi); > > ... > return pkts; > > shouldnt that be "pkts <= budget"? But even that shouldnt cause a larger > than limit return. Weird. > > there are two networking cards in the system, the other one is a: > > eth1: RealTek RTL8139 at 0xf080e000, 00:c0:df:03:68:5d, IRQ 11 > eth1: Identified 8139 chip type 'RTL-8139B' > > but this one should be inactive (not plugged into the network). Should > i try to get a debug print out of the actual 'weight' and 'work' > integers, and of the n->poll function address?
ok, i've added such a patch. looking at the dev.c code - can napi_struct->weight be zero legitimately? If yes then the 0 gets passed to the driver and the driver would return 1 - violating the assertion. Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/