On Mon, 7 May 2018, Mark Knibbs wrote:

> Some devices have a non-BCD value in bcdDevice. For example some card
> readers based on an ICSI chip have bcdDevice 0x016F. (They put "1.6F"
> in bytes 32-35 of their INQUIRY data.)
> 
> For devices which need US_FL_FIX_INQUIRY, fill_inquiry_response()
> doesn't appear to handle non-BCD values correctly since it just adds
> 0x30 to each 4-bit value:
>               data[32] = 0x30 + ((bcdDevice>>12) & 0x0F);
>               data[33] = 0x30 + ((bcdDevice>>8) & 0x0F);
>               data[34] = 0x30 + ((bcdDevice>>4) & 0x0F);
>               data[35] = 0x30 + ((bcdDevice) & 0x0F);
> 
> Thus hex 0xA to 0xF correspond to : ; < = > ? characters. For the
> 0x016F example, that would appear as "016?" in the generated INQUIRY
> data.
> 
> Is it worth submitting a patch to fix that? Do any devices which need
> US_FL_FIX_INQUIRY have non-BCD bcdDevice values?

In answer to your second question: I have no idea.

In answer to your first question: Nobody has complained about it so 
far.  Unless someone does, there's probably not much reason to change 
the code.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to