]> www.infradead.org Git - users/hch/misc.git/commitdiff
Input: psxpad-spi - add a check for the return value of spi_setup()
authorHaotian Zhang <vulab@iscas.ac.cn>
Mon, 29 Sep 2025 05:01:10 +0000 (22:01 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 29 Sep 2025 05:02:00 +0000 (22:02 -0700)
The probe function in the psxpad-spi driver calls spi_setup()
but fails to check its return value. If the SPI bus setup fails,
the driver will still load successfully, resulting in potential
error in later I/O operations.

Add a check for the return value of spi_setup() and return
an error on failure.

Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/joystick/psxpad-spi.c

index c47fc5f34bd0cf675a1ff8b04b7160364fade186..f902a56d011f4e3cb18976164b923d025ec629e5 100644 (file)
@@ -344,7 +344,11 @@ static int psxpad_spi_probe(struct spi_device *spi)
        /* (PlayStation 1/2 joypad might be possible works 250kHz/500kHz) */
        spi->controller->min_speed_hz = 125000;
        spi->controller->max_speed_hz = 125000;
-       spi_setup(spi);
+       err = spi_setup(spi);
+       if (err) {
+               dev_err(&spi->dev, "failed to set up SPI: %d\n", err);
+               return err;
+       }
 
        /* pad settings */
        psxpad_set_motor_level(pad, 0, 0);