Skip to content

Commit

Permalink
md: move async_tx_issue_pending_all outside spin_lock_irq
Browse files Browse the repository at this point in the history
Some dma drivers need to call spin_lock_bh in their device_issue_pending
routines.  This change avoids:

WARNING: at kernel/softirq.c:136 local_bh_enable_ip+0x3a/0x85()

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Dan Williams committed Jul 23, 2008
1 parent 4b80991 commit c9f21aa
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/md/raid5.c
Original file line number Diff line number Diff line change
Expand Up @@ -3809,10 +3809,8 @@ static void raid5d(mddev_t *mddev)

sh = __get_priority_stripe(conf);

if (!sh) {
async_tx_issue_pending_all();
if (!sh)
break;
}
spin_unlock_irq(&conf->device_lock);

handled++;
Expand All @@ -3825,6 +3823,7 @@ static void raid5d(mddev_t *mddev)

spin_unlock_irq(&conf->device_lock);

async_tx_issue_pending_all();
unplug_slaves(mddev);

pr_debug("--- raid5d inactive\n");
Expand Down

0 comments on commit c9f21aa

Please sign in to comment.