Skip to content

Commit aee024f

Browse files
committed
Merge branch 'ibmvnic-regression'
Juliet Kim says: ==================== Support both XIVE and XICS modes in ibmvnic This series aims to support both XICS and XIVE with avoiding a regression in behavior when a system runs in XICS mode. Patch 1 reverts commit 11d49ce (“net/ibmvnic: Fix EOI when running in XIVE mode.”) Patch 2 Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents a20ee51 + 2df5c60 commit aee024f

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

drivers/net/ethernet/ibm/ibmvnic.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2878,10 +2878,15 @@ static int enable_scrq_irq(struct ibmvnic_adapter *adapter,
28782878

28792879
if (test_bit(0, &adapter->resetting) &&
28802880
adapter->reset_reason == VNIC_RESET_MOBILITY) {
2881-
struct irq_desc *desc = irq_to_desc(scrq->irq);
2882-
struct irq_chip *chip = irq_desc_get_chip(desc);
2881+
u64 val = (0xff000000) | scrq->hw_irq;
28832882

2884-
chip->irq_eoi(&desc->irq_data);
2883+
rc = plpar_hcall_norets(H_EOI, val);
2884+
/* H_EOI would fail with rc = H_FUNCTION when running
2885+
* in XIVE mode which is expected, but not an error.
2886+
*/
2887+
if (rc && (rc != H_FUNCTION))
2888+
dev_err(dev, "H_EOI FAILED irq 0x%llx. rc=%ld\n",
2889+
val, rc);
28852890
}
28862891

28872892
rc = plpar_hcall_norets(H_VIOCTL, adapter->vdev->unit_address,

0 commit comments

Comments
 (0)