From 3d3cf267fcff41cf0ab3292d3fe733bd3c98f13d Mon Sep 17 00:00:00 2001 From: Dongdong Deng Date: Wed, 16 Sep 2009 16:10:47 +0000 Subject: [PATCH] --- yaml --- r: 162911 b: refs/heads/master c: e99b1f04d922f132ffab8310b470bcc93d3ddf80 h: refs/heads/master i: 162909: 2136333ffd3ef7ac33329ed000bb4aa056138a04 162907: 925abde5799afe1808ea827d72074697e5604221 162903: bed55efe2f96b93cc37f141bdcf7e1249990d778 162895: 051d3d7c3582dbed58ecf2e1d54dac65fcd8a896 162879: 67c690dc46763f7a95ebdd08667cd1b0384fd756 v: v3 --- [refs] | 2 +- trunk/drivers/net/b44.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c432903adcd9..9d27f3e2539e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3933fc952a5a5af4cf23fca94e20203251c9d825 +refs/heads/master: e99b1f04d922f132ffab8310b470bcc93d3ddf80 diff --git a/trunk/drivers/net/b44.c b/trunk/drivers/net/b44.c index 0189dcd36f31..e046943ef29d 100644 --- a/trunk/drivers/net/b44.c +++ b/trunk/drivers/net/b44.c @@ -847,23 +847,22 @@ static int b44_poll(struct napi_struct *napi, int budget) { struct b44 *bp = container_of(napi, struct b44, napi); int work_done; + unsigned long flags; - spin_lock_irq(&bp->lock); + spin_lock_irqsave(&bp->lock, flags); if (bp->istat & (ISTAT_TX | ISTAT_TO)) { /* spin_lock(&bp->tx_lock); */ b44_tx(bp); /* spin_unlock(&bp->tx_lock); */ } - spin_unlock_irq(&bp->lock); + spin_unlock_irqrestore(&bp->lock, flags); work_done = 0; if (bp->istat & ISTAT_RX) work_done += b44_rx(bp, budget); if (bp->istat & ISTAT_ERRORS) { - unsigned long flags; - spin_lock_irqsave(&bp->lock, flags); b44_halt(bp); b44_init_rings(bp);