Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b622918 authored by Michal Kalderon's avatar Michal Kalderon Committed by David S. Miller
Browse files

bnx2x: Clean before update RSS arrives



When a PF receives a VF message indicating a change in RSS properties
it should clean the flags' bit-fields; Otherwise, it's possible that
some random values will be considered as flags by the lower layers configuring
the RSS in FW.

Signed-off-by: default avatarMichal Kalderon <michals@broadcom.com>
Signed-off-by: default avatarYuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: default avatarAriel Elior <ariele@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 89e18ae6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4382,8 +4382,11 @@ int bnx2x_config_rss(struct bnx2x *bp,
	struct bnx2x_raw_obj *r = &o->raw;

	/* Do nothing if only driver cleanup was requested */
	if (test_bit(RAMROD_DRV_CLR_ONLY, &p->ramrod_flags))
	if (test_bit(RAMROD_DRV_CLR_ONLY, &p->ramrod_flags)) {
		DP(BNX2X_MSG_SP, "Not configuring RSS ramrod_flags=%lx\n",
		   p->ramrod_flags);
		return 0;
	}

	r->set_pending(r);

+3 −0
Original line number Diff line number Diff line
@@ -1805,6 +1805,9 @@ static void bnx2x_vf_mbx_update_rss(struct bnx2x *bp, struct bnx2x_virtf *vf,
	vf_op_params->rss_result_mask = rss_tlv->rss_result_mask;

	/* flags handled individually for backward/forward compatability */
	vf_op_params->rss_flags = 0;
	vf_op_params->ramrod_flags = 0;

	if (rss_tlv->rss_flags & VFPF_RSS_MODE_DISABLED)
		__set_bit(BNX2X_RSS_MODE_DISABLED, &vf_op_params->rss_flags);
	if (rss_tlv->rss_flags & VFPF_RSS_MODE_REGULAR)