* [patch] ns83820: spin_lock_irq() => spin_lock()
@ 2010-10-13 19:18 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2010-10-13 19:18 UTC (permalink / raw)
To: netdev; +Cc: David S. Miller, kernel-janitors, mingo
This is essentially cosmetic. At this point the IRQs are already
disabled because we called spin_lock_irq(&dev->rx_info.lock).
The real bug here was fixed back in 2006 in 3a10ccebe: "[PATCH] lock
validator: fix ns83820.c irq-flags bug". Prior to that patch, it was
a "spin_lock_irq is not nestable" type bug. The 2006 patch changes the
unlock to not re-enable IRQs, which eliminates the potential deadlock.
But this bit was missed. We should change the lock function as well so
it balances nicely.
Signed-off-by: Dan Carpenter <error27@gmail.com>
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index 3bbd0aa..84134c7 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -772,7 +772,7 @@ static int ns83820_setup_rx(struct net_device *ndev)
phy_intr(ndev);
/* Okay, let it rip */
- spin_lock_irq(&dev->misc_lock);
+ spin_lock(&dev->misc_lock);
dev->IMR_cache |= ISR_PHY;
dev->IMR_cache |= ISR_RXRCMP;
//dev->IMR_cache |= ISR_RXERR;
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [patch] ns83820: spin_lock_irq() => spin_lock()
@ 2010-10-13 19:18 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2010-10-13 19:18 UTC (permalink / raw)
To: netdev; +Cc: David S. Miller, kernel-janitors, mingo
This is essentially cosmetic. At this point the IRQs are already
disabled because we called spin_lock_irq(&dev->rx_info.lock).
The real bug here was fixed back in 2006 in 3a10ccebe: "[PATCH] lock
validator: fix ns83820.c irq-flags bug". Prior to that patch, it was
a "spin_lock_irq is not nestable" type bug. The 2006 patch changes the
unlock to not re-enable IRQs, which eliminates the potential deadlock.
But this bit was missed. We should change the lock function as well so
it balances nicely.
Signed-off-by: Dan Carpenter <error27@gmail.com>
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index 3bbd0aa..84134c7 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -772,7 +772,7 @@ static int ns83820_setup_rx(struct net_device *ndev)
phy_intr(ndev);
/* Okay, let it rip */
- spin_lock_irq(&dev->misc_lock);
+ spin_lock(&dev->misc_lock);
dev->IMR_cache |= ISR_PHY;
dev->IMR_cache |= ISR_RXRCMP;
//dev->IMR_cache |= ISR_RXERR;
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [patch] ns83820: spin_lock_irq() => spin_lock()
2010-10-13 19:18 ` Dan Carpenter
@ 2010-10-18 8:53 ` David Miller
-1 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2010-10-18 8:53 UTC (permalink / raw)
To: error27; +Cc: netdev, kernel-janitors, mingo
From: Dan Carpenter <error27@gmail.com>
Date: Wed, 13 Oct 2010 21:18:53 +0200
> This is essentially cosmetic. At this point the IRQs are already
> disabled because we called spin_lock_irq(&dev->rx_info.lock).
>
> The real bug here was fixed back in 2006 in 3a10ccebe: "[PATCH] lock
> validator: fix ns83820.c irq-flags bug". Prior to that patch, it was
> a "spin_lock_irq is not nestable" type bug. The 2006 patch changes the
> unlock to not re-enable IRQs, which eliminates the potential deadlock.
>
> But this bit was missed. We should change the lock function as well so
> it balances nicely.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
Applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] ns83820: spin_lock_irq() => spin_lock()
@ 2010-10-18 8:53 ` David Miller
0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2010-10-18 8:53 UTC (permalink / raw)
To: error27; +Cc: netdev, kernel-janitors, mingo
From: Dan Carpenter <error27@gmail.com>
Date: Wed, 13 Oct 2010 21:18:53 +0200
> This is essentially cosmetic. At this point the IRQs are already
> disabled because we called spin_lock_irq(&dev->rx_info.lock).
>
> The real bug here was fixed back in 2006 in 3a10ccebe: "[PATCH] lock
> validator: fix ns83820.c irq-flags bug". Prior to that patch, it was
> a "spin_lock_irq is not nestable" type bug. The 2006 patch changes the
> unlock to not re-enable IRQs, which eliminates the potential deadlock.
>
> But this bit was missed. We should change the lock function as well so
> it balances nicely.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
Applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-18 8:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-13 19:18 [patch] ns83820: spin_lock_irq() => spin_lock() Dan Carpenter
2010-10-13 19:18 ` Dan Carpenter
2010-10-18 8:53 ` David Miller
2010-10-18 8:53 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.