From: gregkh@suse.de Date: Thu, 12 May 2005 04:29:31 +0000 (-0700) Subject: [PATCH] added more patches. X-Git-Tag: v2.6.11.11~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=441f348b68bc0944217bc4bae4dda9f4dc8d1f2a;p=thirdparty%2Fkernel%2Fstable-queue.git [PATCH] added more patches. --- diff --git a/queue/ebtables-fix-smp-race.patch b/queue/ebtables-fix-smp-race.patch new file mode 100644 index 00000000000..e4ef332c365 --- /dev/null +++ b/queue/ebtables-fix-smp-race.patch @@ -0,0 +1,31 @@ +From foo@baz Tue Apr 9 12:12:43 2002 +To: linux-kernel@vger.kernel.org +Cc: Herbert Xu , Shaun Reitan +Date: 14 Mar 2005 21:22:31 -08:00 +From: bdschuym@pandora.be +Subject: [EBTABLES]: Fix smp race. + +The patch below fixes an smp race that happens on such systems under +heavy load. +This bug was reported and solved by Steve Herrell + + +Signed-off-by: Bart De Schuymer +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +diff -Nru a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c +--- a/net/bridge/netfilter/ebtables.c 2005-05-11 21:24:50 -07:00 ++++ b/net/bridge/netfilter/ebtables.c 2005-05-11 21:24:50 -07:00 +@@ -179,9 +179,10 @@ + struct ebt_chainstack *cs; + struct ebt_entries *chaininfo; + char *base; +- struct ebt_table_info *private = table->private; ++ struct ebt_table_info *private; + + read_lock_bh(&table->lock); ++ private = table->private; + cb_base = COUNTER_BASE(private->counters, private->nentries, + smp_processor_id()); + if (private->chainstack) diff --git a/queue/usbaudio-prevent-oops-on-usb-unplug.patch b/queue/usbaudio-prevent-oops-on-usb-unplug.patch new file mode 100644 index 00000000000..3d30b50fe4f --- /dev/null +++ b/queue/usbaudio-prevent-oops-on-usb-unplug.patch @@ -0,0 +1,37 @@ +From stable-bounces@linux.kernel.org Thu Apr 28 00:35:07 2005 +From: Gregor Jasny +To: stable@kernel.org +Date: Thu, 28 Apr 2005 09:26:48 +0200 +Subject: [stable] [PATCH] usbaudio: prevent oops & dead keyboard on usb + unplugging while the device is being used + +Summary: prevent oops & dead keyboard on usb unplugging while the device is being used + +Without this patch, some usb kobjects, which are parents to +the usx2y's kobjects can be freed before the usx2y's. +This led to an oops in get_kobj_path_length() and a dead +keyboard, when the usx2y's kobjects were freed. +The patch ensures the correct sequence. +Tested ok on kernel 2.6.12-rc2. + +Signed-off-by: Karsten Wiese + + +diff -u -r1.119 -r1.120 +--- sound/usb/usbaudio.c 2005/03/24 07:17:17 1.119 ++++ sound/usb/usbaudio.c 2005/04/20 09:12:35 1.120 +@@ -3289,7 +3289,7 @@ + } + usb_chip[chip->index] = NULL; + up(®ister_mutex); +- snd_card_free_in_thread(card); ++ snd_card_free(card); + } else { + up(®ister_mutex); + } + +_______________________________________________ +stable mailing list +stable@linux.kernel.org +http://linux.kernel.org/mailman/listinfo/stable + diff --git a/queue/usbusx2y-prevent-oops-on-usb-unplug.patch b/queue/usbusx2y-prevent-oops-on-usb-unplug.patch new file mode 100644 index 00000000000..3c20b237bf7 --- /dev/null +++ b/queue/usbusx2y-prevent-oops-on-usb-unplug.patch @@ -0,0 +1,67 @@ +From stable-bounces@linux.kernel.org Thu Apr 28 00:35:13 2005 +From: Gregor Jasny +To: stable@kernel.org +Date: Thu, 28 Apr 2005 09:24:08 +0200 +Subject: [stable] [PATCH] usbusx2y: prevent oops & dead keyboard on usb + unplugging while the device is being used + +Summary: prevent oops & dead keyboard on usb unplugging while the device is being used + +Without this patch, some usb kobjects, which are parents to +the usx2y's kobjects can be freed before the usx2y's. +This led to an oops in get_kobj_path_length() and a dead +keyboard, when the usx2y's kobjects were freed. +The patch ensures the correct sequence. +Tested ok on kernel 2.6.12-rc2. + +Signed-off-by: Karsten Wiese + + +diff -u -r1.9 -r1.10 +--- sound/usb/usx2y/usbusx2y.c 2005/01/28 10:21:48 1.9 ++++ sound/usb/usx2y/usbusx2y.c 2005/04/20 09:12:35 1.10 +@@ -1,6 +1,11 @@ + /* + * usbusy2y.c - ALSA USB US-428 Driver + * ++2005-04-14 Karsten Wiese ++ Version 0.8.7.2: ++ Call snd_card_free() instead of snd_card_free_in_thread() to prevent oops with dead keyboard symptom. ++ Tested ok with kernel 2.6.12-rc2. ++ + 2004-12-14 Karsten Wiese + Version 0.8.7.1: + snd_pcm_open for rawusb pcm-devices now returns -EBUSY if called without rawusb's hwdep device being open. +@@ -143,7 +148,7 @@ + + + MODULE_AUTHOR("Karsten Wiese "); +-MODULE_DESCRIPTION("TASCAM "NAME_ALLCAPS" Version 0.8.7.1"); ++MODULE_DESCRIPTION("TASCAM "NAME_ALLCAPS" Version 0.8.7.2"); + MODULE_LICENSE("GPL"); + MODULE_SUPPORTED_DEVICE("{{TASCAM(0x1604), "NAME_ALLCAPS"(0x8001)(0x8005)(0x8007) }}"); + +@@ -430,8 +435,6 @@ + if (ptr) { + usX2Ydev_t* usX2Y = usX2Y((snd_card_t*)ptr); + struct list_head* p; +- if (usX2Y->chip_status == USX2Y_STAT_CHIP_HUP) // on 2.6.1 kernel snd_usbmidi_disconnect() +- return; // calls us back. better leave :-) . + usX2Y->chip.shutdown = 1; + usX2Y->chip_status = USX2Y_STAT_CHIP_HUP; + usX2Y_unlinkSeq(&usX2Y->AS04); +@@ -443,7 +446,7 @@ + } + if (usX2Y->us428ctls_sharedmem) + wake_up(&usX2Y->us428ctls_wait_queue_head); +- snd_card_free_in_thread((snd_card_t*)ptr); ++ snd_card_free((snd_card_t*)ptr); + } + } + + +_______________________________________________ +stable mailing list +stable@linux.kernel.org +http://linux.kernel.org/mailman/listinfo/stable +