ChangeSet 1.889.26.13, 2003/01/12 00:17:49-08:00, oliver@oenone.homelinux.org [PATCH] USB audio: using GFP_KERNEL with a spinlock held - with a spinlock held GFP_ATOMIC must be used diff -Nru a/drivers/usb/class/audio.c b/drivers/usb/class/audio.c --- a/drivers/usb/class/audio.c Mon Jan 13 14:25:34 2003 +++ b/drivers/usb/class/audio.c Mon Jan 13 14:25:34 2003 @@ -1420,7 +1420,7 @@ urb->number_of_packets = DESCFRAMES; urb->context = as; 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; else u->flags &= ~FLG_RUNNING; @@ -1433,7 +1433,7 @@ urb->number_of_packets = DESCFRAMES; urb->context = as; 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; else u->flags &= ~FLG_RUNNING; @@ -1448,7 +1448,7 @@ urb->context = as; urb->complete = usbout_sync_completed; /* 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; else u->flags &= ~FLG_RUNNING; @@ -1462,7 +1462,7 @@ urb->context = as; urb->complete = usbout_sync_completed; /* 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; else u->flags &= ~FLG_RUNNING;