Patch "igc: Handle already enabled taprio offload for basetime 0" has been added to the 6.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    igc: Handle already enabled taprio offload for basetime 0

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     igc-handle-already-enabled-taprio-offload-for-baseti.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5b7662266cd1b15b3162ed4f1c1bf7509118f885
Author: Florian Kauer <florian.kauer@xxxxxxxxxxxxx>
Date:   Wed Jun 14 16:07:11 2023 +0200

    igc: Handle already enabled taprio offload for basetime 0
    
    [ Upstream commit e5d88c53d03f8df864776431175d08c053645f50 ]
    
    Since commit e17090eb2494 ("igc: allow BaseTime 0 enrollment for Qbv")
    it is possible to enable taprio offload with a basetime of 0.
    However, the check if taprio offload is already enabled (and thus -EALREADY
    should be returned for igc_save_qbv_schedule) still relied on
    adapter->base_time > 0.
    
    This can be reproduced as follows:
    
        # TAPRIO offload (flags == 0x2) and base-time = 0
        sudo tc qdisc replace dev enp1s0 parent root handle 100 stab overhead 24 taprio \
                num_tc 1 \
                map 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
                queues 1@0 \
                base-time 0 \
                sched-entry S 01 300000 \
                flags 0x2
    
        # The second call should fail with "Error: Device failed to setup taprio offload."
        # But that only happens if base-time was != 0
        sudo tc qdisc replace dev enp1s0 parent root handle 100 stab overhead 24 taprio \
                num_tc 1 \
                map 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
                queues 1@0 \
                base-time 0 \
                sched-entry S 01 300000 \
                flags 0x2
    
    Fixes: e17090eb2494 ("igc: allow BaseTime 0 enrollment for Qbv")
    Signed-off-by: Florian Kauer <florian.kauer@xxxxxxxxxxxxx>
    Reviewed-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx>
    Tested-by: Naama Meir <naamax.meir@xxxxxxxxxxxxxxx>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index f051ca733af1b..97eb3c390de9a 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -6127,7 +6127,7 @@ static int igc_save_qbv_schedule(struct igc_adapter *adapter,
 	if (qopt->base_time < 0)
 		return -ERANGE;
 
-	if (igc_is_device_id_i225(hw) && adapter->base_time)
+	if (igc_is_device_id_i225(hw) && adapter->taprio_offload_enable)
 		return -EALREADY;
 
 	if (!validate_schedule(adapter, qopt))



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux