Re: [PATCH 1/4] usb: gadget: f_midi: fixed endianness when using wMaxPacketSize

From: Felipe Balbi
Date: Wed Aug 10 2016 - 14:58:24 EST



Hi,

Baolin Wang <baolin.wang@xxxxxxxxxx> writes:
> On 26 July 2016 at 07:15, Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> wrote:
>> USB spec specifies wMaxPacketSize to be little endian (as other properties),
>> so when using this variable in the driver we should convert to the current
>> CPU endianness if necessary.
>>
>> Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx>
>> ---
>> drivers/usb/gadget/function/f_midi.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
>> index 58fc199a18ec..a83d852b1da5 100644
>> --- a/drivers/usb/gadget/function/f_midi.c
>> +++ b/drivers/usb/gadget/function/f_midi.c
>> @@ -362,7 +362,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>> struct usb_request *req =
>> midi_alloc_ep_req(midi->out_ep,
>> max_t(unsigned, midi->buflen,
>> - bulk_out_desc.wMaxPacketSize));
>> + le16_to_cpu(bulk_out_desc.wMaxPacketSize)));
>
> I think here we should use usb_ep_align_maybe() function instead of
> max_t() to handle 'quirk_ep_out_aligned_size' quirk, please see the
> patch I've send out: https://lkml.org/lkml/2016/7/12/106

agree, if usb_ep_align_maybe() has a bug with endianness, let's fix it
since there are other gadgets using usb_ep_align_maybe()

--
balbi

Attachment: signature.asc
Description: PGP signature