My previous patch which cleaned up some of the spinlocks, moved one of
the spinlocks around a call to kmem_cache_alloc. It would sometimes
erroneously call it with GFP_KERNEL.
This patch fixes the problem by always calling it with GFP_ATOMIC.
Thanks to Greg for pointing this out to me.
JE
--- linux-2.4.19-pre3.orig/drivers/usb/uhci.c Sun Mar 17 10:48:21 2002
+++ linux-2.4.19-pre3/drivers/usb/uhci.c Sun Mar 17 11:10:51 2002
@@ -618,7 +618,7 @@
{
struct urb_priv *urbp;
- urbp = kmem_cache_alloc(uhci_up_cachep, in_interrupt() ? SLAB_ATOMIC :
SLAB_KERNEL);
+ urbp = kmem_cache_alloc(uhci_up_cachep, SLAB_ATOMIC);
if (!urbp) {
err("uhci_alloc_urb_priv: couldn't allocate memory for urb_priv\n");
return NULL;
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel