Mugunthan V N <mugunthan...@ti.com> : > On Wednesday 29 July 2015 04:00 AM, Francois Romieu wrote: > > Mugunthan V N <mugunthan...@ti.com> : > >> On Tuesday 28 July 2015 02:52 AM, Francois Romieu wrote: [...] > >>> cpsw_ndo_stop calls napi_disable: you can remove netif_running. > >>> > >> > >> This netif_running check is to find which interface is up as the > >> interrupt is shared by both the interfaces. When first interface is down > >> and second interface is active then napi_schedule for first interface > >> will fail and second interface napi needs to be scheduled. > >> > >> So I don't think netif_running needs to be removed. > > > > Each interface has its own napi tx (resp. rx) context: I would had expected > > two unconditional napi_schedule per tx (resp. rx) shared irq, not one. > > > > I'll read it again after some sleep. > > > > For each interrupt only one napi will be scheduled, when the first > interface is down then only second interface napi is scheduled in both > tx and rx irqs.
Ok, I've had some hints from the "Assumptions" section at http://processors.wiki.ti.com/index.php/AM335x_CPSW_%28Ethernet%29_Driver%27s_Guide#Dual_Standalone_EMAC_mode Why does the driver create 2 rx napi contexts ? They don't run at the same time and the port demux is done in cpsw_dual_emac_src_port_detect. The driver would work the same with a single rx (resp. tx) napi context for both interfaces. -- Ueimor -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html