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

David Henningsson launchpad.web at epost.diwic.se
Sun Oct 11 11:37:22 CEST 2009


From: David Henningsson <launchpad.web at epost.diwic.se>

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 at epost.diwic.se>
---

  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 at .

* 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);




More information about the Alsa-devel mailing list