forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
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