|
@@ -651,13 +651,16 @@ static int hid_alloc_buffers(struct usb_device *dev, struct hid_device *hid)
|
|
|
{
|
|
|
struct usbhid_device *usbhid = hid->driver_data;
|
|
|
|
|
|
- if (!(usbhid->inbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_ATOMIC, &usbhid->inbuf_dma)))
|
|
|
- return -1;
|
|
|
- if (!(usbhid->outbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_ATOMIC, &usbhid->outbuf_dma)))
|
|
|
- return -1;
|
|
|
- if (!(usbhid->cr = usb_buffer_alloc(dev, sizeof(*(usbhid->cr)), GFP_ATOMIC, &usbhid->cr_dma)))
|
|
|
- return -1;
|
|
|
- if (!(usbhid->ctrlbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_ATOMIC, &usbhid->ctrlbuf_dma)))
|
|
|
+ usbhid->inbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
|
|
+ &usbhid->inbuf_dma);
|
|
|
+ usbhid->outbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
|
|
+ &usbhid->outbuf_dma);
|
|
|
+ usbhid->cr = usb_buffer_alloc(dev, sizeof(*usbhid->cr), GFP_KERNEL,
|
|
|
+ &usbhid->cr_dma);
|
|
|
+ usbhid->ctrlbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
|
|
+ &usbhid->ctrlbuf_dma);
|
|
|
+ if (!usbhid->inbuf || !usbhid->outbuf || !usbhid->cr ||
|
|
|
+ !usbhid->ctrlbuf)
|
|
|
return -1;
|
|
|
|
|
|
return 0;
|