usbserial enumeration issue after suspend
I'm quite new to Linux kernel. I'm using Linux 18.104.22.168 on OpenSuse. Currently I have a usbserial device with three ports showing
If I start a program when open the port of /dev/ttyUSB1 and /dev/ttyUSB2 and then suspend PC (s2ram --force), I will see
/dev/ttyUSB3 instead of /dev/ttyUSB1
/dev/ttyUSB4 instead of /dev/ttyUSB2
after PC resume.
My goal is NOT to close port of /dev/ttyUSB1 and /dev/ttyUSB2 before suspend and keep the port enumeration the same after resume.
I trace the /var/log/message and found /driver/usb/serial/bus.c usb_serial_device_remove function weren't called for /dev/ttyUSB1 and /dev/ttyUSB2. So at the resume, it directly enumerate with /dev/ttyUSB3 and /dev/ttyUSB4.
I don't know how to proceed to change the driver to reach my goal or I should try other directions?
Any hint will be appreciated!