mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 16:37:50 +00:00
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:
parent
4b80991c6c
commit
c9f21aaff1
1 changed files with 2 additions and 3 deletions
|
@ -3809,10 +3809,8 @@ static void raid5d(mddev_t *mddev)
|
||||||
|
|
||||||
sh = __get_priority_stripe(conf);
|
sh = __get_priority_stripe(conf);
|
||||||
|
|
||||||
if (!sh) {
|
if (!sh)
|
||||||
async_tx_issue_pending_all();
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
spin_unlock_irq(&conf->device_lock);
|
spin_unlock_irq(&conf->device_lock);
|
||||||
|
|
||||||
handled++;
|
handled++;
|
||||||
|
@ -3825,6 +3823,7 @@ static void raid5d(mddev_t *mddev)
|
||||||
|
|
||||||
spin_unlock_irq(&conf->device_lock);
|
spin_unlock_irq(&conf->device_lock);
|
||||||
|
|
||||||
|
async_tx_issue_pending_all();
|
||||||
unplug_slaves(mddev);
|
unplug_slaves(mddev);
|
||||||
|
|
||||||
pr_debug("--- raid5d inactive\n");
|
pr_debug("--- raid5d inactive\n");
|
||||||
|
|
Loading…
Reference in a new issue