# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#                  ChangeSet    1.411   -> 1.412  
#       drivers/usb/usb-ohci.h  1.9     -> 1.10   
#       drivers/usb/usb-uhci.c  1.22    -> 1.23   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/05/03      [EMAIL PROTECTED]     1.412
# [PATCH] USB host TASK_RUNNING fix
# 
# - fixed memory allocation so that the state of the task is not
#   acidentally changed to TASK_RUNNING
# --------------------------------------------
#
diff -Nru a/drivers/usb/usb-ohci.h b/drivers/usb/usb-ohci.h
--- a/drivers/usb/usb-ohci.h    Fri May  3 14:51:31 2002
+++ b/drivers/usb/usb-ohci.h    Fri May  3 14:51:31 2002
@@ -439,7 +439,7 @@
 
 /*-------------------------------------------------------------------------*/
 
-#define ALLOC_FLAGS (in_interrupt () ? GFP_ATOMIC : GFP_KERNEL)
+#define ALLOC_FLAGS (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC : 
+GFP_KERNEL)
 
 #ifdef DEBUG
 #      define OHCI_MEM_FLAGS   SLAB_POISON
diff -Nru a/drivers/usb/usb-uhci.c b/drivers/usb/usb-uhci.c
--- a/drivers/usb/usb-uhci.c    Fri May  3 14:51:31 2002
+++ b/drivers/usb/usb-uhci.c    Fri May  3 14:51:31 2002
@@ -86,8 +86,8 @@
        static kmem_cache_t *urb_priv_kmem;
 #endif
 
-#define SLAB_FLAG     (in_interrupt ()? SLAB_ATOMIC : SLAB_KERNEL)
-#define KMALLOC_FLAG  (in_interrupt ()? GFP_ATOMIC : GFP_KERNEL)
+#define SLAB_FLAG     (in_interrupt () || current->state != TASK_RUNNING ? 
+SLAB_ATOMIC : SLAB_KERNEL)
+#define KMALLOC_FLAG  (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC 
+: GFP_KERNEL)
 
 /* CONFIG_USB_UHCI_HIGH_BANDWITH turns on Full Speed Bandwidth
  * Reclamation: feature that puts loop on descriptor loop when
@@ -95,7 +95,7 @@
  * is optimal, but PCI can be slowed down up-to 5 times, slowing down
  * system performance (eg. framebuffer devices).
  */
-#define CONFIG_USB_UHCI_HIGH_BANDWIDTH 
+#define CONFIG_USB_UHCI_HIGH_BANDWIDTH
 
 /* *_DEPTH_FIRST puts descriptor in depth-first mode. This has
  * somehow similar effect to FSBR (higher speed), but does not
@@ -143,7 +143,7 @@
        q=s->free_desc.prev;
 
        while (q != &s->free_desc && (force || n<100)) {
-               qh = list_entry (q, uhci_desc_t, horizontal);           
+               qh = list_entry (q, uhci_desc_t, horizontal);
                q=qh->horizontal.prev;
 
                if ((qh->last_used!=now) || force)

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to