mirror-linux/drivers/usb/serial
Ji-Ze Hong (Peter Hong) cd644b805d USB: serial: f81232: fix incomplete serial port generation
The Fintek F81532A/534A/535/536 family relies on the
F81534A_CTRL_CMD_ENABLE_PORT (116h) register during initialization to
both determine serial port status and control port creation. If the
driver experiences fast load/unload cycles, the device state may becomes
unstable, resulting in the incomplete generation of serial ports.

Performing a dummy read operation on the register prior to the initial
write command resolves the issue. This clears the device's stale internal
state. Subsequent write operations will correctly generate all serial
ports.

This patch also removes the retry loop in f81534a_ctrl_set_register()
because the stale state has been fixed.

Tested on: HygonDM1SLT(Hygon C86 3250 8-core Processor)

Signed-off-by: Ji-Ze Hong (Peter Hong) <peter_hong@fintek.com.tw>
Signed-off-by: Johan Hovold <johan@kernel.org>
2026-01-13 15:59:07 +01:00
..
Kconfig
Makefile
Makefile-keyspan_pda_fw
aircable.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ark3116.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
belkin_sa.c USB: serial: belkin_sa: clean up tiocmset() 2025-10-27 09:21:55 +01:00
belkin_sa.h
bus.c USB: serial: bus: fix const issue in usb_serial_device_match() 2025-05-21 17:01:37 +02:00
ch341.c USB: serial: ch341: use fix-width types consistently 2025-01-08 13:46:55 +01:00
console.c tty: Cleanup tty_port_set_initialized() bool parameter 2023-01-19 16:04:34 +01:00
cp210x.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
cyberjack.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
cypress_m8.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
cypress_m8.h
digi_acceleport.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
empeg.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ezusb_convert.pl
f81232.c USB: serial: f81232: fix incomplete serial port generation 2026-01-13 15:59:07 +01:00
f81534.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ftdi_sio.c USB: serial: ftdi_sio: add support for PICAXE AXE027 cable 2026-01-13 14:08:46 +01:00
ftdi_sio.h
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for PICAXE AXE027 cable 2026-01-13 14:08:46 +01:00
garmin_gps.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
generic.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
io_16654.h
io_edgeport.c USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
io_edgeport.h
io_ionsp.h
io_ti.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
io_ti.h
io_usbvend.h
ipaq.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ipw.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ir-usb.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
iuu_phoenix.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
iuu_phoenix.h
keyspan.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
keyspan_pda.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
kl5kusb105.h
kobil_sct.c USB: serial: kobil_sct: drop unnecessary initialisations 2025-10-27 09:22:27 +01:00
kobil_sct.h
mct_u232.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mct_u232.h
metro-usb.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
mos7720.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
mos7840.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mxuport.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
navman.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
omninet.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
opticon.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
option.c USB: serial: option: add Telit LE910 MBIM composition 2026-01-13 11:42:31 +01:00
oti6858.c USB: serial: oti6858: remove extranenous ; after comment 2025-08-26 12:03:19 +02:00
oti6858.h
pl2303.c USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB 2025-05-21 17:19:55 +02:00
pl2303.h USB: serial: pl2303: add device id for Macrosilicon MS3020 2024-09-06 17:11:13 +02:00
qcaux.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
qcserial.c USB: serial: qcserial: add support for Sierra Wireless EM86xx 2024-11-06 15:09:51 +01:00
quatech2.c USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() 2025-01-14 10:32:38 +01:00
safe_serial.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
sierra.c drivers/usb/serial: refactor min with min_t 2024-11-13 15:09:51 +01:00
spcp8x5.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ssu100.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
symbolserial.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
ti_usb_3410_5052.c USB: serial: ti_usb_3410_5052: drop bogus read urb check 2025-05-05 14:25:59 +02:00
upd78f0730.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
usb-serial-simple.c USB: serial: simple: add OWON HDS200 series oscilloscope support 2025-04-16 08:38:22 +02:00
usb-serial.c tty: introduce and use tty_port_tty_vhangup() helper 2025-06-17 13:42:33 +02:00
usb-wwan.h
usb_debug.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
usb_wwan.c
visor.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
visor.h
whiteheat.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
whiteheat.h
wishbone-serial.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
xr_serial.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
xsens_mt.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00