Re: USB headset mic: slightly "robotic" voice when plugged into a usb 3.0 port

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

 



On 05/10/2012 10:38 PM, Alan Stern wrote:
> On Wed, 9 May 2012, Sarah Sharp wrote:
> 
>>> Anyway, I just checked the xHCI spec.  As far as I can see, it doesn't
>>> directly require that a transfer TRB's completion code be set to Short
>>> Packet when the ISP flag isn't set.  So it may be a mistake to rely on
>>> that -- presumably you don't set ISP for ischronous transfers.
>>
>> The xHCI driver does set ISP for all TRBs for an isochronous IN
>> endpoint, see drivers/usb/host/xhci-ring.c:xhci_queue_isoc_tx()
>>
>>                         /* Only set interrupt on short packet for IN EPs */
>>                         if (usb_urb_dir_in(urb))
>>                                 field |= TRB_ISP;
>>
>> Otherwise we won't get an event when a short packet occurs.  Since we
>> set ISP on all isoc TRBs, the host should have set the completion code
>> to Short Packet.
> 
> Okay.  Why do you care about short packets on isochronous transfers?  I 
> wouldn't think they make any difference.
> 

If we do not set ISP for ISOC IN transfers, there is no event produced
when a short packet occurs and the driver cannot update the status and
length field of iso_packet_descriptor accordingly.

Thanks,
Andiry

--
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