[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200903191158.52436.fzu@wemgehoertderstaat.de>
Date: Thu, 19 Mar 2009 11:58:51 +0100
From: Karsten Wiese <fzu@...gehoertderstaat.de>
To: Francois Romieu <romieu@...zoreil.com>
Cc: netdev@...r.kernel.org, Rafael Wysocki <rjw@...k.pl>
Subject: Re: [PATCH] r8169: Fix irq masking in rtl8169_interrupt()
Am Mittwoch 18 März 2009 schrieb Francois Romieu:
> Karsten Wiese <fzu@...gehoertderstaat.de> :
> > Am Mittwoch 18 März 2009 schrieb Francois Romieu:
> [...]
> > > If netif_rx_schedule fails after napi is enabled, there is a
> > > racing poll thread to care for the transfer.
> > >
> > > Stated differently the bug is noticeable because napi_enable()
> > > should be called before request_irq() in rtl8169_open, right ?
> >
> > Propably yes. That would mean the first interrupt is received before
> > rtl_hw_start() is called in rtl8169_open. The source of that
> > interrupt would be something else then?
>
> All we need is thus a shared interrupt racing on a different CPU
> with rtl8169_open and some IO versus memory reordering so that
> the hardware is started and a change in the status register can
> be seen in the IRQ handler before napi_enable/NAPI_STATE_SCHED
> escapes from the CPU where rtl8169_open is running...
>
> It does not look like a credible explanation. :o/
Found it: CONFIG_DEBUG_SHIRQ is set here causing a "test-call" to
rtl8169_interrupt() from irq_request().
$SUBJECT patch is ok, me still thinks. You?
Thanks,
Karsten
--
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