1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/stmicro/stmmac
Marek Szyprowski 2b94f5266c net: stmmac: Fix channel lock initialization
Commit 0366f7e06a ("net: stmmac: add ethtool support for get/set
channels") refactored channel initialization, but during that operation,
the spinlock initialization got lost. Fix this. This fixes the following
lockdep warning:

meson8b-dwmac ff3f0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 1 PID: 331 Comm: kworker/1:2H Not tainted 5.9.0-rc3+ #1858
Hardware name: Hardkernel ODROID-N2 (DT)
Workqueue: kblockd blk_mq_run_work_fn
Call trace:
 dump_backtrace+0x0/0x1d0
 show_stack+0x14/0x20
 dump_stack+0xe8/0x154
 register_lock_class+0x58c/0x590
 __lock_acquire+0x7c/0x1790
 lock_acquire+0xf4/0x440
 _raw_spin_lock_irqsave+0x80/0xb0
 stmmac_tx_timer+0x4c/0xb0 [stmmac]
 call_timer_fn+0xc4/0x3e8
 run_timer_softirq+0x2b8/0x6c0
 efi_header_end+0x114/0x5f8
 irq_exit+0x104/0x110
 __handle_domain_irq+0x60/0xb8
 gic_handle_irq+0x58/0xb0
 el1_irq+0xbc/0x180
 _raw_spin_unlock_irqrestore+0x48/0x90
 mmc_blk_rw_wait+0x70/0x160
 mmc_blk_mq_issue_rq+0x510/0x830
 mmc_mq_queue_rq+0x13c/0x278
 blk_mq_dispatch_rq_list+0x2a0/0x698
 __blk_mq_do_dispatch_sched+0x254/0x288
 __blk_mq_sched_dispatch_requests+0x190/0x1d8
 blk_mq_sched_dispatch_requests+0x34/0x70
 __blk_mq_run_hw_queue+0xcc/0x148
 blk_mq_run_work_fn+0x20/0x28
 process_one_work+0x2a8/0x718
 worker_thread+0x48/0x460
 kthread+0x134/0x160
 ret_from_fork+0x10/0x1c

Fixes: 0366f7e06a ("net: stmmac: add ethtool support for get/set channels")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201029185011.4749-1-m.szyprowski@samsung.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-30 09:51:40 -07:00
..
altr_tse_pcs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
altr_tse_pcs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
chain_mode.c net: stmmac: Add support to Ethtool get/set ring parameters 2020-09-16 15:22:52 -07:00
common.h net: stmmac: Add option for VLAN filter fail queue enable 2020-09-25 16:48:33 -07:00
descs.h net: stmmac: Initial support for TBS 2020-01-13 18:31:48 -08:00
descs_com.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwmac-anarion.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dwmac-dwc-qos-eth.c net: stmmac: dwc-qos: avoid clk and reset for acpi device 2019-12-17 13:55:23 -08:00
dwmac-generic.c net: stmmac: Add the bindings parsing for XGMAC2 2018-08-09 11:16:28 -07:00
dwmac-imx.c net: ethernet: dwmac: remove redundant null check before clk_disable_unprepare() 2020-09-07 13:34:51 -07:00
dwmac-intel-plat.c stmmac: intel: Adding ref clock 1us tic for LPI cntr 2020-09-28 18:43:57 -07:00
dwmac-intel.c stmmac: intel: Fix kernel panic on pci probe 2020-10-30 09:48:06 -07:00
dwmac-intel.h net: stmmac: Enable SERDES power up/down sequence 2020-04-21 15:54:45 -07:00
dwmac-ipq806x.c net: ethernet: stmmac: Disable hardware multicast filter 2020-08-12 13:12:52 -07:00
dwmac-lpc18xx.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
dwmac-mediatek.c net-next: stmmac: mediatek: add more support for RMII 2019-12-17 13:48:30 -08:00
dwmac-meson.c net: stmmac: dwmac-meson: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:52:33 -07:00
dwmac-meson8b.c net: stmmac: dwmac-meson8b: use clk_parent_data for clock registration 2020-06-26 12:17:29 -07:00
dwmac-oxnas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446 2019-06-05 17:37:18 +02:00
dwmac-qcom-ethqos.c net: stmmac: fix num_por initialization 2020-05-14 12:48:15 -07:00
dwmac-rk.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
dwmac-socfpga.c net: stmmac: fix enabling socfpga's ptp_ref_clock 2020-04-18 15:02:18 -07:00
dwmac-sti.c net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
dwmac-stm32.c net: ethernet: stmmac: simplify phy modes management for stm32 2020-05-01 15:17:32 -07:00
dwmac-sun8i.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
dwmac-sunxi.c net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes 2020-04-16 13:47:53 -07:00
dwmac4.h net: stmmac: Add option for VLAN filter fail queue enable 2020-09-25 16:48:33 -07:00
dwmac4_core.c net: stmmac: Add option for VLAN filter fail queue enable 2020-09-25 16:48:33 -07:00
dwmac4_descs.c net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return 2020-09-11 14:37:34 -07:00
dwmac4_descs.h net: stmmac: gmac4+: Add TBS support 2020-01-13 18:31:48 -08:00
dwmac4_dma.c net: stmmac: gmac4+: Add TBS support 2020-01-13 18:31:48 -08:00
dwmac4_dma.h net: stmmac: gmac4+: Add TBS support 2020-01-13 18:31:48 -08:00
dwmac4_lib.c net: stmmac: use readl_poll_timeout() function in dwmac4_dma_reset() 2020-03-16 02:10:09 -07:00
dwmac5.c net: stmmac: gmac5+: fix potential integer overflow on 32 bit multiply 2020-05-04 11:57:21 -07:00
dwmac5.h net: stmmac: Add option for VLAN filter fail queue enable 2020-09-25 16:48:33 -07:00
dwmac100.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
dwmac100_core.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac100_dma.c net: stmmac: Fix descriptors address being in > 32 bits address space 2019-07-09 12:20:08 -07:00
dwmac1000.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
dwmac1000_core.c net: stmmac: dwmac1000: provide multicast filter fallback 2020-08-12 13:12:52 -07:00
dwmac1000_dma.c net: stmmac: Fix descriptors address being in > 32 bits address space 2019-07-09 12:20:08 -07:00
dwmac_dma.h net: stmmac: Let TX and RX interrupts be independently enabled/disabled 2019-12-18 12:14:08 -08:00
dwmac_lib.c net: stmmac: dwmac_lib: remove unnecessary checks in dwmac_dma_reset() 2020-03-19 21:05:27 -07:00
dwxgmac2.h net: stmmac: xgmac: Add TBS support 2020-01-13 18:31:48 -08:00
dwxgmac2_core.c net: stmmac: xgmac: Fix VLAN register handling 2020-04-02 07:04:45 -07:00
dwxgmac2_descs.c net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return 2020-09-11 14:37:34 -07:00
dwxgmac2_dma.c net: stmmac: xgmac: Add TBS support 2020-01-13 18:31:48 -08:00
dwxlgmac2.h net: stmmac: Add support for Enterprise MAC version 2020-03-17 21:37:25 -07:00
enh_desc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
hwif.c net: stmmac: Add support for Enterprise MAC version 2020-03-17 21:37:25 -07:00
hwif.h net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return 2020-09-11 14:37:34 -07:00
Kconfig net: pcs: Move XPCS into new PCS subdirectory 2020-08-27 06:55:50 -07:00
Makefile net: stmmac: Add dwmac-intel-plat for GBE driver 2020-08-26 15:52:30 -07:00
mmc.h net: stmmac: xgmac: Implement MMC counters 2019-08-08 22:20:18 -07:00
mmc_core.c net: stmmac: mmc: Add Frame Preemption counters on GMAC5+ cores 2019-12-18 12:17:11 -08:00
norm_desc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
ring_mode.c net: stmmac: Add support to Ethtool get/set ring parameters 2020-09-16 15:22:52 -07:00
stmmac.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-10-05 18:40:01 -07:00
stmmac_ethtool.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-10-05 18:40:01 -07:00
stmmac_hwtstamp.c net: stmmac: Fix sub-second increment 2020-04-18 15:02:18 -07:00
stmmac_main.c net: stmmac: Fix channel lock initialization 2020-10-30 09:51:40 -07:00
stmmac_mdio.c net: stmmac: Integrate it with DesignWare XPCS 2020-03-09 20:13:16 -07:00
stmmac_pci.c stmmac: intel: Fix clock handling on error and remove paths 2020-04-30 12:50:15 -07:00
stmmac_pcs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
stmmac_platform.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
stmmac_platform.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
stmmac_ptp.c net: reject PTP periodic output requests with unsupported flags 2019-11-15 12:48:32 -08:00
stmmac_ptp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
stmmac_selftests.c net: stmmac: Add support to Ethtool get/set ring parameters 2020-09-16 15:22:52 -07:00
stmmac_tc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00