linux/drivers/scsi/bnx2fc
Jakub Kicinski af1737dab0 scsi: fcoe: don't recurse on the netdev's ops lock
fcoe_link_speed_update() calls __ethtool_get_link_ksettings() on the
lport's netdev, which will soon take the dev's ops lock. Some notifier
callers already arrive with this lock held. Switch to
netif_get_link_ksettings() and adjust the explicit call sites to take
the netdev lock explicitly.

Within fcoe_device_notification() try to only query the link speed
from notifiers which announce link state change (UP / CHANGE),
DOWN / GOING_DOWN notifiers are slightly sketchy when it comes
to ops locking right now, and the code already special-cases
those by maintaining the local link_possible variable.

Also take the lock in bnx2fc_net_config(), even though I think
that bnx2fc call sites are largely irrelevant since it's not
an ops-locked driver.

Link: https://patch.msgid.link/20260603012840.2254293-11-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-04 14:04:56 -07:00
..
57xx_hsi_bnx2fc.h scsi: Fix various misspellings of "connect" 2019-10-24 21:22:32 -04:00
bnx2fc_constants.h scsi: bnx2fc: Update copyright for 2017. 2017-06-27 21:39:09 -04:00
bnx2fc_debug.c scsi: bnx2fc: Update copyright for 2017. 2017-06-27 21:39:09 -04:00
bnx2fc_debug.h scsi: bnx2fc: Update copyright for 2017. 2017-06-27 21:39:09 -04:00
bnx2fc_els.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
bnx2fc_fcoe.c scsi: fcoe: don't recurse on the netdev's ops lock 2026-06-04 14:04:56 -07:00
bnx2fc_hwi.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
bnx2fc_io.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
bnx2fc_tgt.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bnx2fc.h scsi: Change the return type of the .queuecommand() callback 2026-01-23 21:32:34 -05:00
Kconfig ipv6: convert CONFIG_IPV6 to built-in only and clean up Kconfigs 2026-03-29 11:21:22 -07:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00