Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jarek Poplawski <jarkao2@...>
Cc: Andy Fleming <afleming@...>, Andrew Morton <akpm@...>, Jeff Garzik <jgarzik@...>, <netdev@...>, <linux-kernel@...>
Date: Friday, October 19, 2007 - 8:57 am

On Fri, 19 Oct 2007, Jarek Poplawski wrote:


 That's because free_irq() does not disable the interrupt in the correct 
manner.  The scenario is more or less like this:

phy_interrupt()				[depth == 0]
	disable_irq()
		depth++; status |= IRQ_DISABLED;
...
free_irq()				[depth == 1]
	status |= IRQ_DISABLED;
...
phy_change()				[depth == 1]
	enable_irq()
		depth--; status &= ~IRQ_DISABLED;
		oops!

Now if free_irq() correctly incremented the depth counter, then the last
enable_irq() would still decrement it, but with its initial value of 2 it 
would not change the status to reenable the line.

  Maciej
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Wed Sep 19, 10:38 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Mon Oct 15, 8:53 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Mon Oct 15, 1:03 pm)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Tue Oct 16, 2:21 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Tue Oct 16, 1:19 pm)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Wed Oct 17, 4:58 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Thu Oct 18, 7:30 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Fri Oct 19, 7:38 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Fri Oct 19, 10:39 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Benjamin Herrenschmidt, (Fri Oct 19, 5:46 pm)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Fri Oct 19, 1:58 pm)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Fri Oct 19, 4:17 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Fri Oct 19, 8:57 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Thu Oct 18, 10:37 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Thu Oct 18, 11:31 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Thu Oct 18, 2:31 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Thu Oct 18, 7:37 am)
Re: [PATCH] flush_work_sync vs. flush_scheduled_work Re: [PA..., Maciej W. Rozycki, (Thu Oct 18, 11:58 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Benjamin Herrenschmidt, (Wed Oct 17, 5:08 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Jarek Poplawski, (Wed Oct 17, 5:09 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Andrew Morton, (Thu Sep 20, 7:53 pm)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Maciej W. Rozycki, (Fri Sep 21, 8:51 am)
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes, Andrew Morton, (Fri Sep 21, 2:42 pm)