diff options
author | Jani Nikula <jani.nikula@intel.com> | 2024-05-28 10:46:14 +0300 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2024-05-28 12:37:12 +0300 |
commit | 3e5fdd7886b71d1050015b2762a7984dfc97cafa (patch) | |
tree | f369fbb9a913e203e02fa086ff19879fc8bfcf86 | |
parent | 5fd49c6d2cd69f6f5ad7e1af3ca4807f2cbe43ba (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.c | 5 |
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); |