From a082943b09f4f707990ad0ac6326df8480507f02 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 26 Jun 2010 20:42:58 +0000 Subject: rename target/linux/generic-2.6 to generic git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21952 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../780-fix-race-in-snd_soc_jack_add_gpios.patch | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 target/linux/generic/patches-2.6.30/780-fix-race-in-snd_soc_jack_add_gpios.patch (limited to 'target/linux/generic/patches-2.6.30/780-fix-race-in-snd_soc_jack_add_gpios.patch') diff --git a/target/linux/generic/patches-2.6.30/780-fix-race-in-snd_soc_jack_add_gpios.patch b/target/linux/generic/patches-2.6.30/780-fix-race-in-snd_soc_jack_add_gpios.patch new file mode 100644 index 0000000000..b7214b9d6d --- /dev/null +++ b/target/linux/generic/patches-2.6.30/780-fix-race-in-snd_soc_jack_add_gpios.patch @@ -0,0 +1,33 @@ +commit 5ced436d549d911ce610ea47d85f71fae5bbfce4 +Author: Lars-Peter Clausen +Date: Fri Jul 31 18:26:48 2009 +0200 + + ASoC: jack: Fix race in snd_soc_jack_add_gpios + + The irq can fire as soon as it has been requested, thus all fields accessed + from within the irq handler must be initialized prior to requesting the irq. + + Signed-off-by: Lars-Peter Clausen + +--- a/sound/soc/soc-jack.c ++++ b/sound/soc/soc-jack.c +@@ -220,6 +220,9 @@ int snd_soc_jack_add_gpios(struct snd_so + if (ret) + goto err; + ++ INIT_WORK(&gpios[i].work, gpio_work); ++ gpios[i].jack = jack; ++ + ret = request_irq(gpio_to_irq(gpios[i].gpio), + gpio_handler, + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, +@@ -227,9 +230,6 @@ int snd_soc_jack_add_gpios(struct snd_so + &gpios[i]); + if (ret) + goto err; +- +- INIT_WORK(&gpios[i].work, gpio_work); +- gpios[i].jack = jack; + } + + return 0; -- cgit v1.2.3