提交 a3c1239e 编写于 作者: D David Vrabel

wusb: whci-hcd: always lock whc->lock with interrupts disabled

Always lock whc->lock with spin_lock_irq() or spin_lock_irqsave().
Signed-off-by: NDavid Vrabel <david.vrabel@csr.com>
上级 d2f8d7ee
...@@ -227,13 +227,13 @@ void scan_async_work(struct work_struct *work) ...@@ -227,13 +227,13 @@ void scan_async_work(struct work_struct *work)
* Now that the ASL is updated, complete the removal of any * Now that the ASL is updated, complete the removal of any
* removed qsets. * removed qsets.
*/ */
spin_lock(&whc->lock); spin_lock_irq(&whc->lock);
list_for_each_entry_safe(qset, t, &whc->async_removed_list, list_node) { list_for_each_entry_safe(qset, t, &whc->async_removed_list, list_node) {
qset_remove_complete(whc, qset); qset_remove_complete(whc, qset);
} }
spin_unlock(&whc->lock); spin_unlock_irq(&whc->lock);
} }
/** /**
......
...@@ -255,13 +255,13 @@ void scan_periodic_work(struct work_struct *work) ...@@ -255,13 +255,13 @@ void scan_periodic_work(struct work_struct *work)
* Now that the PZL is updated, complete the removal of any * Now that the PZL is updated, complete the removal of any
* removed qsets. * removed qsets.
*/ */
spin_lock(&whc->lock); spin_lock_irq(&whc->lock);
list_for_each_entry_safe(qset, t, &whc->periodic_removed_list, list_node) { list_for_each_entry_safe(qset, t, &whc->periodic_removed_list, list_node) {
qset_remove_complete(whc, qset); qset_remove_complete(whc, qset);
} }
spin_unlock(&whc->lock); spin_unlock_irq(&whc->lock);
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册