atp_open(), atp_recover() and atp_resume() are never called in atomic
context. They call usb_submit_urb() 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>
 {
        struct atp *dev = input_get_drvdata(input);
 
-       if (usb_submit_urb(dev->urb, GFP_ATOMIC))
+       if (usb_submit_urb(dev->urb, GFP_KERNEL))
                return -EIO;
 
        dev->open = true;
        if (error)
                return error;
 
-       if (dev->open && usb_submit_urb(dev->urb, GFP_ATOMIC))
+       if (dev->open && usb_submit_urb(dev->urb, GFP_KERNEL))
                return -EIO;
 
        return 0;
 {
        struct atp *dev = usb_get_intfdata(iface);
 
-       if (dev->open && usb_submit_urb(dev->urb, GFP_ATOMIC))
+       if (dev->open && usb_submit_urb(dev->urb, GFP_KERNEL))
                return -EIO;
 
        return 0;