Commit 90251935 authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman

[PATCH] USB audio: using GFP_KERNEL with a spinlock held

 - with a spinlock held GFP_ATOMIC must be used
parent 32f4b159
...@@ -1420,7 +1420,7 @@ static int usbout_start(struct usb_audiodev *as) ...@@ -1420,7 +1420,7 @@ static int usbout_start(struct usb_audiodev *as)
urb->number_of_packets = DESCFRAMES; urb->number_of_packets = DESCFRAMES;
urb->context = as; urb->context = as;
urb->complete = usbout_completed; urb->complete = usbout_completed;
if (!usbout_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_KERNEL)) if (!usbout_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_ATOMIC))
u->flags |= FLG_URB0RUNNING; u->flags |= FLG_URB0RUNNING;
else else
u->flags &= ~FLG_RUNNING; u->flags &= ~FLG_RUNNING;
...@@ -1433,7 +1433,7 @@ static int usbout_start(struct usb_audiodev *as) ...@@ -1433,7 +1433,7 @@ static int usbout_start(struct usb_audiodev *as)
urb->number_of_packets = DESCFRAMES; urb->number_of_packets = DESCFRAMES;
urb->context = as; urb->context = as;
urb->complete = usbout_completed; urb->complete = usbout_completed;
if (!usbout_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_KERNEL)) if (!usbout_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_ATOMIC))
u->flags |= FLG_URB1RUNNING; u->flags |= FLG_URB1RUNNING;
else else
u->flags &= ~FLG_RUNNING; u->flags &= ~FLG_RUNNING;
...@@ -1448,7 +1448,7 @@ static int usbout_start(struct usb_audiodev *as) ...@@ -1448,7 +1448,7 @@ static int usbout_start(struct usb_audiodev *as)
urb->context = as; urb->context = as;
urb->complete = usbout_sync_completed; urb->complete = usbout_sync_completed;
/* stride: u->syncinterval */ /* stride: u->syncinterval */
if (!usbout_sync_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_KERNEL)) if (!usbout_sync_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_ATOMIC))
u->flags |= FLG_SYNC0RUNNING; u->flags |= FLG_SYNC0RUNNING;
else else
u->flags &= ~FLG_RUNNING; u->flags &= ~FLG_RUNNING;
...@@ -1462,7 +1462,7 @@ static int usbout_start(struct usb_audiodev *as) ...@@ -1462,7 +1462,7 @@ static int usbout_start(struct usb_audiodev *as)
urb->context = as; urb->context = as;
urb->complete = usbout_sync_completed; urb->complete = usbout_sync_completed;
/* stride: u->syncinterval */ /* stride: u->syncinterval */
if (!usbout_sync_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_KERNEL)) if (!usbout_sync_prepare_desc(u, urb) && !usb_submit_urb(urb, GFP_ATOMIC))
u->flags |= FLG_SYNC1RUNNING; u->flags |= FLG_SYNC1RUNNING;
else else
u->flags &= ~FLG_RUNNING; u->flags &= ~FLG_RUNNING;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment