This is a note to let you know that I've just added the patch titled ALSA: firewire-lib: fix calculation for size of IR context payload to the 5.10-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-firewire-lib-fix-calculation-for-size-of-ir-context-payload.patch and it can be found in the queue-5.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 1be4f21d9984fa9835fae5411a29465dc5aece6f Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu, 13 May 2021 21:56:51 +0900 Subject: ALSA: firewire-lib: fix calculation for size of IR context payload From: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> commit 1be4f21d9984fa9835fae5411a29465dc5aece6f upstream. The quadlets for CIP header is handled as a part of IR context header, thus it doesn't join in IR context payload. However current calculation includes the quadlets in IR context payload. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: f11453c7cc01 ("ALSA: firewire-lib: use 16 bytes IR context header to separate CIP header") Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20210513125652.110249-5-o-takashi@xxxxxxxxxxxxx Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- sound/firewire/amdtp-stream.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) --- a/sound/firewire/amdtp-stream.c +++ b/sound/firewire/amdtp-stream.c @@ -1068,23 +1068,22 @@ static int amdtp_stream_start(struct amd s->data_block_counter = 0; } - /* initialize packet buffer */ + // initialize packet buffer. + max_ctx_payload_size = amdtp_stream_get_max_payload(s); if (s->direction == AMDTP_IN_STREAM) { dir = DMA_FROM_DEVICE; type = FW_ISO_CONTEXT_RECEIVE; - if (!(s->flags & CIP_NO_HEADER)) + if (!(s->flags & CIP_NO_HEADER)) { + max_ctx_payload_size -= 8; ctx_header_size = IR_CTX_HEADER_SIZE_CIP; - else + } else { ctx_header_size = IR_CTX_HEADER_SIZE_NO_CIP; - - max_ctx_payload_size = amdtp_stream_get_max_payload(s) - - ctx_header_size; + } } else { dir = DMA_TO_DEVICE; type = FW_ISO_CONTEXT_TRANSMIT; ctx_header_size = 0; // No effect for IT context. - max_ctx_payload_size = amdtp_stream_get_max_payload(s); if (!(s->flags & CIP_NO_HEADER)) max_ctx_payload_size -= IT_PKT_HEADER_SIZE_CIP; } Patches currently in stable-queue which might be from o-takashi@xxxxxxxxxxxxx are queue-5.10/alsa-firewire-lib-fix-amdtp_packet-tracepoints-event-for-packet_index-field.patch queue-5.10/alsa-bebob-oxfw-fix-kconfig-entry-for-mackie-d.2-pro.patch queue-5.10/alsa-firewire-lib-fix-calculation-for-size-of-ir-context-payload.patch queue-5.10/alsa-dice-fix-stream-format-for-tc-electronic-konnekt-live-at-high-sampling-transfer-frequency.patch queue-5.10/alsa-dice-fix-stream-format-at-middle-sampling-rate-for-alesis-io-26.patch queue-5.10/alsa-firewire-lib-fix-check-for-the-size-of-isochronous-packet-payload.patch