mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-07 23:28:55 +00:00
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
1 changed files with 6 additions and 4 deletions
|
@ -308,6 +308,12 @@ int nvm_register(struct request_queue *q, char *disk_name,
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_init;
|
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) {
|
if (dev->ops->max_phys_sect > 1) {
|
||||||
dev->ppalist_pool = dev->ops->create_dma_pool(dev->q,
|
dev->ppalist_pool = dev->ops->create_dma_pool(dev->q,
|
||||||
"ppalist");
|
"ppalist");
|
||||||
|
@ -316,10 +322,6 @@ int nvm_register(struct request_queue *q, char *disk_name,
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto err_init;
|
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);
|
down_write(&nvm_lock);
|
||||||
|
|
Loading…
Add table
Reference in a new issue