• Vladimir Oltean's avatar
    net: enetc: request mqprio to validate the queue counts · 735ef62c
    Vladimir Oltean authored
    The enetc driver does not validate the mqprio queue configuration, so it
    currently allows things like this:
    
    $ tc qdisc add dev swp0 root handle 1: mqprio num_tc 8 \
    	map 0 1 2 3 4 5 6 7 queues 3@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 hw 1
    
    But also things like this, completely omitting the queue configuration:
    
    $ tc qdisc add dev eno0 root handle 1: mqprio num_tc 8 \
    	map 0 1 2 3 4 5 6 7 hw 1
    
    By requesting validation via the mqprio capability structure, this is no
    longer allowed, and we bring what is accepted by hardware in line with
    what is accepted by software.
    
    The check that num_tc <= real_num_tx_queues also becomes superfluous and
    can be dropped, because mqprio_validate_queue_counts() validates that no
    TXQ range exceeds real_num_tx_queues. That is a stronger check, because
    there is at least 1 TXQ per TC, so there are at least as many TXQs as TCs.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    735ef62c
enetc_qos.c 37.4 KB