diff options
author | Jia-Ju Bai <baijiaju1990@gmail.com> | 2018-04-11 06:07:32 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-23 14:31:27 +0300 |
commit | 24b6d3eee183ddde814b47aedc7f0c0c5ab7b72d (patch) | |
tree | 5dc36fab24796fdc1ef0091cf992e713e0bdda34 /drivers/misc/ti-st | |
parent | c13884a8da42222cf3ac11516e636bf6c271ba8d (diff) | |
download | linux-24b6d3eee183ddde814b47aedc7f0c0c5ab7b72d.tar.xz |
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>
Diffstat (limited to 'drivers/misc/ti-st')
-rw-r--r-- | drivers/misc/ti-st/st_kim.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/misc/ti-st/st_kim.c b/drivers/misc/ti-st/st_kim.c index b77aacafc3fc..5ec3f5a43718 100644 --- a/drivers/misc/ti-st/st_kim.c +++ b/drivers/misc/ti-st/st_kim.c @@ -735,7 +735,7 @@ static int kim_probe(struct platform_device *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) { pr_err("no mem to allocate"); return -ENOMEM; |