Thread (3 messages) flat view 3 messages, 2 authors, 2009-12-09

Re: [PATCH/REPOST] net/mpc5200: Fix locking on fec_mpc52xx driver

From: David Miller <davem@davemloft.net>
Date: 2009-12-09 04:28:39
Also in: netdev

From: Grant Likely <redacted>
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help