Searched hist:"7 e1e6ceda3f07a40445ae1c4ac5549a899d5e252" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/usb/serial/ |
H A D | ftdi_sio.c | diff 7e1e6ceda3f07a40445ae1c4ac5549a899d5e252 Wed Mar 08 10:02:58 CST 2017 Ian Abbott <abbotti@mev.co.uk> USB: serial: ftdi_sio: detect BM chip with iSerialNumber bug
If a BM type chip has iSerialNumber set to 0 in its EEPROM, an incorrect value is read from the bcdDevice field of the USB descriptor, making it look like an AM type chip. Attempt to correct this in ftdi_determine_type() by attempting to read the latency timer for an AM type chip if it has iSerialNumber set to 0. If that succeeds, assume it is a BM type chip.
Currently, read_latency_timer() bails out without reading the latency timer for an AM type chip, so factor out the guts of read_latency_timer() into a new function _read_latency_timer() that attempts to read the latency timer regardless of chip type, and returns either the latency timer value or a negative error number.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Johan Hovold <johan@kernel.org>
|