ftdi-la: work around missing USB strings during device probe
authorGerhard Sittig <gerhard.sittig@gmx.net>
Fri, 25 Dec 2020 11:47:01 +0000 (12:47 +0100)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Fri, 25 Dec 2020 11:47:01 +0000 (12:47 +0100)
commitaa8e4959e24ad1c5fa034f307c417166f26b62b8
tree571ea8f3a1651cebfc6412fcd8a9f08939cb7da9
parentd7ce5452ac160feaf3c1a4fea64b97c5e44d0f1c
ftdi-la: work around missing USB strings during device probe

Some FTDI chip based products ship with EEPROM content which makes
libftdi fail to lookup the USB strings, which breaks the scan for the
device's presence. The previous implementation was strict and only
accepted the absence of a serial number. This implementation also copes
when vendor and model cannot be gathered from the device, and provides
fallback values based on VID:PID numbers.

Also factor out a magic number for string lengths. Stick with dynamic
allocation since 3x 32bytes would be rather huge a local stack use, and
future maintenance might bump that string length again.

[ gsi: magic number in one spot, bounded string assignment, style nits ]

Submitted-By: Christo Crause <christo.crause@gmail.com>
src/hardware/ftdi-la/api.c