lightnvm: do device max sectors boundary check first
do device max_phys_sect boundary check first, otherwise we will allocate dma_pools for devices whose max sectors are beyond lightnvm support and register them. Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com> Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
76e25081b6
commit
d160147b5c
|
@ -308,6 +308,12 @@ int nvm_register(struct request_queue *q, char *disk_name,
|
|||
if (ret)
|
||||
goto err_init;
|
||||
|
||||
if (dev->ops->max_phys_sect > 256) {
|
||||
pr_info("nvm: max sectors supported is 256.\n");
|
||||
ret = -EINVAL;
|
||||
goto err_init;
|
||||
}
|
||||
|
||||
if (dev->ops->max_phys_sect > 1) {
|
||||
dev->ppalist_pool = dev->ops->create_dma_pool(dev->q,
|
||||
"ppalist");
|
||||
|
@ -316,10 +322,6 @@ int nvm_register(struct request_queue *q, char *disk_name,
|
|||
ret = -ENOMEM;
|
||||
goto err_init;
|
||||
}
|
||||
} else if (dev->ops->max_phys_sect > 256) {
|
||||
pr_info("nvm: max sectors supported is 256.\n");
|
||||
ret = -EINVAL;
|
||||
goto err_init;
|
||||
}
|
||||
|
||||
down_write(&nvm_lock);
|
||||
|
|
Loading…
Reference in New Issue