[PATCH v9 0/4] Fix idle port disconnects and firmware downloading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux