]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
i3c: master: svc: Initialize 'dev' to NULL in svc_i3c_master_ibi_isr()
authorFrank Li <Frank.Li@nxp.com>
Mon, 15 Dec 2025 20:08:51 +0000 (15:08 -0500)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 14 Jan 2026 14:52:51 +0000 (15:52 +0100)
Initialize the 'dev' pointer to NULL in svc_i3c_master_ibi_isr() and add
a NULL check in the error path.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/r/202512131016.YCKIsDXM-lkp@intel.com/
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20251215200852.3079073-1-Frank.Li@nxp.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/svc-i3c-master.c

index a62f22ff8b5762e1d6f2147b09e5e329aaf4afa0..857504d36e1867b0f014f60368d810af262cf633 100644 (file)
@@ -533,8 +533,8 @@ static int svc_i3c_master_handle_ibi_won(struct svc_i3c_master *master, u32 msta
 static void svc_i3c_master_ibi_isr(struct svc_i3c_master *master)
 {
        struct svc_i3c_i2c_dev_data *data;
+       struct i3c_dev_desc *dev = NULL;
        unsigned int ibitype, ibiaddr;
-       struct i3c_dev_desc *dev;
        u32 status, val;
        int ret;
 
@@ -627,7 +627,7 @@ static void svc_i3c_master_ibi_isr(struct svc_i3c_master *master)
         * for the slave to interrupt again.
         */
        if (svc_i3c_master_error(master)) {
-               if (master->ibi.tbq_slot) {
+               if (master->ibi.tbq_slot && dev) {
                        data = i3c_dev_get_master_data(dev);
                        i3c_generic_ibi_recycle_slot(data->ibi_pool,
                                                     master->ibi.tbq_slot);