Thread (11 messages) 11 messages, 2 authors, 2016-10-11

Re: [PATCH v17 3/4] usb: gadget: Integrate with the usb gadget supporting for usb charger

From: Lu Baolu <baolu.lu@linux.intel.com>
Date: 2016-10-11 04:32:28
Also in: lkml

Hi,

On 10/11/2016 12:07 PM, Baolin Wang wrote:
quoted
quoted
 /*
quoted
quoted
+ * usb_charger_unregister() - Unregister a usb charger.
+ * @uchger - the usb charger to be unregistered.
+ */
+static int usb_charger_unregister(struct usb_charger *uchger)
+{
+     ida_simple_remove(&usb_charger_ida, uchger->id);
+     sysfs_remove_groups(&uchger->gadget->dev.kobj, usb_charger_groups);
+
+     mutex_lock(&charger_lock);
+     list_del(&uchger->list);
+     mutex_unlock(&charger_lock);
+
+     kfree(uchger);
Any reasons you want to put kfree() here? You allocated the memory
in usb_charger_init(). Isn't usb_charger_exit() a better place?
The usb_charger_exit() will issue usb_charger_unregister() and we need
use the usb_charger structure in usb_charger_unregister() to
unregister the usb charger.
This seems not to be a strong reason. :-)

You can unregister the charger first and then free the structure.
Just do the reverse operation of what you have done in the init
function.

Best regards,
Lu Baolu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help