Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8202ce2e authored by Sarah Sharp's avatar Sarah Sharp
Browse files

xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning.



When we encounter an xHCI host that needs the XHCI_TRUST_TX_LENGTH
quirk, the xHCI driver ends up spewing messages about the quirk into
dmesg every time a short packet occurs.  Change the xHCI driver to
rate-limit such warnings.

Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: default avatarMatthew Hall <mhall@mhcomputing.net>
Reported-by: default avatarGary E. Miller <gem@rellim.com>
parent 5cb7df2b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2073,8 +2073,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
		if (xhci->quirks & XHCI_TRUST_TX_LENGTH)
			trb_comp_code = COMP_SHORT_TX;
		else
			xhci_warn(xhci, "WARN Successful completion on short TX: "
					"needs XHCI_TRUST_TX_LENGTH quirk?\n");
			xhci_warn_ratelimited(xhci,
					"WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?\n");
	case COMP_SHORT_TX:
		break;
	case COMP_STOP:
+2 −0
Original line number Diff line number Diff line
@@ -1537,6 +1537,8 @@ static inline struct usb_hcd *xhci_to_hcd(struct xhci_hcd *xhci)
	dev_err(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
#define xhci_warn(xhci, fmt, args...) \
	dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
#define xhci_warn_ratelimited(xhci, fmt, args...) \
	dev_warn_ratelimited(xhci_to_hcd(xhci)->self.controller , fmt , ## args)

/* TODO: copied from ehci.h - can be refactored? */
/* xHCI spec says all registers are little endian */