twx-linux/drivers
Bryan O'Donoghue 5a70524bbf staging: greybus: loopback: Hold per-connection mutex across operations
Commit d9fb3754ecf8 ("greybus: loopback: Relax locking during loopback
operations") changes the holding of the per-connection mutex to be less
restrictive because at the time of that commit per-connection mutexes were
encapsulated by a per-driver level gb_dev.mutex.

Commit 8e1d6c336d74 ("greybus: loopback: drop bus aggregate calculation")
on the other hand subtracts the driver level gb_dev.mutex but neglects to
move the mutex back to the place it was prior to commit d9fb3754ecf8
("greybus: loopback: Relax locking during loopback operations"), as a
result several members of the per connection struct gb_loopback are racy.

The solution is restoring the old location of mutex_unlock(&gb->mutex) as
it was in commit d9fb3754ecf8 ("greybus: loopback: Relax locking during
loopback operations").

Fixes: 8e1d6c336d74 ("greybus: loopback: drop bus aggregate calculation")

Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Reviewed-by: Johan Hovold <johan@kernel.org>
Cc: Alex Elder <elder@kernel.org>
Cc: Mitch Tasman <tasman@leaflabs.com>
Cc: greybus-dev@lists.linaro.org
Cc: devel@driverdev.osuosl.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-06 16:41:22 +01:00
..
accessibility
acpi ACPI: properties: Fix __acpi_node_get_property_reference() return codes 2017-10-11 21:16:37 +02:00
amba
android android: binder: Fix null ptr dereference in debug msg 2017-10-21 10:14:20 +02:00
ata ahci: don't ignore result code of ahci_reset_controller() 2017-10-02 12:21:30 -07:00
atm
auxdisplay
base mm: only display online cpus of the numa node 2017-10-13 16:18:32 -07:00
bcma
block nbd: don't set the device size until we're connected 2017-10-09 12:29:22 -06:00
bluetooth
bus bus: mbus: fix window size calculation for 4GB windows 2017-10-12 15:01:30 +02:00
cdrom
char Merge branch 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2017-09-24 11:34:28 -07:00
clk clk: samsung: exynos4: Enable VPLL and EPLL clocks for suspend/resume cycle 2017-10-04 09:19:13 -07:00
clocksource clockevents/drivers/cs5535: Improve resilience to spurious interrupts 2017-10-20 13:41:52 +02:00
connector
cpufreq cpufreq: dt: Fix sysfs duplicate filename creation for platform-device 2017-09-26 01:10:08 +02:00
cpuidle
crypto crypto: stm32 - Try to fix hash padding 2017-10-07 12:04:31 +08:00
dax
dca
devfreq
dio
dma dmaengine: altera: Use IRQ-safe spinlock calls in the error paths as well 2017-10-20 11:51:10 +05:30
dma-buf sync_file: Return consistent status in SYNC_IOC_FILE_INFO 2017-10-09 13:09:19 -03:00
edac
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio gpio: omap: Fix lost edge interrupts 2017-10-07 13:17:07 +02:00
gpu Merge tag 'drm-intel-fixes-2017-10-18-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes 2017-10-19 15:00:47 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2017-10-12 09:08:56 -07:00
hsi
hv vmbus: hvsock: add proper sync for vmbus_hvsock_device_unregister() 2017-10-20 14:56:25 +02:00
hwmon hwmon: (xgene) Fix up error handling path mixup in 'xgene_hwmon_probe()' 2017-10-01 08:46:54 -07:00
hwspinlock
hwtracing
i2c i2c: omap: Fix error handling for clk_get() 2017-10-18 00:19:26 +02:00
ide ide: fix IRQ assignment for PCI bus order probing 2017-10-03 14:03:31 -05:00
idle
iio Third set of new device support, cleanups and features for IIO in the 4.15 cycle 2017-10-27 11:13:08 +02:00
infiniband i40iw: Fix port number for query QP 2017-10-04 15:28:49 -04:00
input Merge 4.14-rc6 into staging-next 2017-10-23 14:29:43 +02:00
iommu iommu/amd: Finish TLB flush in amd_iommu_unmap() 2017-10-13 17:32:19 +02:00
ipack
irqchip irqchip/tango: Use irq_gc_mask_disable_and_ack_set 2017-10-13 16:31:05 +01:00
isdn
leds as3645a: Unregister indicator LED on device unbind 2017-09-23 21:17:43 +02:00
lightnvm
macintosh
mailbox
mcb
md Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-10-06 12:13:50 -07:00
media media fixes for v4.14-rc6 2017-10-17 06:23:09 -04:00
memory
memstick
message
mfd
misc Merge 4.14-rc6 into staging-next 2017-10-23 14:29:43 +02:00
mmc mmc: sdhci-pci: Fix default d3_retune for Intel host controllers 2017-10-10 08:40:04 +02:00
mtd mtd: nand: atmel: fix buffer overflow in atmel_pmecc_user 2017-09-27 17:33:28 +02:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-21 22:44:48 -04:00
nfc
ntb
nubus
nvdimm
nvme nvme-pci: Use PCI bus address for data/queues in CMB 2017-10-04 11:42:53 +02:00
nvmem
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-21 22:44:48 -04:00
oprofile
parisc
parport
pci PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions 2017-10-10 21:17:43 -05:00
pcmcia
perf
phy phy: rockchip-typec: Check for errors from tcphy_phy_init() 2017-10-03 15:18:41 +05:30
pinctrl pinctrl: cherryview: fix issues caused by dynamic gpio irqs mapping 2017-10-08 02:32:59 +02:00
platform Merge 4.14-rc4 into staging-next 2017-10-09 09:02:35 +02:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio rapidio: remove global irq spinlocks from the subsystem 2017-10-03 17:54:24 -07:00
ras RAS/CEC: Use the right length for "cec_disable" 2017-10-05 14:23:06 +02:00
regulator
remoteproc remoteproc: imx_rproc: fix return value check in imx_rproc_addr_init() 2017-10-11 10:47:47 -07:00
reset reset: socfpga: fix for 64-bit compilation 2017-10-04 10:29:44 +02:00
rpmsg rpmsg: glink: Fix memory leak in qcom_glink_alloc_intent() 2017-10-10 11:22:09 -07:00
rtc
s390
sbus
scsi SCSI fixes on 20171017 2017-10-17 15:54:41 -04:00
sfi
sh
sn
soc
spi
spmi
ssb
staging staging: greybus: loopback: Hold per-connection mutex across operations 2017-11-06 16:41:22 +01:00
target
tc
tee
thermal
thunderbolt
tty tty: fall back to N_NULL if switching to N_TTY fails during hangup 2017-10-13 16:18:33 -07:00
uio
usb Merge 4.14-rc6 into staging-next 2017-10-23 14:29:43 +02:00
uwb
vfio
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen xen: fixes for 4.14-rc3 2017-09-29 12:24:28 -07:00
zorro
Kconfig
Makefile