Re: [PATCH 2/4] xhci: Add Etron XHCI_TRUST_TX_LENGTH quirk.

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

 



Hi Sarah,

If I am reading right, this patch is not any different from the one we were 
trying to get my card reader to work on USB 3.0.

I did some further testing last with the same card, reader, and exfat driver 
on a USB 2.0 port on the same machine and everything worked with no errors in 
dmesg, when I cped 17GB of MTS film data off the card.

This makes me think there must be some additional problem with the controller 
which needs to get worked around or resolved before this controller is really 
going to work.

Regards,
Matthew.

On Wed, Aug 08, 2012 at 12:36:17PM -0700, Sarah Sharp wrote:
> Gary reports that with recent kernels, he notices more xHCI driver
> warnings:
> 
> xhci_hcd 0000:03:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
> 
> We think his Etron xHCI host controller may have the same buggy behavior
> as the Fresco Logic xHCI host.  When a short transfer is received, the
> host will mark the transfer as successfully completed when it should be
> marking it with a short completion.
> 
> Fix this by turning on the XHCI_TRUST_TX_LENGTH quirk when the Etron
> host is discovered.  Note that Gary has revision 1, but if Etron fixes
> this bug in future revisions, the quirk will have no effect.
> 
> This patch should be backported to kernels as old as 2.6.36, that
> contain a backported version of commit
> 1530bbc6272d9da1e39ef8e06190d42c13a02733 "xhci: Add new short TX quirk
> for Fresco Logic host."
> 
> Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
> Reported-by: Gary E. Miller <gem@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  drivers/usb/host/xhci-pci.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 18b231b..92eaff6 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -99,6 +99,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>  			pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
>  		xhci->quirks |= XHCI_RESET_ON_RESUME;
>  		xhci_dbg(xhci, "QUIRK: Resetting on resume\n");
> +		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
>  	}
>  	if (pdev->vendor == PCI_VENDOR_ID_VIA)
>  		xhci->quirks |= XHCI_RESET_ON_RESUME;
> -- 
> 1.7.9
> 
> --
> 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
--
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