@@ -984,17 +984,19 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
984984 if (!plat -> est )
985985 return - ENOMEM ;
986986
987- mutex_init (& priv -> plat -> est -> lock );
987+ mutex_init (& priv -> est_lock );
988988 } else {
989+ mutex_lock (& priv -> est_lock );
989990 memset (plat -> est , 0 , sizeof (* plat -> est ));
991+ mutex_unlock (& priv -> est_lock );
990992 }
991993
992994 size = qopt -> num_entries ;
993995
994- mutex_lock (& priv -> plat -> est -> lock );
996+ mutex_lock (& priv -> est_lock );
995997 priv -> plat -> est -> gcl_size = size ;
996998 priv -> plat -> est -> enable = qopt -> cmd == TAPRIO_CMD_REPLACE ;
997- mutex_unlock (& priv -> plat -> est -> lock );
999+ mutex_unlock (& priv -> est_lock );
9981000
9991001 for (i = 0 ; i < size ; i ++ ) {
10001002 s64 delta_ns = qopt -> entries [i ].interval ;
@@ -1025,7 +1027,7 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
10251027 priv -> plat -> est -> gcl [i ] = delta_ns | (gates << wid );
10261028 }
10271029
1028- mutex_lock (& priv -> plat -> est -> lock );
1030+ mutex_lock (& priv -> est_lock );
10291031 /* Adjust for real system time */
10301032 priv -> ptp_clock_ops .gettime64 (& priv -> ptp_clock_ops , & current_time );
10311033 current_time_ns = timespec64_to_ktime (current_time );
@@ -1044,7 +1046,7 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
10441046 priv -> plat -> est -> ctr [1 ] = (u32 )ctr ;
10451047
10461048 if (fpe && !priv -> dma_cap .fpesel ) {
1047- mutex_unlock (& priv -> plat -> est -> lock );
1049+ mutex_unlock (& priv -> est_lock );
10481050 return - EOPNOTSUPP ;
10491051 }
10501052
@@ -1055,7 +1057,7 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
10551057
10561058 ret = stmmac_est_configure (priv , priv -> ioaddr , priv -> plat -> est ,
10571059 priv -> plat -> clk_ptp_rate );
1058- mutex_unlock (& priv -> plat -> est -> lock );
1060+ mutex_unlock (& priv -> est_lock );
10591061 if (ret ) {
10601062 netdev_err (priv -> dev , "failed to configure EST\n" );
10611063 goto disable ;
@@ -1072,11 +1074,11 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
10721074
10731075disable :
10741076 if (priv -> plat -> est ) {
1075- mutex_lock (& priv -> plat -> est -> lock );
1077+ mutex_lock (& priv -> est_lock );
10761078 priv -> plat -> est -> enable = false;
10771079 stmmac_est_configure (priv , priv -> ioaddr , priv -> plat -> est ,
10781080 priv -> plat -> clk_ptp_rate );
1079- mutex_unlock (& priv -> plat -> est -> lock );
1081+ mutex_unlock (& priv -> est_lock );
10801082 }
10811083
10821084 priv -> plat -> fpe_cfg -> enable = false;
0 commit comments