提交 2b0c2e2d 编写于 作者: S Sujith Sankar 提交者: David S. Miller

enic: do notify_check before returning credits

We should complete notify_check before returning the credits. Once we return the
credits, adaptor may access the notify data.
Signed-off-by: NSujith Sankar <ssujith@cisco.com>
Signed-off-by: NGovindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 31639b94
...@@ -272,8 +272,8 @@ static irqreturn_t enic_isr_legacy(int irq, void *data) ...@@ -272,8 +272,8 @@ static irqreturn_t enic_isr_legacy(int irq, void *data)
} }
if (ENIC_TEST_INTR(pba, notify_intr)) { if (ENIC_TEST_INTR(pba, notify_intr)) {
vnic_intr_return_all_credits(&enic->intr[notify_intr]);
enic_notify_check(enic); enic_notify_check(enic);
vnic_intr_return_all_credits(&enic->intr[notify_intr]);
} }
if (ENIC_TEST_INTR(pba, err_intr)) { if (ENIC_TEST_INTR(pba, err_intr)) {
...@@ -346,8 +346,8 @@ static irqreturn_t enic_isr_msix_notify(int irq, void *data) ...@@ -346,8 +346,8 @@ static irqreturn_t enic_isr_msix_notify(int irq, void *data)
struct enic *enic = data; struct enic *enic = data;
unsigned int intr = enic_msix_notify_intr(enic); unsigned int intr = enic_msix_notify_intr(enic);
vnic_intr_return_all_credits(&enic->intr[intr]);
enic_notify_check(enic); enic_notify_check(enic);
vnic_intr_return_all_credits(&enic->intr[intr]);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册