# 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.540   -> 1.541  
#	drivers/usb/hcd/ehci-mem.c	1.3     -> 1.4    
#	drivers/usb/hcd/ehci-hcd.c	1.7     -> 1.8    
#	drivers/usb/hcd/ohci-mem.c	1.2     -> 1.3    
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/03/18	david-b@pacbell.net	1.541
# USB mem flags nonpoisonous
# 
# This patch completely punts on passing SLAB_POISON, I've
# gotten burnt by it once too many.  Seems like the slab code
# changed somewhere.  I've got a separate patch to make the
# pci_pool code use CONFIG_DEBUG_SLAB, which I'll send
# around.
#     
# Meanwhile, I needed this to get at least EHCI to intialize on
# a 2.5.7-pre1 system.  Please merge.
# --------------------------------------------
#
diff -Nru a/drivers/usb/hcd/ehci-hcd.c b/drivers/usb/hcd/ehci-hcd.c
--- a/drivers/usb/hcd/ehci-hcd.c	Wed Apr  3 16:40:17 2002
+++ b/drivers/usb/hcd/ehci-hcd.c	Wed Apr  3 16:40:17 2002
@@ -89,12 +89,6 @@
 // #define EHCI_VERBOSE_DEBUG
 // #define have_split_iso
 
-#ifdef	CONFIG_DEBUG_SLAB
-#	define	EHCI_SLAB_FLAGS		(SLAB_POISON)
-#else
-#	define	EHCI_SLAB_FLAGS		0
-#endif
-
 /* magic numbers that can affect system performance */
 #define	EHCI_TUNE_CERR		3	/* 0-3 qtd retries; 0 == don't stop */
 #define	EHCI_TUNE_RL_HS		0	/* nak throttle; see 4.9 */
@@ -197,7 +191,7 @@
 	 * periodic_size can shrink by USBCMD update if hcc_params allows.
 	 */
 	ehci->periodic_size = DEFAULT_I_TDPS;
-	if ((retval = ehci_mem_init (ehci, EHCI_SLAB_FLAGS | SLAB_KERNEL)) < 0)
+	if ((retval = ehci_mem_init (ehci, SLAB_KERNEL)) < 0)
 		return retval;
 	hcc_params = readl (&ehci->caps->hcc_params);
 
diff -Nru a/drivers/usb/hcd/ehci-mem.c b/drivers/usb/hcd/ehci-mem.c
--- a/drivers/usb/hcd/ehci-mem.c	Wed Apr  3 16:40:17 2002
+++ b/drivers/usb/hcd/ehci-mem.c	Wed Apr  3 16:40:17 2002
@@ -224,8 +224,7 @@
 		ehci->periodic [i] = EHCI_LIST_END;
 
 	/* software shadow of hardware table */
-	ehci->pshadow = kmalloc (ehci->periodic_size * sizeof (void *),
-		flags & ~EHCI_SLAB_FLAGS);
+	ehci->pshadow = kmalloc (ehci->periodic_size * sizeof (void *), flags);
 	if (ehci->pshadow == 0) {
 		dbg ("no shadow periodic table");
 		ehci_mem_cleanup (ehci);
diff -Nru a/drivers/usb/hcd/ohci-mem.c b/drivers/usb/hcd/ohci-mem.c
--- a/drivers/usb/hcd/ohci-mem.c	Wed Apr  3 16:40:17 2002
+++ b/drivers/usb/hcd/ohci-mem.c	Wed Apr  3 16:40:17 2002
@@ -42,12 +42,6 @@
 
 /*-------------------------------------------------------------------------*/
 
-#ifdef	CONFIG_DEBUG_SLAB
-#	define OHCI_MEM_FLAGS	SLAB_POISON
-#else
-#	define OHCI_MEM_FLAGS	0
-#endif
- 
 #ifndef CONFIG_PCI
 #	error "usb-ohci currently requires PCI-based controllers"
 	/* to support non-PCI OHCIs, you need custom bus/mem/... glue */
@@ -169,14 +163,14 @@
 		sizeof (struct td),
 		32 /* byte alignment */,
 		0 /* no page-crossing issues */,
-		GFP_KERNEL | OHCI_MEM_FLAGS);
+		GFP_KERNEL);
 	if (!ohci->td_cache)
 		return -ENOMEM;
 	ohci->ed_cache = pci_pool_create ("ohci_ed", ohci->hcd.pdev,
 		sizeof (struct ed),
 		16 /* byte alignment */,
 		0 /* no page-crossing issues */,
-		GFP_KERNEL | OHCI_MEM_FLAGS);
+		GFP_KERNEL);
 	if (!ohci->ed_cache) {
 		pci_pool_destroy (ohci->td_cache);
 		return -ENOMEM;
