All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
@ 2018-03-27 12:27 Dan Carpenter
  2018-03-27 12:35 ` Takashi Iwai
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2018-03-27 12:27 UTC (permalink / raw)
  To: tiwai; +Cc: alsa-devel

Hello Takashi Iwai,

The patch 40cab6e88cb0: "ALSA: pcm: Return -EBUSY for OSS ioctls
changing busy streams" from Mar 23, 2018, leads to the following
static checker warning:

	sound/core/oss/pcm_oss.c:1741 snd_pcm_oss_set_rate()
	warn: inconsistent returns 'mutex:&runtime->oss.params_lock'.
	  Locked on:   line 1734
	  Unlocked on: line 1732
	               line 1741

sound/core/oss/pcm_oss.c
  1717  static int snd_pcm_oss_set_rate(struct snd_pcm_oss_file *pcm_oss_file, int rate)
  1718  {
  1719          int idx;
  1720  
  1721          for (idx = 1; idx >= 0; --idx) {
  1722                  struct snd_pcm_substream *substream = pcm_oss_file->streams[idx];
  1723                  struct snd_pcm_runtime *runtime;
  1724                  if (substream == NULL)
  1725                          continue;
  1726                  runtime = substream->runtime;
  1727                  if (rate < 1000)
  1728                          rate = 1000;
  1729                  else if (rate > 192000)
  1730                          rate = 192000;
  1731                  if (mutex_lock_interruptible(&runtime->oss.params_lock))
  1732                          return -ERESTARTSYS;
  1733                  if (atomic_read(&runtime->oss.rw_ref))
  1734                          return -EBUSY;
                                ^^^^^^^^^^^^^
Unlock before returning?

  1735                  if (runtime->oss.rate != rate) {
  1736                          runtime->oss.params = 1;
  1737                          runtime->oss.rate = rate;
  1738                  }
  1739                  mutex_unlock(&runtime->oss.params_lock);
  1740          }
  1741          return snd_pcm_oss_get_rate(pcm_oss_file);
  1742  }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-03-27 14:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-27 12:27 [bug report] ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams Dan Carpenter
2018-03-27 12:35 ` Takashi Iwai
2018-03-27 14:23   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.