summaryrefslogtreecommitdiff
path: root/drivers/net/wwan/iosm/iosm_ipc_wwan.c
diff options
context:
space:
mode:
authorSergey Ryazanov <ryazanov.s.a@gmail.com>2021-06-22 01:50:55 +0300
committerDavid S. Miller <davem@davemloft.net>2021-06-22 10:01:16 -0700
commit2f75238014f074daddd79ccc17fa1caf72ff3815 (patch)
tree1d8869f900cd021e9c8efa84a909e062c18b45a5 /drivers/net/wwan/iosm/iosm_ipc_wwan.c
parentf492fccf3d62ba8e8b4d75d3f2ab82af25b18ffa (diff)
downloadlinux-2f75238014f074daddd79ccc17fa1caf72ff3815.tar.gz
linux-2f75238014f074daddd79ccc17fa1caf72ff3815.tar.bz2
linux-2f75238014f074daddd79ccc17fa1caf72ff3815.zip
wwan: core: remove all netdevs on ops unregistering
We use the ops owner module hold to protect against ops memory disappearing. But this approach does not protect us from a driver that unregisters ops but forgets to remove netdev(s) that were created using this ops. In such case, we are left with netdev(s), which can not be removed since ops is gone. Moreover, batch netdevs removing on deinitialization is a desireable option for WWAN drivers as it is a quite common task. Implement deletion of all created links on WWAN netdev ops unregistering in the same way that RTNL removes all links on RTNL ops unregistering. Simply remove all child netdevs of a device whose WWAN netdev ops is unregistering. This way we protecting the kernel from buggy drivers and make it easier to write a driver deinitialization code. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Reviewed-by: Loic Poulain <loic.poulain@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wwan/iosm/iosm_ipc_wwan.c')
0 files changed, 0 insertions, 0 deletions