OSDN Git Service

wil6210: get rid of begin() and complete() ethtool_ops
authorMichal Kubecek <mkubecek@suse.cz>
Mon, 6 Jan 2020 06:39:31 +0000 (07:39 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jan 2020 21:54:55 +0000 (13:54 -0800)
commita69faa09102bd2138bac5eea9d27dcf196118832
tree6ca0c3f77f037963f29136ef47520aaccc5becc1
parent17aa23ee72342efdc3b214f582399dd22478887f
wil6210: get rid of begin() and complete() ethtool_ops

The wil6210 driver locks a mutex in begin() ethtool_ops callback and
unlocks it in complete() so that all ethtool requests are serialized. This
is not going to work correctly with netlink interface; e.g. when ioctl
triggers a netlink notification, netlink code would call begin() again
while the mutex taken by ioctl code is still held by the same task.

Let's get rid of the begin() and complete() callbacks and move the mutex
locking into the remaining ethtool_ops handlers except get_drvinfo which
only copies strings that are not changing so that there is no need for
serialization.

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/ath/wil6210/ethtool.c