Subject: Re: [Kgdb-bugreport] [PATCH 2.6.20-rc7] 8139too KGDBoE fix

From: Stephen Hemminger <[email-masked]>
Date: Fri, 23 Feb 2007 11:13:54 -0800

On Fri, 23 Feb 2007 22:09:16 +0300
Sergei Shtylyov <[email-masked]> wrote:

> Hello.
> 
> Stephen Hemminger wrote:
> 
> >>>This thread came up on kgdb-bugreport mailing list. Could you please suggest 
> >>>us what's the correct way of fixing this problem?
> 
> >>>1. When running a kgdb on RTL8139 ethernet interface: 8139too driver prints 
> >>>too many "Out-of-sync dirty pointer" messages on console and gdb can't 
> >>>connect to kgdb stub. These messages can be suppressed, though it still 
> >>>results in connection failures frequently. 
> 
> >>We think this comes from calling the driver while the queue is stopped.  
> >>Drivers should not do horrible things when hard start is called with the 
> >>queue stopped, but unfortunately, at this time, at least some drivers 
> >>do  explode or complain under that condition.
> 
> > The kernel is built on a set of assumptions about calling context. Your
> > out of tree code is violating one of them. Why not check for stopped queue
> > and do some action to try and clear it, that is what netconsole does.
> 
>     The queue can't be stopped when the netpoll traffic trapping is enabled 
> (cause this effectively bypasses queue control), So, the stopped queue 
> indoication doesn't work also -- *that* is the problem. It's not at all 
> specific to KGBoE -- only to traffic trapping.

You can't ask a device to send a packet when it has no resources.

-- 
Stephen Hemminger <[email-masked]>