• Michal Kubecek's avatar
    wil6210: get rid of begin() and complete() ethtool_ops · a69faa09
    Michal Kubecek authored
    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: default avatarMichal Kubecek <mkubecek@suse.cz>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a69faa09
ethtool.c 2.57 KB