usb: serial: F81232 V9 patches
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v9 Latest10 patches 2 repliesIn review
- v810 patches 14 repliesSuperseded
- v711 patches 6 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v6 | 10 patches | 10 replies | Superseded | |
| v5 | 8 patches | 6 replies | Superseded |
V8 (old change) from the cover letter
1. The V7 MSR strange delta value is checked with locking problem. We changed f81232_set_mctrl() & f81232_read_msr() lock mechanism, the old version is only locked with variable protection, new version will lock from start to end with these 2 function.
2. f81232_set_baudrate() add error handling and no longer handle with baudrate B0, change to handle with f81232_set_termios()
3. When user set baudrate larger then 115200, we will change it with 115200 and tty_encode_baud_rate() in f81232_set_termios().
4. V7 f81232_set_baudrate() divisor declared with type u8, it will make baudrate set failed with smaller then B600 (115200/300=384 overflow :Q). We changed it with integer type for divisor larger then 256.
Patches in v9 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/10 | USB: f81232: rename private struct member namedrivers/ | +4 | 0 replies | |
| 2/10 | USB: f81232: implement RX bulk-in EPdrivers/ | +40 | 2 replies | |
| 3/10 | USB: f81232: change lock mechanismdrivers/ | +5 | 0 replies | |
| 4/10 | USB: f81232: implement read IIR/MSR with endpointdrivers/ | +118 | 0 replies | |
| 5/10 | USB: f81232: implement MCR/MSR functiondrivers/ | +117 | 0 replies | |
| 6/10 | USB: f81232: implement port enable/disable methoddrivers/ | +49 | 0 replies | |
| 7/10 | USB: f81232: implement set_termios()drivers/ | +108 | 0 replies | |
| 8/10 | USB: f81232: clarify f81232_ioctl() and fixdrivers/ | +19 | 0 replies | |
| 9/10 | USB: f81232: cleanup non-used definedrivers/ | +0 | 0 replies | |
| 10/10 | USB: f81232: modify/add authordrivers/ | +2 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v9 yet.
Cover letter [PATCH V9 00/10] usb: serial: F81232 V9 patches
This series patch V9 is changed from V8 as following:
1. add comments for read URB 1byte LSR when port open.
2. change error handle flow of set_register()/get_register()
V8 (old change):
1. The V7 MSR strange delta value is checked with locking problem. We changed f81232_set_mctrl() & f81232_read_msr() lock mechanism, the old version is only locked with variable protection, new version will lock from start to end with these 2 function.
2. f81232_set_baudrate() add error handling and no longer handle with baudrate B0, change to handle with f81232_set_termios()
3. When user set baudrate larger then 115200, we will change it with 115200 and tty_encode_baud_rate() in f81232_set_termios().
4. V7 f81232_set_baudrate() divisor declared with type u8, it will make baudrate set failed with smaller then B600 (115200/300=384 overflow :Q). We changed it with integer type for divisor larger then 256.
V7 (old change):
1. The buffer of usb_control_msg() in set_register()/get_register() are change from local variable to kmalloc(). (PATCH V7 02/11)
2. Change all set_register()/get_register() return value 0 is success, otherwise are failed. ( return 0 of usb_control_msg() treat as -EIO, PATCH V7 02/11)
3. tty_port_tty_get() called only when DCD has changed. (PATCH V7 05/11)
4. remove likely()/unlikely() branch prediction.
5. Implement DTR/RTS control when baudrate B0. We drop DTR/RTS when B0, otherwise enable it. (PATCH V7 08/11)
6. Change private struct line_control to modem_control with meanful. (PATCH V7 06/11)
7. We confirmd MSR strange delta value is not locking-issue. The issue maybe reproduce with set MCR & get MSR before IIR notice with MSR changed.
V6 (old change):
1. transform all function not to use private data as parameter, using usb_serial_port instead.
2. process_read_urb() add process of Break/FrameError/ParityError/OE. (patch: 03/10)
3. fix calc_baud_divisor() will cause divide by zero with B0. (patch: 04/10)
4. Some init step we extract it from set_termios() to f81232_port_init() and run it when open port only. (patch: 04/10)
5. We'll force re-read msr in tiocmget() because the IIR with MSR change maybe delay received. (patch: 05/10)
6. fix MSR status bits changed but delta bits is 0 will cause read serial port malfunctional with update port status. (patch: 08/10)
7. Add MSR change statistic when MSR has been read. (patch: 09/10)
8. clarify a lot of code about Johan suggested.
Peter Hung (10):
USB: f81232: rename private struct member name
USB: f81232: implement RX bulk-in EP
USB: f81232: change lock mechanism
USB: f81232: implement read IIR/MSR with endpoint
USB: f81232: implement MCR/MSR function
USB: f81232: implement port enable/disable method
USB: f81232: implement set_termios()
USB: f81232: clarify f81232_ioctl() and fix
USB: f81232: cleanup non-used define
USB: f81232: modify/add author
drivers/usb/serial/f81232.c | 555 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 457 insertions(+), 98 deletions(-)
Signature · 1 line
1.9.1