Skip to contentSkip to conversation

Patch "ALSA: synth: Fix conflicting OSS device registration on AWE32" has been added to the 4.2-stable tree

PATCH [email protected] 1 participant 1 message Oct 17, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ALSA: synth: Fix conflicting OSS device registration on AWE32

to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
alsa-synth-fix-conflicting-oss-device-registration-on-awe32.patch
and it can be found in the queue-4.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 225db5762dc1a35b26850477ffa06e5cd0097243 Mon Sep 17 00:00:00 2001

From: Takashi Iwai <[email protected]>
Date: Mon, 5 Oct 2015 16:55:09 +0200
Subject: ALSA: synth: Fix conflicting OSS device registration on AWE32

From: Takashi Iwai <[email protected]>

commit 225db5762dc1a35b26850477ffa06e5cd0097243 upstream.

When OSS emulation is loaded on ISA SB AWE32 chip, we get now kernel warnings like:

  WARNING: CPU: 0 PID: 2791 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x51/0x80()
  sysfs: cannot create duplicate filename '/devices/isa/sbawe.0/sound/card0/seq-oss-0-0'

It's because both emux synth and opl3 drivers try to register their OSS device object with the same static index number 0. This hasn't been a big problem until the recent rewrite of device management code (that exposes sysfs at the same time), but it's been an obvious bug.

This patch works around it just by using a different index number of emux synth object. There can be a more elegant way to fix, but it's enough for now, as this code won't be touched so often, in anyway.

---
 sound/synth/emux/emux_oss.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
sound/synth/emux/emux_oss.c +2 -1
@@ -69,7 +69,8 @@ snd_emux_init_seq_oss(struct snd_emux *e
 	struct snd_seq_oss_reg *arg;
 	struct snd_seq_device *dev;
 
-	if (snd_seq_device_new(emu->card, 0, SNDRV_SEQ_DEV_ID_OSS,
+	/* using device#1 here for avoiding conflicts with OPL3 */
+	if (snd_seq_device_new(emu->card, 1, SNDRV_SEQ_DEV_ID_OSS,
 			       sizeof(struct snd_seq_oss_reg), &dev) < 0)
 		return;
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.2/alsa-hda-disable-power_save_node-for-idt-92hd73xx-chips.patch queue-4.2/x86-kexec-fix-kexec-crash-in-syscall-kexec_file_load.patch queue-4.2/alsa-hda-disable-power_save_node-for-thinkpads.patch queue-4.2/alsa-hda-add-dock-support-for-thinkpad-t550.patch queue-4.2/alsa-hda-apply-spdif-pin-ctl-to-macbookpro-12-1.patch queue-4.2/leds-lp55xx-correct-kconfig-dependency-for-f-w-user-helper.patch queue-4.2/alsa-synth-fix-conflicting-oss-device-registration-on-awe32.patch queue-4.2/alsa-hda-tegra-async-probe-for-avoiding-module-loading-deadlock.patch