[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: f063a28002e3350088b4577c5640882bf4ea17ea
Status in newer kernel trees: 6.14.y | Present (different SHA1: 3950887ff9a9)
Note: The patch differs from the upstream commit: --- 1: f063a28002e33 ! 1: 99a94f9f0a69a iio: light: opt3001: fix deadlock due to concurrent flag access @@ Metadata ## Commit message ## iio: light: opt3001: fix deadlock due to concurrent flag access
+ [ Upstream commit f063a28002e3350088b4577c5640882bf4ea17ea ] + The threaded IRQ function in this driver is reading the flag twice: once to lock a mutex and once to unlock it. Even though the code setting the flag is designed to prevent it, there are subtle cases where the flag could be @@ Commit message Signed-off-by: Luca Ceresoli luca.ceresoli@bootlin.com Link: https://patch.msgid.link/20250321-opt3001-irq-fix-v1-1-6c520d851562@bootlin.... Signed-off-by: Jonathan Cameron Jonathan.Cameron@huawei.com + (cherry picked from commit f063a28002e3350088b4577c5640882bf4ea17ea) + [Fixed conflict while applying on 6.12] + Signed-off-by: Luca Ceresoli luca.ceresoli@bootlin.com
## drivers/iio/light/opt3001.c ## @@ drivers/iio/light/opt3001.c: static irqreturn_t opt3001_irq(int irq, void *_iio) + struct opt3001 *opt = iio_priv(iio); int ret; bool wake_result_ready_queue = false; - enum iio_chan_type chan_type = opt->chip_info->chan_type; + bool ok_to_ignore_lock = opt->ok_to_ignore_lock;
- if (!opt->ok_to_ignore_lock) ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.12.y | Success | Success |