From: Greg Kroah-Hartman Date: Tue, 3 Sep 2013 15:17:29 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.0.95~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5b3fdd38ae20a4c5fdbe14ee2b6d8068b94ca7f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: alsa-opti9xx-fix-conflicting-driver-object-name.patch --- diff --git a/queue-3.0/alsa-opti9xx-fix-conflicting-driver-object-name.patch b/queue-3.0/alsa-opti9xx-fix-conflicting-driver-object-name.patch new file mode 100644 index 00000000000..65660183a0e --- /dev/null +++ b/queue-3.0/alsa-opti9xx-fix-conflicting-driver-object-name.patch @@ -0,0 +1,55 @@ +From fb615499f0ad28ed74201c1cdfddf9e64e205424 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 27 Aug 2013 12:03:01 +0200 +Subject: ALSA: opti9xx: Fix conflicting driver object name + +From: Takashi Iwai + +commit fb615499f0ad28ed74201c1cdfddf9e64e205424 upstream. + +The recent commit to delay the release of kobject triggered NULL +dereferences of opti9xx drivers. The cause is that all +snd-opti92x-ad1848, snd-opti92x-cs4231 and snd-opti93x drivers +register the PnP card driver with the very same name, and also +snd-opti92x-ad1848 and -cs4231 drivers register the ISA driver with +the same name, too. When these drivers are built in, quick +"register-release-and-re-register" actions occur, and this results in +Oops because of the same name is assigned to the kobject. + +The fix is simply to assign individual names. As a bonus, by using +KBUILD_MODNAME, the patch reduces more lines than it adds. + +The fix is based on the suggestion by Russell King. + +Reported-and-tested-by: Fengguang Wu +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/isa/opti9xx/opti92x-ad1848.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +--- a/sound/isa/opti9xx/opti92x-ad1848.c ++++ b/sound/isa/opti9xx/opti92x-ad1848.c +@@ -173,11 +173,7 @@ MODULE_DEVICE_TABLE(pnp_card, snd_opti9x + + #endif /* CONFIG_PNP */ + +-#ifdef OPTi93X +-#define DEV_NAME "opti93x" +-#else +-#define DEV_NAME "opti92x" +-#endif ++#define DEV_NAME KBUILD_MODNAME + + static char * snd_opti9xx_names[] = { + "unknown", +@@ -1126,7 +1122,7 @@ static void __devexit snd_opti9xx_pnp_re + + static struct pnp_card_driver opti9xx_pnpc_driver = { + .flags = PNP_DRIVER_RES_DISABLE, +- .name = "opti9xx", ++ .name = DEV_NAME, + .id_table = snd_opti9xx_pnpids, + .probe = snd_opti9xx_pnp_probe, + .remove = __devexit_p(snd_opti9xx_pnp_remove), diff --git a/queue-3.0/series b/queue-3.0/series index 16b7aef0ae5..bd05e92f87a 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -1 +1,2 @@ jfs-fix-readdir-cookie-incompatibility-with-nfsv4.patch +alsa-opti9xx-fix-conflicting-driver-object-name.patch