md: move async_tx_issue_pending_all outside spin_lock_irq

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>
This commit is contained in:
Dan Williams 2008-07-23 12:05:51 -07:00
parent 4b80991c6c
commit c9f21aaff1

View File

@ -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++;
@ -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");