ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe()
authorKeisuke Nishimura <keisuke.nishimura@inria.fr>
Tue, 29 Oct 2024 18:27:12 +0000 (19:27 +0100)
committerStefan Schmidt <stefan@datenfreihafen.org>
Tue, 19 Nov 2024 09:47:37 +0000 (10:47 +0100)
ca8210_test_interface_init() returns the result of kfifo_alloc(),
which can be non-zero in case of an error. The caller, ca8210_probe(),
should check the return value and do error-handling if it fails.

Fixes: ded845a781a5 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")
Signed-off-by: Keisuke Nishimura <keisuke.nishimura@inria.fr>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/20241029182712.318271-1-keisuke.nishimura@inria.fr
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
drivers/net/ieee802154/ca8210.c

index e685a7f..753215e 100644 (file)
@@ -3072,7 +3072,11 @@ static int ca8210_probe(struct spi_device *spi_device)
        spi_set_drvdata(priv->spi, priv);
        if (IS_ENABLED(CONFIG_IEEE802154_CA8210_DEBUGFS)) {
                cascoda_api_upstream = ca8210_test_int_driver_write;
-               ca8210_test_interface_init(priv);
+               ret = ca8210_test_interface_init(priv);
+               if (ret) {
+                       dev_crit(&spi_device->dev, "ca8210_test_interface_init failed\n");
+                       goto error;
+               }
        } else {
                cascoda_api_upstream = NULL;
        }