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:42:36 +0000 (12:42 +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 0e19b4d02e628ac6afecbc9a1fc19616e4cb4a80..0a96627391a8c0f554231cf73326af30cb02bda9 100644 (file)
@@ -5466,6 +5466,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;
@@ -5509,6 +5512,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;