Re: [PATCH] i2c: pasemi: Add IRQ support for Apple Silicon

From: Dan Carpenter
Date: Mon Aug 22 2022 - 04:46:13 EST


Hi Arminder,

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Arminder-Singh/i2c-pasemi-Add-IRQ-support-for-Apple-Silicon/20220821-034703
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: parisc-randconfig-m031-20220821 (https://download.01.org/0day-ci/archive/20220822/202208220231.f88sizqa-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

smatch warnings:
drivers/i2c/busses/i2c-pasemi-core.c:92 pasemi_smb_waitready() error: uninitialized symbol 'status'.

vim +/status +92 drivers/i2c/busses/i2c-pasemi-core.c

8032214346c0c8 drivers/i2c/busses/i2c-pasemi.c Julia Lawall 2010-09-05 80 static int pasemi_smb_waitready(struct pasemi_smbus *smbus)
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 81 {
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 82 int timeout = 10;
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 83 unsigned int status;
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 84 unsigned int bitmask = SMSTA_XEN | SMSTA_MTN;
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 85
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 86 if (smbus->use_irq) {
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 87 reinit_completion(&smbus->irq_completion);
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 88 reg_write(smbus, REG_IMASK, bitmask);
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 89 wait_for_completion_timeout(&smbus->irq_completion, msecs_to_jiffies(10));
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 90 status = reg_read(smbus, REG_SMSTA);
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 91 } else {
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 @92 while (!(status & SMSTA_XEN) && timeout--) {

"status" not intialized.

beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 93 msleep(1);
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 94 status = reg_read(smbus, REG_SMSTA);
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 95 }
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 96 }
98584b2b51d808 drivers/i2c/busses/i2c-pasemi-core.c Arminder Singh 2022-08-20 97
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 98
be8a1f7cd4501c drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-11-15 99 /* Got NACK? */
be8a1f7cd4501c drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-11-15 100 if (status & SMSTA_MTN)
be8a1f7cd4501c drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-11-15 101 return -ENXIO;
be8a1f7cd4501c drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-11-15 102
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 103 if (timeout < 0) {
c06f50ed36cc0a drivers/i2c/busses/i2c-pasemi.c Sven Peter 2021-10-08 104 dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status);
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 105 reg_write(smbus, REG_SMSTA, status);
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 106 return -ETIME;
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 107 }
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 108
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 109 /* Clear XEN */
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 110 reg_write(smbus, REG_SMSTA, SMSTA_XEN);
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 111
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 112 return 0;
beb58aa39e6e5a drivers/i2c/busses/i2c-pasemi.c Olof Johansson 2007-02-13 113 }

--
0-DAY CI Kernel Test Service
https://01.org/lkp