[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20101006.141540.260064338.davem@davemloft.net>
Date: Wed, 06 Oct 2010 14:15:40 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: oskar@...utronix.de
Cc: netdev@...r.kernel.org, dan@...eddedalley.com,
bigeasy@...utronix.de, hjk@...utronix.de
Subject: Re: [PATCH] net/fec: fix link/queue interaction, wake queue iff
link is up
From: Oskar Schirmer <oskar@...utronix.de>
Date: Wed, 6 Oct 2010 13:31:58 +0200
> with hardware slow in negotiation, the system did freeze
> while trying to mount root on nfs at boot time.
>
> while the driver did report being busy when the link is down
> or no transmission buffers are available, it did not stop the
> queue, causing instant retries. furthermore, transmission being
> triggered with link down was caused by unconditional queue
> wakes, especially on timeouts.
>
> now, wake queue only iff link is up and transmission
> buffers are available, and dont forget to wake queue
> when link has been adjusted. next, add stop queue notification
> upon driver induced transmission problems, so network stack has
> a chance to handle the situation.
>
> Signed-off-by: Oskar Schirmer <oskar@...utronix.de>
You should never have to do this.
As long as netif_carrier_on() and netif_carrier_off() are invoked
properly by the driver, the core networking will never send you
packets when netif_carrier_ok() is false.
I am not applying this patch, drivers should not manage tx queue
state using link status as a condition, that's the job of the
core networking.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists