Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01a03099 authored by Karicheri, Muralidharan's avatar Karicheri, Muralidharan Committed by David S. Miller
Browse files

net: netcp: fix cleanup interface list in netcp_remove()



Currently if user do rmmod keystone_netcp.ko following warning is
seen :-

[   59.035891] ------------[ cut here ]------------
[   59.040535] WARNING: CPU: 2 PID: 1619 at drivers/net/ethernet/ti/
netcp_core.c:2127 netcp_remove)

This is because the interface list is not cleaned up in netcp_remove.
This patch fixes this. Also fix some checkpatch related warnings.

Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2482abb9
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -2112,6 +2112,7 @@ static int netcp_probe(struct platform_device *pdev)
static int netcp_remove(struct platform_device *pdev)
{
	struct netcp_device *netcp_device = platform_get_drvdata(pdev);
	struct netcp_intf *netcp_intf, *netcp_tmp;
	struct netcp_inst_modpriv *inst_modpriv, *tmp;
	struct netcp_module *module;

@@ -2123,8 +2124,16 @@ static int netcp_remove(struct platform_device *pdev)
		list_del(&inst_modpriv->inst_list);
		kfree(inst_modpriv);
	}
	WARN(!list_empty(&netcp_device->interface_head), "%s interface list not empty!\n",
	     pdev->name);

	/* now that all modules are removed, clean up the interfaces */
	list_for_each_entry_safe(netcp_intf, netcp_tmp,
				 &netcp_device->interface_head,
				 interface_list) {
		netcp_delete_interface(netcp_device, netcp_intf->ndev);
	}

	WARN(!list_empty(&netcp_device->interface_head),
	     "%s interface list not empty!\n", pdev->name);

	devm_kfree(&pdev->dev, netcp_device);
	pm_runtime_put_sync(&pdev->dev);