The timeslots checked in qmc_check_chans() are the timeslots used.
With the introduction of the available timeslots, the used timeslots
are a subset of the available timeslots. The timeslots checked during
the qmc_check_chans() call should be the available ones.

Simply update and check the available timeslots instead of the used
timeslots in qmc_check_chans().

Signed-off-by: Herve Codina <herve.cod...@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.le...@csgroup.eu>
Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
---
 drivers/soc/fsl/qe/qmc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c
index 1189e6076e37..269d10cd3c7a 100644
--- a/drivers/soc/fsl/qe/qmc.c
+++ b/drivers/soc/fsl/qe/qmc.c
@@ -914,13 +914,13 @@ static int qmc_check_chans(struct qmc *qmc)
        rx_ts_assigned_mask = info.nb_rx_ts == 64 ? U64_MAX : (((u64)1) << 
info.nb_rx_ts) - 1;
 
        list_for_each_entry(chan, &qmc->chan_head, list) {
-               if (chan->tx_ts_mask > tx_ts_assigned_mask) {
-                       dev_err(qmc->dev, "chan %u uses TSA unassigned Tx 
TS\n", chan->id);
+               if (chan->tx_ts_mask_avail > tx_ts_assigned_mask) {
+                       dev_err(qmc->dev, "chan %u can use TSA unassigned Tx 
TS\n", chan->id);
                        return -EINVAL;
                }
 
-               if (chan->rx_ts_mask > rx_ts_assigned_mask) {
-                       dev_err(qmc->dev, "chan %u uses TSA unassigned Rx 
TS\n", chan->id);
+               if (chan->rx_ts_mask_avail > rx_ts_assigned_mask) {
+                       dev_err(qmc->dev, "chan %u can use TSA unassigned Rx 
TS\n", chan->id);
                        return -EINVAL;
                }
        }
-- 
2.41.0

Reply via email to