Commit fc8af4fb authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Mauro Carvalho Chehab
Browse files

media: em28xx-audio: use GFP_KERNEL for memory allocation during init



As far as I can tell em28xx_audio_urb_init() is called once during
initialization from non atomic context. Memory allocation from
non atomic context should use GFP_KERNEL to avoid using emergency pool
for memory allocation.
Use GFP_KERNEL for memory allocation.

Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 3dae3c96
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -842,11 +842,11 @@ static int em28xx_audio_urb_init(struct em28xx *dev)

	dev->adev.transfer_buffer = kcalloc(num_urb,
					    sizeof(*dev->adev.transfer_buffer),
					    GFP_ATOMIC);
					    GFP_KERNEL);
	if (!dev->adev.transfer_buffer)
		return -ENOMEM;

	dev->adev.urb = kcalloc(num_urb, sizeof(*dev->adev.urb), GFP_ATOMIC);
	dev->adev.urb = kcalloc(num_urb, sizeof(*dev->adev.urb), GFP_KERNEL);
	if (!dev->adev.urb) {
		kfree(dev->adev.transfer_buffer);
		return -ENOMEM;
@@ -859,14 +859,14 @@ static int em28xx_audio_urb_init(struct em28xx *dev)
		int j, k;
		void *buf;

		urb = usb_alloc_urb(npackets, GFP_ATOMIC);
		urb = usb_alloc_urb(npackets, GFP_KERNEL);
		if (!urb) {
			em28xx_audio_free_urb(dev);
			return -ENOMEM;
		}
		dev->adev.urb[i] = urb;

		buf = usb_alloc_coherent(udev, npackets * ep_size, GFP_ATOMIC,
		buf = usb_alloc_coherent(udev, npackets * ep_size, GFP_KERNEL,
					 &urb->transfer_dma);
		if (!buf) {
			dev_err(&dev->intf->dev,