Re: [PATCH v4] usb-core bInterval quirk

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

 



I'll fix it and resubmit. There is no reason I can't get a closing brace right.

Sorry.

Jim

On Sat, Jul 26, 2014 at 9:53 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, 26 Jul 2014, James P Michels III wrote:
>
>> This patch adds a usb quirk to support devices with interupt endpoints
>> and bInterval values expressed as microframes. The quirk causes the
>> parse endpoint function to modify the reported bInterval to a standards
>> conforming value.
>>
>> There is currently code in the endpoint parser that checks for
>> bIntervals that are outside of the valid range (1-16 for USB 2+ high
>> speed and super speed interupt endpoints). In this case, the code assumes
>> the bInterval is being reported in 1ms frames. As well, the correction
>> is only applied if the original bInterval value is out of the 1-16 range.
>>
>> With this quirk applied to the device, the bInterval will be
>> accurately adjusted from microframes to an exponent.
>>
>> Signed-off-by: James P Michels III <james.p.michels@xxxxxxxxx>
>
> The closing brace for the "if" statement is still in the wrong column
> (it's supposed to line up with the 'i' in "if"), but aside from that:
>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>
>> --- a/drivers/usb/core/config.c
>> +++ b/drivers/usb/core/config.c
>> @@ -199,6 +199,17 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno, int inum,
>>                       if (n == 0)
>>                               n = 9;  /* 32 ms = 2^(9-1) uframes */
>>                       j = 16;
>> +
>> +                     /*
>> +                      * Adjust bInterval for quirked devices.
>> +                      * This quirk fixes bIntervals reported in
>> +                      * linear microframes.
>> +                      */
>> +                     if (to_usb_device(ddev)->quirks &
>> +                             USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL) {
>> +                             n = clamp(fls(d->bInterval), i, j);
>> +                             i = j = n;
>> +                             }
>
--
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