From: "Peter E. Berger" <pberger@xxxxxxxxxxx> I found that when using the Edgeport EP/416, idle ports are regularly bounced (disconnected and then reconnected). I discussed this with the manufacturer (Digi International) and learned that EP/416 devices now ship from the factory running firmware that requires periodic heartbeat messages from the driver, so I enclose a proposed patch to implement their suggested mechanism (which works both with old and new firmware). While developing my heartbeat patch, I discovered that the firmware download code was not working properly, so I also include three proposed patches to fix this. I welcome any comments or suggestions. Thanks. --Peter Changes since v8 [1] Addressing Sergei's and Johan's review comments. Thanks to you both! - Drop unneeded capitalization in check_fw_sanity dev_err messages. - Use u8 instead of int for checksum. - Use __le16 instead of u16 for build_number and length in edgeport_fw_hdr. - Drop __func__ from "Incomplete firmware header" and "Failed to load image" error messages. - Use dev instead of &serial->interface-dev in edge_startup. - Add "bool use_heartbeat" to struct edgeport_serial, set it in edge_startup and check it in edge_heartbeat_schedule. [1]: v8: http://marc.info/?l=linux-usb&m=143759139026354&w=2 Peter E. Berger (4): USB: io_ti: Increase insufficient timeout for firmware downloads USB: io_ti: Fix firmware version handling USB: io_ti: Add firmware image sanity checks USB: io_ti: Add heartbeat to keep idle EP/416 ports from disconnecting drivers/usb/serial/io_ti.c | 277 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 211 insertions(+), 66 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html