mlx4: remove provision for flow creation failure in DMFS A0 mode

Starting from MLNX_OFED 3.0 FW 2.34.5000 when working with optimized
steering mode (-7) QPs can be attached to the port's MAC, therefore no need
for the check.

Signed-off-by: Or Ami <ora@mellanox.com>
Signed-off-by: Olga Shern <olgas@mellanox.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
Or Ami 2015-06-30 11:27:56 +02:00 committed by Thomas Monjalon
parent 0ab6626beb
commit 2d402df262

View File

@ -272,7 +272,6 @@ struct priv {
uint8_t port; /* Physical port number. */
unsigned int started:1; /* Device started, flows enabled. */
unsigned int promisc:1; /* Device in promiscuous mode. */
unsigned int promisc_ok:1; /* Promiscuous flow is supported. */
unsigned int allmulti:1; /* Device receives all multicast packets. */
unsigned int hw_qpg:1; /* QP groups are supported. */
unsigned int hw_tss:1; /* TSS is supported. */
@ -1983,25 +1982,6 @@ rxq_mac_addr_add(struct rxq *rxq, unsigned int mac_index)
errno = 0;
flow = ibv_create_flow(rxq->qp, attr);
if (flow == NULL) {
int err = errno;
/* Flow creation failure is not fatal when in DMFS A0 mode.
* Ignore error if promiscuity is already enabled or can be
* enabled. */
if (priv->promisc_ok)
return 0;
if ((rxq->promisc_flow != NULL) ||
(rxq_promiscuous_enable(rxq) == 0)) {
if (rxq->promisc_flow != NULL)
rxq_promiscuous_disable(rxq);
WARN("cannot configure normal flow but promiscuous"
" mode is fine, assuming promiscuous optimization"
" is enabled"
" (options mlx4_core log_num_mgm_entry_size=-7)");
priv->promisc_ok = 1;
return 0;
}
errno = err;
/* It's not clear whether errno is always set in this case. */
ERROR("%p: flow configuration failed, errno=%d: %s",
(void *)rxq, errno,