Input: powermate - replace GFP_ATOMIC with GFP_KERNEL in powermate_alloc_buffers()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 27 Jul 2018 18:33:45 +0000 (11:33 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 27 Jul 2018 18:59:07 +0000 (11:59 -0700)
powermate_alloc_buffers() is never called in atomic context. It calls
usb_alloc_coherent() with GFP_ATOMIC, which is not necessary. GFP_ATOMIC
can be replaced with GFP_KERNEL.

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/powermate.c

index 5c8c796..e8de3aa 100644 (file)
@@ -277,7 +277,7 @@ static int powermate_input_event(struct input_dev *dev, unsigned int type, unsig
 static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_device *pm)
 {
        pm->data = usb_alloc_coherent(udev, POWERMATE_PAYLOAD_SIZE_MAX,
-                                     GFP_ATOMIC, &pm->data_dma);
+                                     GFP_KERNEL, &pm->data_dma);
        if (!pm->data)
                return -1;