public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq()
@ 2006-05-31 20:02 Ingo Molnar
  2006-05-31 20:31 ` Arjan van de Ven
  0 siblings, 1 reply; 32+ messages in thread
From: Ingo Molnar @ 2006-05-31 20:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Arjan van de Ven, linux-kernel

untested on 8390 hardware, but ought to solve the lockdep false 
positive.

-----------------
Subject: locking validator: special rule: 8390.c disable_irq()
From: Ingo Molnar <mingo@elte.hu>

8390.c knows that ei_local->page_lock can only be used by an irq
context that it disabled - and can hence take the ->page_lock
without disabling hardirqs. Teach lockdep about this.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 drivers/net/8390.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux/drivers/net/8390.c
===================================================================
--- linux.orig/drivers/net/8390.c
+++ linux/drivers/net/8390.c
@@ -249,7 +249,7 @@ void ei_tx_timeout(struct net_device *de
 
 	/* Ugly but a reset can be slow, yet must be protected */
 		
-	disable_irq_nosync(dev->irq);
+	disable_irq_nosync_lockdep(dev->irq);
 	spin_lock(&ei_local->page_lock);
 		
 	/* Try to restart the card.  Perhaps the user has fixed something. */
@@ -257,7 +257,7 @@ void ei_tx_timeout(struct net_device *de
 	NS8390_init(dev, 1);
 		
 	spin_unlock(&ei_local->page_lock);
-	enable_irq(dev->irq);
+	enable_irq_lockdep(dev->irq);
 	netif_wake_queue(dev);
 }
     

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2006-06-06 21:51 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-31 20:02 [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq() Ingo Molnar
2006-05-31 20:31 ` Arjan van de Ven
2006-05-31 21:27   ` Ingo Molnar
2006-05-31 21:41   ` Alan Cox
2006-05-31 21:43     ` Arjan van de Ven
2006-05-31 21:47       ` Ingo Molnar
2006-05-31 21:56         ` Arjan van de Ven
2006-05-31 22:00           ` Ingo Molnar
2006-05-31 22:02             ` Arjan van de Ven
2006-06-03 14:37           ` Steven Rostedt
2006-06-03 21:53             ` Alan Cox
2006-06-03 22:34               ` Steven Rostedt
2006-06-04  9:34                 ` Arjan van de Ven
2006-06-04 13:16                   ` Steven Rostedt
2006-06-04 15:38                     ` Alan Cox
2006-06-04 15:44                       ` Steven Rostedt
2006-06-04 16:10                     ` Alan Cox
2006-06-04 16:22                       ` Steven Rostedt
2006-06-04 21:26                         ` Alan Cox
2006-06-04 21:28                           ` Steven Rostedt
2006-06-04 21:44                             ` Ingo Molnar
2006-06-05  1:04                               ` Steven Rostedt
2006-06-06  3:33                               ` [PATCH -mm] misroute-irq: Don't call desc->chip->end because of edge interrupts Steven Rostedt
2006-06-06  4:20                                 ` Andrew Morton
2006-06-06 10:46                                   ` Steven Rostedt
2006-06-06  8:01                                 ` Ingo Molnar
2006-06-06 10:50                                   ` Steven Rostedt
2006-06-06 21:48                                     ` Andrew Morton
2006-06-06 21:50                                       ` Ingo Molnar
2006-06-06  3:49                               ` [RFC][PATCH -mm] postpone misrouted irqs when disabled Steven Rostedt
2006-06-01  9:46         ` [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq() Alan Cox
2006-06-01 10:02           ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox