X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fenic%2Fenic_main.c;h=57574a5f7ea7d2129838ef86ad6cbebe91132089;hb=aa2cbd32e9695c0f552ee26653b7867cade5ffb3;hp=dda0afede55f67028a8ec2d27b61a7cacdd592e2;hpb=512d873ff19939a9890f7b4e857bbf76d995db95;p=dpdk.git diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index dda0afede5..57574a5f7e 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -448,6 +448,8 @@ enic_intr_handler(void *arg) enic_link_update(dev); _rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL); enic_log_q_error(enic); + /* Re-enable irq in case of INTx */ + rte_intr_ack(&enic->pdev->intr_handle); } static int enic_rxq_intr_init(struct enic *enic) @@ -1712,11 +1714,14 @@ static int enic_dev_init(struct enic *enic) * When Geneve with options offload is available, always disable it * first as it can interfere with user flow rules. */ - if (enic->geneve_opt_avail && - vnic_dev_overlay_offload_ctrl(enic->vdev, + if (enic->geneve_opt_avail) { + /* + * Disabling fails if the feature is provisioned but + * not enabled. So ignore result and do not log error. + */ + vnic_dev_overlay_offload_ctrl(enic->vdev, OVERLAY_FEATURE_GENEVE, - OVERLAY_OFFLOAD_DISABLE)) { - dev_err(enic, "failed to disable geneve+option\n"); + OVERLAY_OFFLOAD_DISABLE); } enic->overlay_offload = false; if (enic->disable_overlay && enic->vxlan) {