]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qed: Correct default VF coalescing configuration
authorMintz, Yuval <Yuval.Mintz@cavium.com>
Sun, 19 Mar 2017 11:08:15 +0000 (13:08 +0200)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 26 Jul 2017 03:46:46 +0000 (20:46 -0700)
Orabug: 2593305326439680

When starting the VF's vport, the PF would first configure
the status blocks of the VF and then reset them.
That would cause some of the configured information to be lost -
specifically it would mean that all the VFs queues would use
the Rx coalescing state-machine of the status block.

Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/qlogic/qed/qed_sriov.c

index e9d534af224f51a96cb34ce9c37806b2167033b9..486a1c06a27ed2563265bdc8073dee4a770b4636 100644 (file)
@@ -1752,6 +1752,8 @@ static void qed_iov_vf_mbx_start_vport(struct qed_hwfn *p_hwfn,
        vf->state = VF_ENABLED;
        start = &mbx->req_virt->start_vport;
 
+       qed_iov_enable_vf_traffic(p_hwfn, p_ptt, vf);
+
        /* Initialize Status block in CAU */
        for (sb_id = 0; sb_id < vf->num_sbs; sb_id++) {
                if (!start->sb_addr[sb_id]) {
@@ -1765,7 +1767,6 @@ static void qed_iov_vf_mbx_start_vport(struct qed_hwfn *p_hwfn,
                                    start->sb_addr[sb_id],
                                    vf->igu_sbs[sb_id], vf->abs_vf_id, 1);
        }
-       qed_iov_enable_vf_traffic(p_hwfn, p_ptt, vf);
 
        vf->mtu = start->mtu;
        vf->shadow_config.inner_vlan_removal = start->inner_vlan_removal;