[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20091208.202838.78052287.davem@davemloft.net>
Date: Tue, 08 Dec 2009 20:28:38 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: grant.likely@...retlab.ca
Cc: netdev@...r.kernel.org, linuxppc-dev@...abs.org, a.llano@....es
Subject: Re: [PATCH/REPOST] net/mpc5200: Fix locking on fec_mpc52xx driver
From: Grant Likely <grant.likely@...retlab.ca>
Date: Fri, 04 Dec 2009 21:33:13 -0700
> Fix the locking scheme on the fec_mpc52xx driver. This device can
> receive IRQs from three sources; the FEC itself, the tx DMA, and the
> rx DMA. Mutual exclusion was handled by taking a spin_lock() in the
> critical regions, but because the handlers are run with IRQs enabled,
> spin_lock() is insufficient and the driver can end up interrupting
> a critical region anyway from another IRQ.
>
> Asier Llano discovered that this occurs when an error IRQ is raised
> in the middle of handling rx irqs which resulted in an sk_buff memory
> leak.
I'll apply this fix.
But, longer term, it's a thousand times easier and more efficient to
move the processing of these interrupts into softirq context.
--
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