From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Fri, 18 Jul 2008 04:02:25 -0700Thanks Jeff. I've applied this to kill the BUG() triggers you were seeing. Background for everyone else: 1) These drivers have a watchdog handler that watches the PHY state and wakes the TX queue when the link comes up. 2) Since ->open() was not doing a start queue, we would do a wake queue while attached to the noop_qdisc This causes the BUG check in netif_schedule() to trigger. After some discussion with Jeff I've advised him that it's not kosher for the driver to manage the TX queue wake state like this in respose to link up and down events, but rather simply maintaining the netif_carrier state is all that is needed. When netif_carrier_ok() is false, we're attached to the noop_qdisc which eats all packets and frees them up, never sending them down to the device. When netif_carrier_ok() is true, we attach to the configured normal qdisc and packets begin flowing to the device again. Jeff told me he will take a look more deeply into this. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Andy Whitcroft | Re: 2.6.23-rc6-mm1 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Alan | Re: [RFC] Heads up on sys_fallocate() |
git: | |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Winkler, Tomas | RE: iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
