Browse Source

ASoC: Move dereference after NULL test

If the NULL test on jack is needed, then the derefernce should be after the
NULL test.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// <smpl>
@match exists@
expression x, E;
identifier fld;
@@

* x->fld
  ... when != \(x = E\|&x\)
* x == NULL
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Julia Lawall 15 years ago
parent
commit
4f066173fe
1 changed files with 2 additions and 1 deletions
  1. 2 1
      sound/soc/soc-jack.c

+ 2 - 1
sound/soc/soc-jack.c

@@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(snd_soc_jack_new);
  */
  */
 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
 {
 {
-	struct snd_soc_codec *codec = jack->card->codec;
+	struct snd_soc_codec *codec;
 	struct snd_soc_jack_pin *pin;
 	struct snd_soc_jack_pin *pin;
 	int enable;
 	int enable;
 	int oldstatus;
 	int oldstatus;
@@ -67,6 +67,7 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
 		WARN_ON_ONCE(!jack);
 		WARN_ON_ONCE(!jack);
 		return;
 		return;
 	}
 	}
+	codec = jack->card->codec;
 
 
 	mutex_lock(&codec->mutex);
 	mutex_lock(&codec->mutex);