[PATCH 1/1] ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: David Henningsson <launchpad.web@xxxxxxxxxxxxxx>

If two streams are started immediately after one another (such as a playback and a recording stream),
the call to set hw params fails with EBUSY. This patch makes the call succeed, so playback and
recording will work properly.

Signed-off-by: David Henningsson <launchpad.web@xxxxxxxxxxxxxx>
---

  sound/pci/ice1712/ice1724.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

* This is likely a regression since 2009-06-05, commit 92d71005e2f305d6dca126d8b8497e885b842dba.

* Tested on ESI Juli@.

* Affected bugs: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/441446
   Probably this one as well: https://bugzilla.redhat.com/show_bug.cgi?id=525595

---
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index cc84a83..56d1bd8 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -643,7 +643,7 @@ static int snd_vt1724_set_pro_rate(struct snd_ice1712 *ice, unsigned int rate,
             (inb(ICEMT1724(ice, DMA_PAUSE)) & DMA_PAUSES)) {
                 /* running? we cannot change the rate now... */
                 spin_unlock_irqrestore(&ice->reg_lock, flags);
-               return -EBUSY;
+               return ((rate == ice->cur_rate) && !force) ? 0 : -EBUSY;
         }
         if (!force && is_pro_rate_locked(ice)) {
                 spin_unlock_irqrestore(&ice->reg_lock, flags);


_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux