Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=227bc24d675d80de1cfb3ab72891cc932dadbc3b
Commit:     227bc24d675d80de1cfb3ab72891cc932dadbc3b
Parent:     d8c89eb3a12f0da96d049bd515c7fa3702e511c5
Author:     Francois Romieu <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 10 23:25:30 2008 +0100
Committer:  Francois Romieu <[EMAIL PROTECTED]>
CommitDate: Thu Jan 17 23:35:09 2008 +0100

    ipg: balance locking in irq handler
    
    Spotted-by: <[EMAIL PROTECTED]>
    Signed-off-by: Francois Romieu <[EMAIL PROTECTED]>
---
 drivers/net/ipg.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
index dbd23bb..cd1650e 100644
--- a/drivers/net/ipg.c
+++ b/drivers/net/ipg.c
@@ -1630,6 +1630,8 @@ static irqreturn_t ipg_interrupt_handler(int irq, void 
*dev_inst)
 #ifdef JUMBO_FRAME
        ipg_nic_rxrestore(dev);
 #endif
+       spin_lock(&sp->lock);
+
        /* Get interrupt source information, and acknowledge
         * some (i.e. TxDMAComplete, RxDMAComplete, RxEarly,
         * IntRequested, MacControlFrame, LinkEvent) interrupts
@@ -1647,9 +1649,7 @@ static irqreturn_t ipg_interrupt_handler(int irq, void 
*dev_inst)
        handled = 1;
 
        if (unlikely(!netif_running(dev)))
-               goto out;
-
-       spin_lock(&sp->lock);
+               goto out_unlock;
 
        /* If RFDListEnd interrupt, restore all used RFDs. */
        if (status & IPG_IS_RFD_LIST_END) {
@@ -1733,9 +1733,9 @@ out_enable:
        ipg_w16(IPG_IE_TX_DMA_COMPLETE | IPG_IE_RX_DMA_COMPLETE |
                IPG_IE_HOST_ERROR | IPG_IE_INT_REQUESTED | IPG_IE_TX_COMPLETE |
                IPG_IE_LINK_EVENT | IPG_IE_UPDATE_STATS, INT_ENABLE);
-
+out_unlock:
        spin_unlock(&sp->lock);
-out:
+
        return IRQ_RETVAL(handled);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to