misc: ti-st: Replace GFP_ATOMIC with GFP_KERNEL in kim_probe
kim_probe() is never called in atomic context. This function is only set as ".probe" in struct platform_driver. Despite never getting called from atomic context, kim_probe() calls kzalloc() with GFP_ATOMIC, which does not sleep for allocation. GFP_ATOMIC is not necessary and can be replaced with GFP_KERNEL, which can sleep and improve the possibility of sucessful allocation. This is found by a static analysis tool named DCNS written by myself. And I also manually check it. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>hifive-unleashed-5.1
parent
c13884a8da
commit
24b6d3eee1
|
@ -735,7 +735,7 @@ static int kim_probe(struct platform_device *pdev)
|
||||||
st_kim_devices[0] = pdev;
|
st_kim_devices[0] = pdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
kim_gdata = kzalloc(sizeof(struct kim_data_s), GFP_ATOMIC);
|
kim_gdata = kzalloc(sizeof(struct kim_data_s), GFP_KERNEL);
|
||||||
if (!kim_gdata) {
|
if (!kim_gdata) {
|
||||||
pr_err("no mem to allocate");
|
pr_err("no mem to allocate");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue