mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-15 06:27:04 -04:00
net: mscc: ocelot: extend ocelot->fwd_domain_lock to cover ocelot->tas_lock
In a future commit we will have to call vsc9959_tas_guard_bands_update()
from ocelot_port_update_active_preemptible_tcs(), and that will be
impossible due to the AB/BA locking dependencies between
ocelot->tas_lock and ocelot->fwd_domain_lock.
Just like we did in commit 3ff468ef98 ("net: mscc: ocelot: remove
struct ocelot_mm_state :: lock"), the only solution is to expand the
scope of ocelot->fwd_domain_lock for it to also serialize changes made
to the Time-Aware Shaper, because those will have to result in a
recalculation of cut-through TCs, which is something that depends on the
forwarding domain.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Message-ID: <20230705104422.49025-2-vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
ceb20a3cc5
commit
009d30f1a7
@@ -863,12 +863,12 @@ struct ocelot {
|
||||
struct mutex stat_view_lock;
|
||||
/* Lock for serializing access to the MAC table */
|
||||
struct mutex mact_lock;
|
||||
/* Lock for serializing forwarding domain changes */
|
||||
/* Lock for serializing forwarding domain changes, including the
|
||||
* configuration of the Time-Aware Shaper, MAC Merge layer and
|
||||
* cut-through forwarding, on which it depends
|
||||
*/
|
||||
struct mutex fwd_domain_lock;
|
||||
|
||||
/* Lock for serializing Time-Aware Shaper changes */
|
||||
struct mutex tas_lock;
|
||||
|
||||
struct workqueue_struct *owq;
|
||||
|
||||
u8 ptp:1;
|
||||
|
||||
Reference in New Issue
Block a user