Scott Wood
4c950c8bb3
fpga: dfl: Add lockdep classes for pdata->lock
[ Upstream commit dfe3de8d397bf878b31864d4e489d41118ec475f ]
struct dfl_feature_platform_data (and it's mutex) is used
by both fme and port devices, and when lockdep is enabled it
complains about nesting between these locks. Tell lockdep about
the difference so it can track each class separately.
Here's the lockdep complaint:
[ 409.680668] WARNING: possible recursive locking detected
[ 409.685983] 5.1.0-rc3.fpga+ #1 Tainted: G E
[ 409.691469] --------------------------------------------
[ 409.696779] fpgaconf/9348 is trying to acquire lock:
[ 409.701746] 00000000a443fe2e (&pdata->lock){+.+.}, at: port_enable_set+0x24/0x60 [dfl_afu]
[ 409.710006]
[ 409.710006] but task is already holding lock:
[ 409.715837] 0000000063b78782 (&pdata->lock){+.+.}, at: fme_pr_ioctl+0x21d/0x330 [dfl_fme]
[ 409.724012]
[ 409.724012] other info that might help us debug this:
[ 409.730535] Possible unsafe locking scenario:
[ 409.730535]
[ 409.736457] CPU0
[ 409.738910] ----
[ 409.741360] lock(&pdata->lock);
[ 409.744679] lock(&pdata->lock);
[ 409.747999]
[ 409.747999] *** DEADLOCK ***
[ 409.747999]
[ 409.753920] May be due to missing lock nesting notation
[ 409.753920]
[ 409.760704] 4 locks held by fpgaconf/9348:
[ 409.764805] #0: 0000000063b78782 (&pdata->lock){+.+.}, at: fme_pr_ioctl+0x21d/0x330 [dfl_fme]
[ 409.773408] #1: 00000000213c8a66 (®ion->mutex){+.+.}, at: fpga_region_program_fpga+0x24/0x200 [fpga_region]
[ 409.783489] #2: 00000000fe63afb9 (&mgr->ref_mutex){+.+.}, at: fpga_mgr_lock+0x15/0x40 [fpga_mgr]
[ 409.792354] #3: 000000000b2285c5 (&bridge->mutex){+.+.}, at: __fpga_bridge_get+0x26/0xa0 [fpga_bridge]
[ 409.801740]
[ 409.801740] stack backtrace:
[ 409.806102] CPU: 45 PID: 9348 Comm: fpgaconf Kdump: loaded Tainted: G E 5.1.0-rc3.fpga+ #1
[ 409.815658] Hardware name: Intel Corporation S2600BT/S2600BT, BIOS SE5C620.86B.01.00.0763.022420181017 02/24/2018
[ 409.825911] Call Trace:
[ 409.828369] dump_stack+0x5e/0x8b
[ 409.831686] __lock_acquire+0xf3d/0x10e0
[ 409.835612] ? find_held_lock+0x3c/0xa0
[ 409.839451] lock_acquire+0xbc/0x1d0
[ 409.843030] ? port_enable_set+0x24/0x60 [dfl_afu]
[ 409.847823] ? port_enable_set+0x24/0x60 [dfl_afu]
[ 409.852616] __mutex_lock+0x86/0x970
[ 409.856195] ? port_enable_set+0x24/0x60 [dfl_afu]
[ 409.860989] ? port_enable_set+0x24/0x60 [dfl_afu]
[ 409.865777] ? __mutex_unlock_slowpath+0x4b/0x290
[ 409.870486] port_enable_set+0x24/0x60 [dfl_afu]
[ 409.875106] fpga_bridges_disable+0x36/0x50 [fpga_bridge]
[ 409.880502] fpga_region_program_fpga+0xea/0x200 [fpga_region]
[ 409.886338] fme_pr_ioctl+0x13e/0x330 [dfl_fme]
[ 409.890870] fme_ioctl+0x66/0xe0 [dfl_fme]
[ 409.894973] do_vfs_ioctl+0xa9/0x720
[ 409.898548] ? lockdep_hardirqs_on+0xf0/0x1a0
[ 409.902907] ksys_ioctl+0x60/0x90
[ 409.906225] __x64_sys_ioctl+0x16/0x20
[ 409.909981] do_syscall_64+0x5a/0x220
[ 409.913644] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 409.918698] RIP: 0033:0x7f9d31b9b8d7
[ 409.922276] Code: 44 00 00 48 8b 05 b9 15 2d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 89 15 2d 00 f7 d8 64 89 01 48
[ 409.941020] RSP: 002b:00007ffe4cae0d68 EFLAGS: 00000202 ORIG_RAX: 0000000000000010
[ 409.948588] RAX: ffffffffffffffda RBX: 00007f9d32ade6a0 RCX: 00007f9d31b9b8d7
[ 409.955719] RDX: 00007ffe4cae0df0 RSI: 000000000000b680 RDI: 0000000000000003
[ 409.962852] RBP: 0000000000000003 R08: 00007f9d2b70a177 R09: 00007ffe4cae0e40
[ 409.969984] R10: 00007ffe4cae0160 R11: 0000000000000202 R12: 00007ffe4cae0df0
[ 409.977115] R13: 000000000000b680 R14: 0000000000000000 R15: 00007ffe4cae0f60
Signed-off-by: Scott Wood <swood@redhat.com>
Acked-by: Wu Hao <hao.wu@intel.com>
Acked-by: Alan Tull <atull@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
2019-06-25 11:35:55 +08:00 |
| .. |
|
accessibility
|
|
|
|
acpi
|
ACPI/PCI: PM: Add missing wakeup.flags.valid checks
|
2019-06-22 08:15:17 +02:00 |
|
amba
|
|
|
|
android
|
binder: fix race between munmap() and direct reclaim
|
2019-06-09 09:17:23 +02:00 |
|
ata
|
libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk
|
2019-06-19 08:17:59 +02:00 |
|
atm
|
atm: he: fix sign-extension overflow on large shift
|
2019-02-27 10:08:57 +01:00 |
|
auxdisplay
|
auxdisplay: hd44780: Fix memory leak on ->remove()
|
2019-04-20 09:15:55 +02:00 |
|
base
|
PM / core: Propagate dev->power.wakeup_path when no callbacks
|
2019-05-31 06:46:23 -07:00 |
|
bcma
|
|
|
|
block
|
xen-blkfront: switch kcalloc to kvcalloc for large array allocation
|
2019-06-11 12:20:53 +02:00 |
|
bluetooth
|
Bluetooth: hci_qca: Give enough time to ROME controller to bootup.
|
2019-05-31 06:46:16 -07:00 |
|
bus
|
|
|
|
cdrom
|
cdrom: Fix race condition in cdrom_sysctl_register
|
2019-04-05 22:33:10 +02:00 |
|
char
|
hwrng: omap - Set default quality
|
2019-05-31 06:46:31 -07:00 |
|
clk
|
clk: ti: clkctrl: Fix clkdm_clk handling
|
2019-06-22 08:15:15 +02:00 |
|
clocksource
|
clocksource/drivers/oxnas: Fix OX820 compatible
|
2019-05-16 19:41:21 +02:00 |
|
connector
|
connector: fix unsafe usage of ->real_parent
|
2019-03-19 13:12:38 +01:00 |
|
cpufreq
|
cpufreq: kirkwood: fix possible object reference leak
|
2019-05-31 06:46:24 -07:00 |
|
cpuidle
|
cpuidle: big.LITTLE: fix refcount leak
|
2019-02-12 19:47:08 +01:00 |
|
crypto
|
crypto: vmx - ghash: do nosimd fallback manually
|
2019-06-04 08:02:34 +02:00 |
|
dax
|
mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses
|
2019-05-22 07:37:40 +02:00 |
|
dca
|
|
|
|
devfreq
|
|
|
|
dio
|
|
|
|
dma
|
dmaengine: sprd: Fix block length overflow
|
2019-06-25 11:35:55 +08:00 |
|
dma-buf
|
|
|
|
edac
|
EDAC/mpc85xx: Prevent building as a module
|
2019-06-15 11:54:03 +02:00 |
|
eisa
|
|
|
|
extcon
|
extcon: arizona: Disable mic detect if running when driver is removed
|
2019-05-31 06:46:23 -07:00 |
|
firewire
|
|
|
|
firmware
|
pstore: Convert buf_lock to semaphore
|
2019-06-11 12:20:52 +02:00 |
|
fmc
|
|
|
|
fpga
|
fpga: dfl: Add lockdep classes for pdata->lock
|
2019-06-25 11:35:55 +08:00 |
|
fsi
|
fsi: master-ast-cf: select GENERIC_ALLOCATOR
|
2018-12-17 09:24:35 +01:00 |
|
gnss
|
gnss: sirf: fix premature wakeup interrupt enable
|
2019-03-10 07:17:21 +01:00 |
|
gpio
|
gpio: fix gpio-adp5588 build errors
|
2019-06-22 08:15:16 +02:00 |
|
gpu
|
drm/etnaviv: lock MMU while dumping core
|
2019-06-22 08:15:17 +02:00 |
|
hid
|
HID: wacom: Sync INTUOSP2_BT touch state after each frame if necessary
|
2019-06-19 08:17:59 +02:00 |
|
hsi
|
|
|
|
hv
|
Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()
|
2019-05-10 17:54:04 +02:00 |
|
hwmon
|
hwmon: (f71805f) Use request_muxed_region for Super-IO accesses
|
2019-05-31 06:46:22 -07:00 |
|
hwspinlock
|
|
|
|
hwtracing
|
intel_th: msu: Fix single mode with IOMMU
|
2019-05-25 18:23:26 +02:00 |
|
i2c
|
i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr
|
2019-06-22 08:15:17 +02:00 |
|
ide
|
ide: fix a typo in the settings proc file name
|
2019-01-31 08:14:42 +01:00 |
|
idle
|
x86/cpu: Sanitize FAM6_ATOM naming
|
2019-05-14 19:17:53 +02:00 |
|
iio
|
iio: temperature: mlx90632 Relax the compatibility check
|
2019-06-25 11:35:54 +08:00 |
|
infiniband
|
IB/hfi1: Silence txreq allocation warnings
|
2019-06-25 11:35:54 +08:00 |
|
input
|
Input: silead - add MSSL0017 to acpi_device_id
|
2019-06-25 11:35:54 +08:00 |
|
iommu
|
iommu/arm-smmu: Avoid constant zero in TLBI writes
|
2019-06-19 08:18:00 +02:00 |
|
ipack
|
|
|
|
irqchip
|
Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
|
2019-06-11 12:20:53 +02:00 |
|
isdn
|
mISDN: make sure device name is NUL terminated
|
2019-06-22 08:15:16 +02:00 |
|
leds
|
leds: trigger: netdev: use memcpy in device_name_store
|
2019-05-04 09:20:22 +02:00 |
|
lightnvm
|
lightnvm: pblk: add lock protection to list operations
|
2019-02-12 19:47:08 +01:00 |
|
macintosh
|
|
|
|
mailbox
|
mailbox: stm32-ipcc: check invalid irq
|
2019-06-15 11:54:04 +02:00 |
|
mcb
|
|
|
|
md
|
bcache: only set BCACHE_DEV_WB_RUNNING when cached device attached
|
2019-06-19 08:18:00 +02:00 |
|
media
|
media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
|
2019-06-09 09:17:24 +02:00 |
|
memory
|
memory: tegra: Fix integer overflow on tick value calculation
|
2019-05-25 18:23:32 +02:00 |
|
memstick
|
memstick: Prevent memstick host from getting runtime suspended during card detection
|
2019-02-12 19:47:10 +01:00 |
|
message
|
|
|
|
mfd
|
mfd: twl6040: Fix device init errors for ACCCTL register
|
2019-06-15 11:54:03 +02:00 |
|
misc
|
Drivers: misc: fix out-of-bounds access in function param_set_kgdbts_var
|
2019-06-19 08:18:02 +02:00 |
|
mmc
|
mmc: core: Prevent processing SDIO IRQs when the card is suspended
|
2019-06-25 11:35:53 +08:00 |
|
mtd
|
mtd: spinand: macronix: Fix ECC Status Read
|
2019-06-11 12:20:50 +02:00 |
|
mux
|
|
|
|
net
|
brcmfmac: sdio: Don't tune while the card is off
|
2019-06-25 11:35:54 +08:00 |
|
nfc
|
spi: ST ST95HF NFC: declare missing of table
|
2019-05-16 19:41:25 +02:00 |
|
ntb
|
|
|
|
nubus
|
|
|
|
nvdimm
|
libnvdimm: Fix compilation warnings with W=1
|
2019-06-19 08:18:03 +02:00 |
|
nvme
|
nvme: fix memory leak for power latency tolerance
|
2019-06-19 08:18:03 +02:00 |
|
nvmem
|
nvmem: sunxi_sid: Support SID on A83T and H5
|
2019-06-15 11:54:07 +02:00 |
|
of
|
of: overlay: set node fields from properties when add new overlay node
|
2019-06-09 09:17:24 +02:00 |
|
opp
|
OPP: Use opp_table->regulators to verify no regulator case
|
2019-02-12 19:47:08 +01:00 |
|
oprofile
|
|
|
|
parisc
|
parisc: Use implicit space register selection for loading the coherence index of I/O pdirs
|
2019-06-11 12:20:51 +02:00 |
|
parport
|
parport_pc: fix find_superio io compare code, should use equal test.
|
2019-03-23 20:10:05 +01:00 |
|
pci
|
ACPI/PCI: PM: Add missing wakeup.flags.valid checks
|
2019-06-22 08:15:17 +02:00 |
|
pcmcia
|
|
|
|
perf
|
perf/arm-cci: Remove broken race mitigation
|
2019-05-31 06:46:17 -07:00 |
|
phy
|
phy: mapphone-mdm6600: add gpiolib dependency
|
2019-05-31 06:46:20 -07:00 |
|
pinctrl
|
pinctrl: samsung: fix leaked of_node references
|
2019-05-31 06:46:17 -07:00 |
|
platform
|
platform/x86: pmc_atom: Add several Beckhoff Automation boards to critclk_systems DMI table
|
2019-06-19 08:18:03 +02:00 |
|
pnp
|
|
|
|
power
|
power: supply: max14656: fix potential use-before-alloc
|
2019-06-15 11:54:09 +02:00 |
|
powercap
|
x86/cpu: Sanitize FAM6_ATOM naming
|
2019-05-14 19:17:53 +02:00 |
|
pps
|
|
|
|
ps3
|
|
|
|
ptp
|
ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
|
2019-02-12 19:47:01 +01:00 |
|
pwm
|
pwm: Fix deadlock warning when removing PWM device
|
2019-06-15 11:54:10 +02:00 |
|
rapidio
|
rapidio: fix a NULL pointer dereference when create_workqueue() fails
|
2019-06-15 11:53:59 +02:00 |
|
ras
|
RAS/CEC: Fix binary search function
|
2019-06-19 08:18:06 +02:00 |
|
regulator
|
regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting
|
2019-04-05 22:33:15 +02:00 |
|
remoteproc
|
remoteproc: qcom: q6v5: Propagate EPROBE_DEFER
|
2018-11-13 11:08:52 -08:00 |
|
reset
|
reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev
|
2019-05-08 07:21:47 +02:00 |
|
rpmsg
|
rpmsg: smd: fix memory leak on channel create
|
2018-11-13 11:08:55 -08:00 |
|
rtc
|
rtc: pcf8523: don't return invalid date when battery is low
|
2019-06-19 08:18:07 +02:00 |
|
s390
|
scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
|
2019-06-09 09:17:13 +02:00 |
|
sbus
|
drivers/sbus/char: add of_node_put()
|
2018-12-21 14:15:17 +01:00 |
|
scsi
|
scsi: ufs: Avoid runtime suspend possibly being blocked forever
|
2019-06-25 11:35:53 +08:00 |
|
sfi
|
|
|
|
sh
|
|
|
|
siox
|
|
|
|
slimbus
|
slimbus: fix a potential NULL pointer dereference in of_qcom_slim_ngd_register
|
2019-05-31 06:46:14 -07:00 |
|
sn
|
|
|
|
soc
|
soc: renesas: Identify R-Car M3-W ES1.3
|
2019-06-15 11:54:11 +02:00 |
|
soundwire
|
|
|
|
spi
|
dmaengine: idma64: Use actual device for DMA transfers
|
2019-06-15 11:54:10 +02:00 |
|
spmi
|
|
|
|
ssb
|
ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit
|
2019-05-31 06:46:04 -07:00 |
|
staging
|
Staging: vc04_services: Fix a couple error codes
|
2019-06-22 08:15:15 +02:00 |
|
target
|
scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock
|
2019-03-23 20:09:59 +01:00 |
|
tc
|
|
|
|
tee
|
tee: optee: avoid possible double list_del()
|
2019-02-12 19:47:08 +01:00 |
|
thermal
|
drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER
|
2019-06-15 11:54:02 +02:00 |
|
thunderbolt
|
thunderbolt: property: Fix a NULL pointer dereference
|
2019-05-31 06:46:31 -07:00 |
|
tty
|
sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg
|
2019-06-22 08:15:14 +02:00 |
|
uio
|
uio: Fix an Oops on load
|
2018-11-27 16:13:09 +01:00 |
|
usb
|
usb: xhci: Don't try to recover an endpoint if port is in error state.
|
2019-06-25 11:35:53 +08:00 |
|
uwb
|
|
|
|
vfio
|
vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING"
|
2019-06-15 11:54:07 +02:00 |
|
vhost
|
vhost: reject zero size iova range
|
2019-04-27 09:36:31 +02:00 |
|
video
|
video: imsttfb: fix potential NULL pointer dereferences
|
2019-06-15 11:54:10 +02:00 |
|
virt
|
drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
|
2019-05-16 19:41:31 +02:00 |
|
virtio
|
virtio_pci: fix a NULL pointer reference in vp_del_vqs
|
2019-05-10 17:54:08 +02:00 |
|
visorbus
|
|
|
|
vlynq
|
|
|
|
vme
|
|
|
|
w1
|
w1: fix the resume command API
|
2019-05-31 06:46:14 -07:00 |
|
watchdog
|
watchdog: fix compile time error of pretimeout governors
|
2019-06-15 11:54:06 +02:00 |
|
xen
|
xenbus: Avoid deadlock during suspend due to open transactions
|
2019-06-22 08:15:19 +02:00 |
|
zorro
|
|
|
|
Kconfig
|
|
|
|
Makefile
|
|
|