summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2026-05-18 17:49:35 -0700
committerTakashi Iwai <tiwai@suse.de>2026-05-19 08:04:15 +0200
commit0c09413bde6ffa07b4b91a660fb6393dfdead82a (patch)
treef5235b6c29612c7dbd3cfc5f962c176585ecb94c
parentcce8ec8209892b972c743d66180cbe64f19ba83d (diff)
ALSA: usb-audio: Use flexible allocation for Scarlett2 packets
Allocate Scarlett2 USB packets and request buffers with the flex allocation helpers for their trailing data arrays. Keep the computed packet sizes where they are still needed for USB transfer lengths. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://patch.msgid.link/20260519004935.627797-1-rosenp@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/mixer_scarlett2.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/usb/mixer_scarlett2.c b/sound/usb/mixer_scarlett2.c
index 89dbb403d255..7c43ca51938e 100644
--- a/sound/usb/mixer_scarlett2.c
+++ b/sound/usb/mixer_scarlett2.c
@@ -2614,13 +2614,13 @@ static int scarlett2_usb(
struct scarlett2_usb_packet *req __free(kfree) = NULL;
size_t req_buf_size = struct_size(req, data, req_size);
- req = kmalloc(req_buf_size, GFP_KERNEL);
+ req = kmalloc_flex(*req, data, req_size);
if (!req)
return -ENOMEM;
struct scarlett2_usb_packet *resp __free(kfree) = NULL;
size_t resp_buf_size = struct_size(resp, data, resp_size);
- resp = kmalloc(resp_buf_size, GFP_KERNEL);
+ resp = kmalloc_flex(*resp, data, resp_size);
if (!resp)
return -ENOMEM;
@@ -2830,9 +2830,9 @@ static int scarlett2_usb_set_data_buf(
u8 data[];
} __packed *req;
int err;
- int buf_size = struct_size(req, data, bytes);
+ size_t buf_size = struct_size(req, data, bytes);
- req = kmalloc(buf_size, GFP_KERNEL);
+ req = kmalloc_flex(*req, data, bytes);
if (!req)
return -ENOMEM;
@@ -9646,7 +9646,7 @@ static long scarlett2_hwdep_write(struct snd_hwdep *hw,
/* Create and send the request */
len = struct_size(req, data, count);
- req = kzalloc(len, GFP_KERNEL);
+ req = kzalloc_flex(*req, data, count);
if (!req)
return -ENOMEM;