[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20100602.061232.190373991.davem@davemloft.net>
Date: Wed, 02 Jun 2010 06:12:32 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: phil@....cc
Cc: florian@...nwrt.org, netdev@...r.kernel.org
Subject: Re: [PATCH 1/3] korina: fix deadlock on RX FIFO overrun
From: Phil Sutter <phil@....cc>
Date: Sun, 30 May 2010 01:23:34 +0200
> By calling korina_restart(), the IRQ handler tries to disable the
> interrupt it's currently serving. This leads to a deadlock since
> disable_irq() waits for any running IRQ handlers to finish before
> returning. This patch addresses the issue by turning korina_restart()
> into a workqueue task, which is then scheduled when needed.
>
> Reproducing the deadlock is easily done using e.g. GNU netcat to send
> large amounts of UDP data to the host running this driver.
>
> Note that the same problem (and fix) applies to TX FIFO underruns, but
> apparently these are less easy to trigger.
>
> Signed-off-by: Phil Sutter <phil@....cc>
Applied.
--
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