Browse Source

ALSA: x86: Drop useless mutex at probe

had_mutex is (supposedly) used to protect the concurrent calls of
hdmi_audio_probe().  But we may have only one device at most, so it's
utterly useless.  Drop it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 8 years ago
parent
commit
dd895f2e9b
1 changed files with 2 additions and 8 deletions
  1. 2 8
      sound/x86/intel_hdmi_audio.c

+ 2 - 8
sound/x86/intel_hdmi_audio.c

@@ -37,8 +37,6 @@
 #include <sound/initval.h>
 #include "intel_hdmi_audio.h"
 
-static DEFINE_MUTEX(had_mutex);
-
 /*standard module options for ALSA. This module supports only one card*/
 static int hdmi_card_index = SNDRV_DEFAULT_IDX1;
 static char *hdmi_card_id = SNDRV_DEFAULT_STR1;
@@ -1621,7 +1619,7 @@ int hdmi_audio_probe(struct platform_device *devptr,
 		pr_err("querying display driver APIs failed %#x\n", retval);
 		goto free_hadstream;
 	}
-	mutex_lock(&had_mutex);
+
 	spin_lock_init(&intelhaddata->had_spinlock);
 	intelhaddata->drv_status = HAD_DRV_DISCONNECTED;
 	pr_debug("%s @ %d:DEBUG PLUG/UNPLUG : HAD_DRV_DISCONNECTED\n",
@@ -1632,7 +1630,7 @@ int hdmi_audio_probe(struct platform_device *devptr,
 				THIS_MODULE, 0, &card);
 
 	if (retval)
-		goto unlock_mutex;
+		goto free_hadstream;
 	intelhaddata->card = card;
 	intelhaddata->card_id = hdmi_card_id;
 	intelhaddata->card_index = card->number;
@@ -1705,16 +1703,12 @@ int hdmi_audio_probe(struct platform_device *devptr,
 	pm_runtime_set_active(intelhaddata->dev);
 	pm_runtime_enable(intelhaddata->dev);
 
-	mutex_unlock(&had_mutex);
-
 	intelhaddata->hw_silence = 1;
 	*had_ret = intelhaddata;
 
 	return 0;
 err:
 	snd_card_free(card);
-unlock_mutex:
-	mutex_unlock(&had_mutex);
 free_hadstream:
 	kfree(had_stream);
 	pm_runtime_disable(intelhaddata->dev);