[PATCH 2/2] media: dvb-frontends: a8293: reject short probe reads

From: Nikhil Gurudasani

Date: Sun Jul 19 2026 - 21:08:58 EST


a8293_probe() treats any non-negative i2c_master_recv() result as a
successful two-byte probe read. A short transfer can therefore leave part
of the buffer uninitialized while probe still succeeds.

Require the exact transfer length and convert a short transfer to
-EREMOTEIO.

Fixes: 2c509b866bd2 ("[media] a8293: use i2c_master_send / i2c_master_recv for I2C I/O")
Signed-off-by: Nikhil Gurudasani <nikhilgurudasani314@xxxxxxxxx>
---
drivers/media/dvb-frontends/a8293.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb-frontends/a8293.c b/drivers/media/dvb-frontends/a8293.c
index 14e7f6bda10c..27ad8d12c53d 100644
--- a/drivers/media/dvb-frontends/a8293.c
+++ b/drivers/media/dvb-frontends/a8293.c
@@ -234,8 +234,11 @@ static int a8293_probe(struct i2c_client *client)

/* check if the SEC is there */
ret = i2c_master_recv(client, buf, 2);
- if (ret < 0)
+ if (ret != 2) {
+ if (ret >= 0)
+ ret = -EREMOTEIO;
goto err_kfree;
+ }

/* override frontend ops */
fe->ops.set_voltage = a8293_set_voltage;
--
2.43.0