Skip to contentSkip to conversation

patch "iio: chemical: sgp30: Handle IAQ thread creation failure" added to char-misc-next

PATCH [email protected] 1 participant 1 message Aug 19

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

iio: chemical: sgp30: Handle IAQ thread creation failure

to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-next branch.

The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)

The patch will also be merged in the next major kernel release during the merge window.

If you have any questions about this process, please let me know.

From 1135d6875d2dbda3f6ec718f3421a6ce4378bd63 Mon Sep 17 00:00:00 2001
From: Linmao Li <[email protected]>
Date: Wed, 22 Jul 2026 15:48:37 +0800
Subject: iio: chemical: sgp30: Handle IAQ thread creation failure

kthread_run() can fail and return an error pointer, but sgp_probe() stores it and returns success, so the device is registered without its IAQ thread and sgp_remove() later passes the error pointer to kthread_stop(). Return the error from probe instead.

Fixes ce514124161a ("iio: chemical: sgp30: Support Sensirion SGP30/SGPC3 sensors")
---
 drivers/iio/chemical/sgp30.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/iio/chemical/sgp30.c +3 -0
index f10bbebc29e4..379c1c4af8d8 100644
@@ -548,6 +548,9 @@ static int sgp_probe(struct i2c_client *client)
 
 	data->iaq_thread = kthread_run(sgp_iaq_threadfn, data,
 				       "%s-iaq", data->client->name);
+	if (IS_ERR(data->iaq_thread))
+		return dev_err_probe(dev, PTR_ERR(data->iaq_thread),
+				     "failed to start IAQ thread\n");
 
 	return 0;
 }
Signature · 1 line
2.55.0