summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2024-05-28 10:46:14 +0300
committerJani Nikula <jani.nikula@intel.com>2024-05-28 12:37:12 +0300
commit3e5fdd7886b71d1050015b2762a7984dfc97cafa (patch)
treef369fbb9a913e203e02fa086ff19879fc8bfcf86
parent5fd49c6d2cd69f6f5ad7e1af3ca4807f2cbe43ba (diff)
Revert "igc: fix a log entry using uninitialized netdev"
This reverts commit 86167183a17e03ec77198897975e9fdfbd53cb0b. The commit moved igc_ptp_init() which initializes spinlocks after igt_reset() which ends up using the adapter->ptp_tx_lock. Lockdep isn't happy: <3>[ 10.648947] INFO: trying to register non-static key. <3>[ 10.648950] The code is fine but needs lockdep annotation, or maybe <3>[ 10.648951] you didn't initialize this object before use? <3>[ 10.648952] turning off the locking correctness validator. <4>[ 10.648954] CPU: 2 PID: 313 Comm: systemd-udevd Not tainted 6.9.0-next-20240513-next-20240513-g6ba6c795dc73+ #1 <4>[ 10.648958] Hardware name: Intel Corporation Arrow Lake Client Platform/MTL-S UDIMM 2DPC EVCRB, BIOS MTLSFWI1.R00.3473.D80.2311222130 11/22/2023 <4>[ 10.648960] Call Trace: <4>[ 10.648962] <TASK> <4>[ 10.648964] dump_stack_lvl+0x82/0xd0 <4>[ 10.648971] register_lock_class+0x795/0x7e0 <4>[ 10.648978] ? __free_object+0xa1/0x340 <4>[ 10.648983] ? lockdep_hardirqs_on+0xc1/0x140 <4>[ 10.648990] __lock_acquire+0x75/0x2260 <4>[ 10.648993] ? __switch_to+0x123/0x600 <4>[ 10.648997] ? _raw_spin_unlock_irqrestore+0x58/0x70 <4>[ 10.649002] lock_acquire+0xd9/0x2f0 <4>[ 10.649006] ? igc_ptp_clear_tx_tstamp+0x28/0x60 [igc] <4>[ 10.649027] _raw_spin_lock_irqsave+0x3d/0x60 <4>[ 10.649030] ? igc_ptp_clear_tx_tstamp+0x28/0x60 [igc] <4>[ 10.649038] igc_ptp_clear_tx_tstamp+0x28/0x60 [igc] <4>[ 10.649048] igc_ptp_set_timestamp_mode.isra.0+0x20b/0x230 [igc] <4>[ 10.649056] igc_ptp_reset+0x31/0x180 [igc] <4>[ 10.649066] igc_reset+0xb4/0x100 [igc] <4>[ 10.649079] igc_probe+0x797/0x8e0 [igc] <4>[ 10.649091] pci_device_probe+0x95/0x120 <4>[ 10.649095] really_probe+0xd9/0x370 <4>[ 10.649099] ? __pfx___driver_attach+0x10/0x10 <4>[ 10.649101] __driver_probe_device+0x73/0x150 <4>[ 10.649103] driver_probe_device+0x19/0xa0 <4>[ 10.649105] __driver_attach+0xb6/0x180 <4>[ 10.649107] ? __pfx___driver_attach+0x10/0x10 <4>[ 10.649109] bus_for_each_dev+0x77/0xd0 <4>[ 10.649114] bus_add_driver+0x110/0x240 <4>[ 10.649117] driver_register+0x5b/0x110 <4>[ 10.649120] ? __pfx_igc_init_module+0x10/0x10 [igc] <4>[ 10.649130] do_one_initcall+0x5c/0x2b0 <4>[ 10.649134] ? kmalloc_trace_noprof+0x22f/0x290 <4>[ 10.649141] ? do_init_module+0x1e/0x210 <4>[ 10.669989] do_init_module+0x5f/0x210 <4>[ 10.669993] load_module+0x1d44/0x1fc0 <4>[ 10.670001] ? init_module_from_file+0x86/0xd0 <4>[ 10.670004] init_module_from_file+0x86/0xd0 <4>[ 10.670009] idempotent_init_module+0x17c/0x230 <4>[ 10.670015] __x64_sys_finit_module+0x56/0xb0 <4>[ 10.670019] do_syscall_64+0x69/0x140 <4>[ 10.670023] entry_SYSCALL_64_after_hwframe+0x76/0x7e <4>[ 10.670027] RIP: 0033:0x7f6d2704595d <4>[ 10.670030] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 03 35 0d 00 f7 d8 64 89 01 48 <4>[ 10.670032] RSP: 002b:00007ffc72aad018 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 <4>[ 10.670036] RAX: ffffffffffffffda RBX: 000055d3f0e69690 RCX: 00007f6d2704595d <4>[ 10.670038] RDX: 0000000000000000 RSI: 00007f6d26f25ded RDI: 0000000000000010 <4>[ 10.670039] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000000 <4>[ 10.670041] R10: 0000000000000010 R11: 0000000000000246 R12: 00007f6d26f25ded <4>[ 10.670042] R13: 0000000000000000 R14: 000055d3f0c64d20 R15: 000055d3f0e69690 <4>[ 10.670046] </TASK> <6>[ 10.672046] pps pps0: new PPS source ptp0 References: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11198 References: https://lore.kernel.org/r/87o78rmkhu.fsf@intel.com Acked-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240528074614.3306301-1-jani.nikula@intel.com
-rw-r--r--drivers/net/ethernet/intel/igc/igc_main.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 12f004f46082..ace2fbfd87d6 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -7028,6 +7028,8 @@ static int igc_probe(struct pci_dev *pdev,
device_set_wakeup_enable(&adapter->pdev->dev,
adapter->flags & IGC_FLAG_WOL_SUPPORTED);
+ igc_ptp_init(adapter);
+
igc_tsn_clear_schedule(adapter);
/* reset the hardware with the new settings */
@@ -7049,9 +7051,6 @@ static int igc_probe(struct pci_dev *pdev,
/* Check if Media Autosense is enabled */
adapter->ei = *ei;
- /* do hw tstamp init after resetting */
- igc_ptp_init(adapter);
-
/* print pcie link status and MAC address */
pcie_print_link_status(pdev);
netdev_info(netdev, "MAC: %pM\n", netdev->dev_addr);