From: Pavel Belous Date: Fri, 20 Sep 2019 16:22:05 +0000 (+0000) Subject: net/atlantic: fix reported flow control mode X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c1339892ddfe74703fff1c2c126c68d9e7e17464;p=dpdk.git net/atlantic: fix reported flow control mode Driver reports current flow control mode based on internal flow control settings. Currently this logic works incorrectly. Fixes: 921eb6b8ce31 ("net/atlantic: fix flow control by sync settings on Rx") Cc: stable@dpdk.org Signed-off-by: Pavel Belous Signed-off-by: Igor Russkikh --- diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c index 8dafaba1e0..d5c2ec594a 100644 --- a/drivers/net/atlantic/atl_ethdev.c +++ b/drivers/net/atlantic/atl_ethdev.c @@ -1544,11 +1544,11 @@ atl_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) if (fc == AQ_NIC_FC_OFF) fc_conf->mode = RTE_FC_NONE; - else if (fc & (AQ_NIC_FC_RX | AQ_NIC_FC_TX)) + else if ((fc & AQ_NIC_FC_RX) && (fc & AQ_NIC_FC_TX)) fc_conf->mode = RTE_FC_FULL; else if (fc & AQ_NIC_FC_RX) fc_conf->mode = RTE_FC_RX_PAUSE; - else if (fc & AQ_NIC_FC_RX) + else if (fc & AQ_NIC_FC_TX) fc_conf->mode = RTE_FC_TX_PAUSE; return 0;