hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/mfd/pcf50633-adc.c
....@@ -136,6 +136,7 @@
136136 void *callback_param)
137137 {
138138 struct pcf50633_adc_request *req;
139
+ int ret;
139140
140141 /* req is freed when the result is ready, in interrupt handler */
141142 req = kmalloc(sizeof(*req), GFP_KERNEL);
....@@ -147,7 +148,11 @@
147148 req->callback = callback;
148149 req->callback_param = callback_param;
149150
150
- return adc_enqueue_request(pcf, req);
151
+ ret = adc_enqueue_request(pcf, req);
152
+ if (ret)
153
+ kfree(req);
154
+
155
+ return ret;
151156 }
152157 EXPORT_SYMBOL_GPL(pcf50633_adc_async_read);
153158