fsi: core: Check error number after calling ida_simple_get
[ Upstream commit 35af9fb49bc5c6d61ef70b501c3a56fe161cce3e ]
If allocation fails, the ida_simple_get() will return error number.
So master->idx could be error number and be used in dev_set_name().
Therefore, it should be better to check it and return error if fails,
like the ida_simple_get() in __fsi_get_new_minor().
Fixes: 09aecfab93
("drivers/fsi: Add fsi master definition")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Eddie James <eajames@linux.ibm.com>
Link: https://lore.kernel.org/r/20220111073411.614138-1-jiasheng@iscas.ac.cn
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
117331a2a5
commit
b6c2c3059e
@ -1271,6 +1271,9 @@ int fsi_master_register(struct fsi_master *master)
|
|||||||
|
|
||||||
mutex_init(&master->scan_lock);
|
mutex_init(&master->scan_lock);
|
||||||
master->idx = ida_simple_get(&master_ida, 0, INT_MAX, GFP_KERNEL);
|
master->idx = ida_simple_get(&master_ida, 0, INT_MAX, GFP_KERNEL);
|
||||||
|
if (master->idx < 0)
|
||||||
|
return master->idx;
|
||||||
|
|
||||||
dev_set_name(&master->dev, "fsi%d", master->idx);
|
dev_set_name(&master->dev, "fsi%d", master->idx);
|
||||||
|
|
||||||
rc = device_register(&master->dev);
|
rc = device_register(&master->dev);
|
||||||
|
Loading…
Reference in New Issue
Block a user