[core-for-CI PATCH] Revert "igc: fix a log entry using uninitialized netdev"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
---
 drivers/net/ethernet/intel/igc/igc_main.c | 5 ++---
 1 file 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);
-- 
2.39.2




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux