summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2021-03-08 15:35:01 +0300
committerJens Axboe <axboe@kernel.dk>2021-03-09 23:56:05 +0300
commiteeb05595d22c19c8f814ff893dcf88ec277a2365 (patch)
tree16f6afe16f8fb9b35c364ac03ae7a9582d86c838 /drivers/block
parent4f44657d74873735e93a50eb25014721a66aac19 (diff)
downloadlinux-eeb05595d22c19c8f814ff893dcf88ec277a2365.tar.xz
umem: fix error return code in mm_pci_probe()
Fix to return negative error code -ENOMEM from the blk_alloc_queue() and dma_alloc_coherent() error handling cases instead of 0, as done elsewhere in this function. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Link: https://lore.kernel.org/r/20210308123501.2573816-1-weiyongjun1@huawei.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/umem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index 982732dbe82e..664280f23bee 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -877,6 +877,7 @@ static int mm_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (card->mm_pages[0].desc == NULL ||
card->mm_pages[1].desc == NULL) {
dev_printk(KERN_ERR, &card->dev->dev, "alloc failed\n");
+ ret = -ENOMEM;
goto failed_alloc;
}
reset_page(&card->mm_pages[0]);
@@ -888,8 +889,10 @@ static int mm_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
spin_lock_init(&card->lock);
card->queue = blk_alloc_queue(NUMA_NO_NODE);
- if (!card->queue)
+ if (!card->queue) {
+ ret = -ENOMEM;
goto failed_alloc;
+ }
tasklet_init(&card->tasklet, process_page, (unsigned long)card);