Hi Jay, + if ((work_done < budget) || !netif_running(poll_dev)) { +quit_polling: + netif_rx_complete(poll_dev, napi); + + if (!test_bit(__ATL1_DOWN, &adapter->flags)) + atlx_irq_enable(adapter); + }
Not enough :) If netif_running() is false, it can make problem. The problem occurs calling netif_rx_complete with work_done == budget. If do that, net_rx_action would do poll list double deletion. Since we had reached a consensus on fixing it without each drivers modifications, there is no best solution for that problem for now. I'm expecting Dave or others work for net-core. (http://lkml.org/lkml/2007/12/20/600) IMHO, atl1_clean should wait for work_done != budget even though netif_running is false at this time. At least, It would not make oops. Thanks, Joonwoo -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html