Patch "ALSA: oxfw: fix transmission method for Loud models based on OXFW971" has been added to the 5.14-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    ALSA: oxfw: fix transmission method for Loud models based on OXFW971

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     alsa-oxfw-fix-transmission-method-for-loud-models-ba.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6edb53c7f829e5510d14d0dcbc2df022129b1342
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date:   Mon Sep 13 11:10:42 2021 +0900

    ALSA: oxfw: fix transmission method for Loud models based on OXFW971
    
    [ Upstream commit 64794d6db49730d22f440aef0cf4da98a56a4ea3 ]
    
    Loud Technologies Mackie Onyx 1640i (former model) is identified as
    the model which uses OXFW971. The analysis of packet dump shows that
    it transfers events in blocking method of IEC 61883-6, however the
    default behaviour of ALSA oxfw driver is for non-blocking method.
    
    This commit adds code to detect it assuming that all of loud models
    based on OXFW971 have such quirk. It brings no functional change
    except for alignment rule of PCM buffer.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20210913021042.10085-1-o-takashi@xxxxxxxxxxxxx
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/firewire/oxfw/oxfw.c b/sound/firewire/oxfw/oxfw.c
index cb5b5e3a481b..daf731364695 100644
--- a/sound/firewire/oxfw/oxfw.c
+++ b/sound/firewire/oxfw/oxfw.c
@@ -184,13 +184,16 @@ static int detect_quirks(struct snd_oxfw *oxfw, const struct ieee1394_device_id
 			model = val;
 	}
 
-	/*
-	 * Mackie Onyx Satellite with base station has a quirk to report a wrong
-	 * value in 'dbs' field of CIP header against its format information.
-	 */
-	if (vendor == VENDOR_LOUD && model == MODEL_SATELLITE)
+	if (vendor == VENDOR_LOUD) {
+		// Mackie Onyx Satellite with base station has a quirk to report a wrong
+		// value in 'dbs' field of CIP header against its format information.
 		oxfw->quirks |= SND_OXFW_QUIRK_WRONG_DBS;
 
+		// OXFW971-based models may transfer events by blocking method.
+		if (!(oxfw->quirks & SND_OXFW_QUIRK_JUMBO_PAYLOAD))
+			oxfw->quirks |= SND_OXFW_QUIRK_BLOCKING_TRANSMISSION;
+	}
+
 	return 0;
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux