diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2024-01-29 08:59:23 +0100 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2024-01-29 08:59:23 +0100 |
commit | c8282f7b8523a4d37e5fefa220d93f2be06650e2 (patch) | |
tree | 6ec17a2ea545b174dc903f6135f5b6258a1c4e2e /drivers/firmware/arm_scmi/raw_mode.c | |
parent | 04447d48afd365a837e23cde631517f166045b9d (diff) | |
parent | 41bccc98fb7931d63d03f326a746ac4d429c1dd3 (diff) | |
download | linux-stable-c8282f7b8523a4d37e5fefa220d93f2be06650e2.tar.gz linux-stable-c8282f7b8523a4d37e5fefa220d93f2be06650e2.tar.bz2 linux-stable-c8282f7b8523a4d37e5fefa220d93f2be06650e2.zip |
Merge tag 'v6.8-rc2'
Linux 6.8-rc2
The vb2 fixes from v6.8-rc2 are needed for the work on the new
vb2 delete buffers feature.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers/firmware/arm_scmi/raw_mode.c')
-rw-r--r-- | drivers/firmware/arm_scmi/raw_mode.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/firmware/arm_scmi/raw_mode.c b/drivers/firmware/arm_scmi/raw_mode.c index 0493aa3c12bf..350573518503 100644 --- a/drivers/firmware/arm_scmi/raw_mode.c +++ b/drivers/firmware/arm_scmi/raw_mode.c @@ -1111,7 +1111,6 @@ static int scmi_raw_mode_setup(struct scmi_raw_mode_info *raw, int i; for (i = 0; i < num_chans; i++) { - void *xret; struct scmi_raw_queue *q; q = scmi_raw_queue_init(raw); @@ -1120,13 +1119,12 @@ static int scmi_raw_mode_setup(struct scmi_raw_mode_info *raw, goto err_xa; } - xret = xa_store(&raw->chans_q, channels[i], q, + ret = xa_insert(&raw->chans_q, channels[i], q, GFP_KERNEL); - if (xa_err(xret)) { + if (ret) { dev_err(dev, "Fail to allocate Raw queue 0x%02X\n", channels[i]); - ret = xa_err(xret); goto err_xa; } } @@ -1322,6 +1320,12 @@ void scmi_raw_message_report(void *r, struct scmi_xfer *xfer, dev = raw->handle->dev; q = scmi_raw_queue_select(raw, idx, SCMI_XFER_IS_CHAN_SET(xfer) ? chan_id : 0); + if (!q) { + dev_warn(dev, + "RAW[%d] - NO queue for chan 0x%X. Dropping report.\n", + idx, chan_id); + return; + } /* * Grab the msg_q_lock upfront to avoid a possible race between |