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
altr_tse_pcs.h
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
descs_com.h
dwmac-anarion.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dwmac-dwc-qos-eth.c
dwmac-generic.c
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
dwmac-mediatek.c
dwmac-meson.c
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
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
dwmac-stm32.c net: ethernet: stmmac: simplify phy modes management for stm32 2020-05-01 15:17:32 -07:00
dwmac-sun8i.c
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
dwmac4_dma.c
dwmac4_dma.h
dwmac4_lib.c
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
dwmac100_core.c
dwmac100_dma.c
dwmac1000.h
dwmac1000_core.c net: stmmac: dwmac1000: provide multicast filter fallback 2020-08-12 13:12:52 -07:00
dwmac1000_dma.c
dwmac_dma.h
dwmac_lib.c
dwxgmac2.h
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
dwxlgmac2.h
enh_desc.c
hwif.c
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
mmc_core.c
norm_desc.c
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
stmmac_pci.c stmmac: intel: Fix clock handling on error and remove paths 2020-04-30 12:50:15 -07:00
stmmac_pcs.h
stmmac_platform.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
stmmac_platform.h
stmmac_ptp.c
stmmac_ptp.h
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