aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHao Ge <[email protected]>2024-06-17 10:09:54 +0800
committerMark Brown <[email protected]>2024-06-21 13:18:10 +0100
commit3722873d49a1788d5420894d4f6f63e35f5c1f13 (patch)
tree1da6c55d7fdbf9f4e5fc1fbbcf69748e71d43655
parent8978e1f7bc26655e0373c4a6b31e17fcdd497329 (diff)
ASoc: PCM6240: Return directly after a failed devm_kzalloc() in pcmdevice_i2c_probe()
The value “-ENOMEM” was assigned to the local variable “ret” in one if branch after a devm_kzalloc() call failed at the beginning. This error code will trigger then a pcmdevice_remove() call with a passed null pointer so that an undesirable dereference will be performed. Thus return the appropriate error code directly. Fixes: 1324eafd37aa ("ASoc: PCM6240: Create PCM6240 Family driver code") Signed-off-by: Hao Ge <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
-rw-r--r--sound/soc/codecs/pcm6240.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/soc/codecs/pcm6240.c b/sound/soc/codecs/pcm6240.c
index 86e126783a1d..8f7057e689fb 100644
--- a/sound/soc/codecs/pcm6240.c
+++ b/sound/soc/codecs/pcm6240.c
@@ -2087,10 +2087,8 @@ static int pcmdevice_i2c_probe(struct i2c_client *i2c)
#endif
pcm_dev = devm_kzalloc(&i2c->dev, sizeof(*pcm_dev), GFP_KERNEL);
- if (!pcm_dev) {
- ret = -ENOMEM;
- goto out;
- }
+ if (!pcm_dev)
+ return -ENOMEM;
pcm_dev->chip_id = (id != NULL) ? id->driver_data : 0;