|
@@ -820,11 +820,19 @@ EXPORT_SYMBOL(nfc_remove_se);
|
|
|
static void nfc_release(struct device *d)
|
|
|
{
|
|
|
struct nfc_dev *dev = to_nfc_dev(d);
|
|
|
+ struct nfc_se *se, *n;
|
|
|
|
|
|
pr_debug("dev_name=%s\n", dev_name(&dev->dev));
|
|
|
|
|
|
nfc_genl_data_exit(&dev->genl_data);
|
|
|
kfree(dev->targets);
|
|
|
+
|
|
|
+ list_for_each_entry_safe(se, n, &dev->secure_elements, list) {
|
|
|
+ nfc_genl_se_removed(dev, se->idx);
|
|
|
+ list_del(&se->list);
|
|
|
+ kfree(se);
|
|
|
+ }
|
|
|
+
|
|
|
kfree(dev);
|
|
|
}
|
|
|
|