igc: Fix TX timestamp support for non-MSI-X platforms
authorJames McLaughlin <james.mclaughlin@qsc.com>
Fri, 17 Dec 2021 23:49:33 +0000 (16:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jan 2022 11:40:31 +0000 (12:40 +0100)
[ Upstream commit f85846bbf43de38fb2c89fe7d2a085608c4eb25a ]

Time synchronization was not properly enabled on non-MSI-X platforms.

Fixes: 2c344ae24501 ("igc: Add support for TX timestamping")
Signed-off-by: James McLaughlin <james.mclaughlin@qsc.com>
Reviewed-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Nechama Kraus <nechamax.kraus@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/igc/igc_main.c

index cae090a072524268b98329c68686bf817398f6a7..61cebb7df6bcbb60bc055f2c8e40c140a5274ad8 100644 (file)
@@ -4422,6 +4422,9 @@ static irqreturn_t igc_intr_msi(int irq, void *data)
                        mod_timer(&adapter->watchdog_timer, jiffies + 1);
        }
 
+       if (icr & IGC_ICR_TS)
+               igc_tsync_interrupt(adapter);
+
        napi_schedule(&q_vector->napi);
 
        return IRQ_HANDLED;
@@ -4465,6 +4468,9 @@ static irqreturn_t igc_intr(int irq, void *data)
                        mod_timer(&adapter->watchdog_timer, jiffies + 1);
        }
 
+       if (icr & IGC_ICR_TS)
+               igc_tsync_interrupt(adapter);
+
        napi_schedule(&q_vector->napi);
 
        return IRQ_HANDLED;