Messages in this thread Patch in this message | | | From | Lee Jones <> | Subject | [PATCH 4/5] mfd: sprd-sc27xx-spi: Fix divide by zero when allocating register offset/mask | Date | Mon, 29 Jun 2020 13:32:14 +0100 |
| |
Since ddata->irqs[] is already zeroed when allocated by devm_kcalloc() and dividing 0 by anything is still 0, there is no need to re-assign ddata->irqs[i].* values. Instead, it should be safe to begin at 1.
This fixes the following W=1 warning:
drivers/mfd/sprd-sc27xx-spi.c:255 sprd_pmic_probe() debug: sval_binop_unsigned: divide by zero
Cc: Orson Zhai <orsonzhai@gmail.com> Cc: Baolin Wang <baolin.wang7@gmail.com> Cc: Chunyan Zhang <zhang.lyra@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/mfd/sprd-sc27xx-spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c index c305e941e435c..694a7d429ccff 100644 --- a/drivers/mfd/sprd-sc27xx-spi.c +++ b/drivers/mfd/sprd-sc27xx-spi.c @@ -251,7 +251,7 @@ static int sprd_pmic_probe(struct spi_device *spi) return -ENOMEM; ddata->irq_chip.irqs = ddata->irqs; - for (i = 0; i < pdata->num_irqs; i++) { + for (i = 1; i < pdata->num_irqs; i++) { ddata->irqs[i].reg_offset = i / pdata->num_irqs; ddata->irqs[i].mask = BIT(i % pdata->num_irqs); } -- 2.25.1
| |