Commit 0a8d44cb authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Matthew Wilcox

NVMe: Fix lockdep warnings

During the initialisation path, the queue lock is taken without interrupt
protection.  It's perfectly safe to do so, because the interrupt handler
can't run at this point, but it confuses lockdep.
Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
parent 320a3827
...@@ -1172,9 +1172,9 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid) ...@@ -1172,9 +1172,9 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid)
if (result < 0) if (result < 0)
goto release_sq; goto release_sq;
spin_lock(&nvmeq->q_lock); spin_lock_irq(&nvmeq->q_lock);
nvme_init_queue(nvmeq, qid); nvme_init_queue(nvmeq, qid);
spin_unlock(&nvmeq->q_lock); spin_unlock_irq(&nvmeq->q_lock);
return result; return result;
...@@ -1290,9 +1290,9 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev) ...@@ -1290,9 +1290,9 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev)
if (result) if (result)
return result; return result;
spin_lock(&nvmeq->q_lock); spin_lock_irq(&nvmeq->q_lock);
nvme_init_queue(nvmeq, 0); nvme_init_queue(nvmeq, 0);
spin_unlock(&nvmeq->q_lock); spin_unlock_irq(&nvmeq->q_lock);
return result; return result;
} }
...@@ -1836,9 +1836,9 @@ static int nvme_setup_io_queues(struct nvme_dev *dev) ...@@ -1836,9 +1836,9 @@ static int nvme_setup_io_queues(struct nvme_dev *dev)
for (i = dev->queue_count - 1; i > nr_io_queues; i--) { for (i = dev->queue_count - 1; i > nr_io_queues; i--) {
struct nvme_queue *nvmeq = dev->queues[i]; struct nvme_queue *nvmeq = dev->queues[i];
spin_lock(&nvmeq->q_lock); spin_lock_irq(&nvmeq->q_lock);
nvme_cancel_ios(nvmeq, false); nvme_cancel_ios(nvmeq, false);
spin_unlock(&nvmeq->q_lock); spin_unlock_irq(&nvmeq->q_lock);
nvme_free_queue(nvmeq); nvme_free_queue(nvmeq);
dev->queue_count--; dev->queue_count--;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment