From beb9ccab9c51ffd53234f52451db14b7466f838e Mon Sep 17 00:00:00 2001 From: Xenoamor Date: Wed, 1 Oct 2025 13:33:44 +0100 Subject: [PATCH] Fix null pointer dereference in ad9361_rfpll_vco_init Signed-off-by: Joshua Booth --- drivers/rf-transceiver/ad9361/ad9361.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/rf-transceiver/ad9361/ad9361.c b/drivers/rf-transceiver/ad9361/ad9361.c index 966c153e1e3..7af576445c0 100644 --- a/drivers/rf-transceiver/ad9361/ad9361.c +++ b/drivers/rf-transceiver/ad9361/ad9361.c @@ -1746,7 +1746,7 @@ static int32_t ad9361_rfpll_vco_init(struct ad9361_rf_phy *phy, uint32_t ref_clk) { struct no_os_spi_desc *spi = phy->spi; - const struct SynthLUT(*tab); + const struct SynthLUT(*tab) = NULL; int32_t i = 0; uint32_t range, offs = 0; @@ -1775,6 +1775,12 @@ static int32_t ad9361_rfpll_vco_init(struct ad9361_rf_phy *phy, } } + if (tab == NULL) { + dev_err(&phy->spi->dev, + "%s: Failed to find suitable SynthLUT table", __func__); + return -EINVAL; + } + if (tx) offs = REG_TX_VCO_OUTPUT - REG_RX_VCO_OUTPUT;