diff options
author | 2025-05-21 15:09:00 +0300 | |
---|---|---|
committer | 2025-05-22 09:15:04 -0700 | |
commit | fd07ba1680ba3c82d6a19a5c8c02af0a42045674 (patch) | |
tree | da5e2d0432844299cf9d5ee1b781e335559c31d9 /scripts/gdb/linux/utils.py | |
parent | IB/IPoIB: Replace vlan_rwsem with the netdev instance lock (diff) | |
download | wireguard-linux-fd07ba1680ba3c82d6a19a5c8c02af0a42045674.tar.xz wireguard-linux-fd07ba1680ba3c82d6a19a5c8c02af0a42045674.zip |
IB/IPoIB: Allow using netdevs that require the instance lock
After the last patch removing vlan_rwsem, it is an incremental step to
allow ipoib to work with netdevs that require the instance lock.
In several places, netdev_lock() is changed to netdev_lock_ops_to_full()
which takes care of not acquiring the lock again when the netdev is
already locked.
In ipoib_ib_tx_timeout_work() and __ipoib_ib_dev_flush() for HEAVY
flushes, the netdev lock is acquired/released. This is needed because
these functions end up calling .ndo_stop()/.ndo_open() on subinterfaces,
and the device may expect the netdev instance lock to be held.
ipoib_set_mode() now explicitly acquires ops lock while manipulating the
features, mtu and tx queues.
Finally, ipoib_napi_enable()/ipoib_napi_disable() now use the *_locked
variants of the napi_enable()/napi_disable() calls and optionally
acquire the netdev lock themselves depending on the dev they operate on.
Signed-off-by: Cosmin Ratiu <cratiu@nvidia.com>
Reviewed-by: Carolina Jubran <cjubran@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1747829342-1018757-4-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions