On Thu, 29 Aug 2019 11:27:08 -0700, Shannon Nelson wrote:
> +static void ionic_lif_qcq_deinit(struct ionic_lif *lif, struct ionic_qcq 
> *qcq)
> +{
> +     struct ionic_dev *idev = &lif->ionic->idev;
> +     struct device *dev = lif->ionic->dev;
> +
> +     if (!qcq)
> +             return;
> +
> +     ionic_debugfs_del_qcq(qcq);
> +
> +     if (!(qcq->flags & IONIC_QCQ_F_INITED))
> +             return;
> +
> +     if (qcq->flags & IONIC_QCQ_F_INTR) {
> +             ionic_intr_mask(idev->intr_ctrl, qcq->intr.index,
> +                             IONIC_INTR_MASK_SET);
> +             synchronize_irq(qcq->intr.vector);
> +             devm_free_irq(dev, qcq->intr.vector, &qcq->napi);

Doesn't free_irq() basically imply synchronize_irq()?

> +             netif_napi_del(&qcq->napi);
> +     }
> +
> +     qcq->flags &= ~IONIC_QCQ_F_INITED;

Reply via email to