linux/drivers
Lino Sanfilippo 07c30ea586 serial: Do not hold the port lock when setting rx-during-tx GPIO
Both the imx and stm32 driver set the rx-during-tx GPIO in rs485_config().
Since this function is called with the port lock held, this can be a
problem in case that setting the GPIO line can sleep (e.g. if a GPIO
expander is used which is connected via SPI or I2C).

Avoid this issue by moving the GPIO setting outside of the port lock into
the serial core and thus making it a generic feature.

Also with commit c54d485436 ("serial: stm32: Add support for rs485
RX_DURING_TX output GPIO") the SER_RS485_RX_DURING_TX flag is only set if a
rx-during-tx GPIO is _not_ available, which is wrong. Fix this, too.

Furthermore reset old GPIO settings in case that changing the RS485
configuration failed.

Fixes: c54d485436 ("serial: stm32: Add support for rs485 RX_DURING_TX output GPIO")
Fixes: ca530cfa96 ("serial: imx: Add support for RS485 RX_DURING_TX output GPIO")
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc:  <stable@vger.kernel.org>
Signed-off-by: Lino Sanfilippo <l.sanfilippo@kunbus.com>
Link: https://lore.kernel.org/r/20240103061818.564-2-l.sanfilippo@kunbus.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-04 16:26:09 +01:00
..
accel accel/ivpu/37xx: Fix hangs related to MMIO reset 2023-11-21 09:20:25 +01:00
accessibility
acpi ACPI: utils: Fix error path in acpi_evaluate_reference() 2023-12-07 21:38:21 +01:00
amba
android Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
ata SCSI fixes on 20231130 2023-12-02 06:27:20 +09:00
atm pci-v6.7-changes 2023-11-02 14:05:18 -10:00
auxdisplay
base Char/Misc driver fixes for 6.7-rc5 2023-12-09 12:44:10 -08:00
bcma
block nbd: pass nbd_sock to nbd_read_reply() instead of index 2023-11-21 07:42:04 -07:00
bluetooth tty: serdev: convert to u8 and size_t 2023-12-08 12:02:38 +01:00
bus SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
cache
cdrom
cdx Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
char tty: ttyprintk: convert to u8 and size_t 2023-12-08 12:02:38 +01:00
clk SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
clocksource RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
comedi
connector
counter
cpufreq cpufreq/amd-pstate: Only print supported EPP values for performance governor 2023-11-29 22:04:15 +01:00
cpuidle
crypto
cxl cxl/pci: Change CXL AER support check to use native AER 2023-11-02 14:09:01 -07:00
dax Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
dca
devfreq
dio
dma dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
dma-buf dma-buf: fix check in dma_resv_add_fence 2023-11-27 20:00:47 +01:00
dpll dpll: Fix potential msg memleak when genlmsg_put_reply failed 2023-11-21 17:41:20 -08:00
edac hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
eisa
extcon
firewire firewire fixes for 6.7-rc4 2023-12-03 09:03:07 +09:00
firmware ARM: SoC fixes for v6.7 2023-12-08 08:58:39 -08:00
fpga Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
fsi
gnss tty: serdev: convert to u8 and size_t 2023-12-08 12:02:38 +01:00
gpio gpiolib: sysfs: Fix error handling on failed export 2023-12-01 10:44:48 +01:00
gpu Two fixups 2023-12-08 13:55:32 +10:00
greybus Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
hid for-linus-2023112301 2023-11-23 17:31:53 -08:00
hsi
hte hte: Changes for v6.7-rc1 2023-10-31 18:32:51 -10:00
hv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
hwmon hwmon: (corsair-psu) Fix probe when built-in 2023-12-08 10:36:02 -08:00
hwspinlock
hwtracing coresight: ultrasoc-smb: Fix uninitialized before use buf_hw_base 2023-11-16 10:00:14 +00:00
i2c i2c: ocores: Move system PM hooks to the NOIRQ phase 2023-11-13 12:43:42 -05:00
i3c I3C for 6.7 2023-11-04 16:25:36 -10:00
idle
iio tty: serdev: convert to u8 and size_t 2023-12-08 12:02:38 +01:00
infiniband RDMA/irdma: Avoid free the non-cqp_request scratch 2023-12-04 20:02:41 -04:00
input Input updates for 6.7 merge window: 2023-11-09 14:18:42 -08:00
interconnect
iommu iommufd 6.7 first rc pull request 2023-12-05 06:54:52 +09:00
ipack tty: ipoctal: convert to u8 and size_t 2023-12-08 12:02:37 +01:00
irqchip - Flush the translation service tables to prevent unpredictable behavior 2023-11-19 13:49:32 -08:00
isdn tty: make tty_operations::send_xchar accept u8 char 2023-12-08 12:02:37 +01:00
leds leds: trigger: netdev: fix RTNL handling to prevent potential deadlock 2023-12-06 07:36:55 -08:00
macintosh powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
mailbox Moving repo 2023-11-05 18:45:32 -08:00
mcb
md block-6.7-2023-12-08 2023-12-08 12:36:45 -08:00
media Renesas R-Car VSP1 driver regression fix 2023-11-16 14:28:44 +01:00
memory IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
memstick
message
mfd tty: serdev: convert to u8 and size_t 2023-12-08 12:02:38 +01:00
misc Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
mmc Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
most
mtd - removed AR7 platform support 2023-11-10 09:19:46 -08:00
mux
net Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
nfc Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
ntb
nubus
nvdimm
nvme nvme-pci: Add sleep quirk for Kingston drives 2023-12-07 08:53:20 -08:00
nvmem nvmem: Do not expect fixed layouts to grab a layout driver 2023-12-07 11:19:32 +09:00
of Devicetree fixes for v6.7, take 1: 2023-12-07 12:22:36 -08:00
opp
parisc parisc/power: Fix power soft-off when running on qemu 2023-11-18 18:59:30 +01:00
parport parport: Add support for Brainboxes IX/UC/PX parallel cards 2023-12-07 11:10:44 +09:00
pci cxl for v6.7 2023-11-04 16:20:36 -10:00
pcmcia PCMCIA odd cleanups and fixes for v6.7-rc1 2023-11-07 16:40:42 -08:00
peci
perf arm64 fixes: 2023-11-10 12:22:14 -08:00
phy Revert "phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY" 2023-11-06 14:47:36 +01:00
pinctrl pinctrl: realtek: Fix logical error when finding descriptor 2023-11-24 10:39:20 +01:00
platform Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
pmdomain Power management fixes for 6.7-rc4 2023-12-02 09:01:00 +09:00
pnp
power USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
powercap powercap: DTPM: Fix missing cpufreq_cpu_put() calls 2023-12-05 20:51:24 +01:00
pps
ps3
ptp ptp: annotate data-race around q->head and q->tail 2023-11-13 20:51:37 -08:00
pwm pwm: bcm2835: Fix NPD in suspend/resume 2023-11-21 11:09:32 +01:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc RTC for 6.7 2023-11-05 18:49:40 -08:00
s390 Merge 6.7-rc5 into tty-next 2023-12-11 09:10:42 +01:00
sbus
scsi scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle() 2023-12-05 20:38:26 -05:00
sh
siox
slimbus
soc powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
soundwire soundwire updates for 6.7 2023-11-03 19:10:41 -10:00
spi spi: Fixes for v6.7 2023-11-10 11:44:38 -08:00
spmi spmi: rename spmi device lookup helper 2023-11-01 10:02:18 +00:00
ssb
staging pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
target SCSI misc on 20231102 2023-11-02 15:13:50 -10:00
tc
tee OP-TEE fix for supplicant based device enumeration 2023-12-06 16:15:26 +01:00
thermal Thermal control updates for 6.7-rc1 2023-10-31 15:28:37 -10:00
thunderbolt thunderbolt: Only add device router DP IN to the head of the DP resource list 2023-11-17 13:05:57 +02:00
tty serial: Do not hold the port lock when setting rx-during-tx GPIO 2024-01-04 16:26:09 +01:00
ufs scsi: ufs: core: Clear cmd if abort succeeds in MCQ mode 2023-11-24 20:35:24 -05:00
uio
usb usb: gadget: f_hid: fix report descriptor allocation 2023-12-07 10:12:05 +09:00
vdpa pds_vdpa: set features order 2023-12-01 09:55:01 -05:00
vfio vfio/pds: Fix possible sleep while in atomic context 2023-11-27 09:29:03 -07:00
vhost vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
video fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-10 09:16:02 +01:00
virt configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
virtio vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
w1
watchdog - removed AR7 platform support 2023-11-10 09:19:46 -08:00
xen xen/events: fix error code in xen_bind_pirq_msi_to_irq() 2023-11-28 12:48:27 +01:00
zorro
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile - removed AR7 platform support 2023-11-10 09:19:46 -08:00