On Sun Aug 30 22:30:02 2026 +0800, Runyu Xiao wrote:
> The saa7146 interrupt handler can call SAA7146_IER_DISABLE(), which
> serializes register access with dev->int_slock. request_irq() allows the
> shared handler to run before saa7146_init_one() reaches the current lock
> initialization block.
> 
> Initialize dev->int_slock before requesting the interrupt so every handler
> path sees an initialized lock.
> 
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Cc: [email protected]
> Assisted-by: Codex:GPT-5
> Signed-off-by: Runyu Xiao <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/common/saa7146/saa7146_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---

diff --git a/drivers/media/common/saa7146/saa7146_core.c 
b/drivers/media/common/saa7146/saa7146_core.c
index c297d019f2b3..70d6ca00513f 100644
--- a/drivers/media/common/saa7146/saa7146_core.c
+++ b/drivers/media/common/saa7146/saa7146_core.c
@@ -340,6 +340,8 @@ static int saa7146_init_one(struct pci_dev *pci, const 
struct pci_device_id *ent
                goto out;
        }
 
+       spin_lock_init(&dev->int_slock);
+
        /* create a nice device name */
        sprintf(dev->name, "saa7146 (%d)", saa7146_num);
 
@@ -425,7 +427,6 @@ static int saa7146_init_one(struct pci_dev *pci, const 
struct pci_device_id *ent
        dev->ext = ext;
 
        mutex_init(&dev->v4l2_lock);
-       spin_lock_init(&dev->int_slock);
        spin_lock_init(&dev->slock);
 
        mutex_init(&dev->i2c_lock);
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to