Disallow interrupt requests on disabled endpoints.
Submitted by: Leon Dang MFC after: 3 days
This commit is contained in:
parent
8f7c499598
commit
f760bee50d
@ -2537,9 +2537,11 @@ static int
|
||||
pci_xhci_dev_intr(struct usb_hci *hci, int epctx)
|
||||
{
|
||||
struct pci_xhci_dev_emu *dev;
|
||||
struct xhci_dev_ctx *dev_ctx;
|
||||
struct xhci_trb evtrb;
|
||||
struct pci_xhci_softc *sc;
|
||||
struct pci_xhci_portregs *p;
|
||||
struct xhci_endp_ctx *ep_ctx;
|
||||
int error;
|
||||
int dir_in;
|
||||
int epid;
|
||||
@ -2578,6 +2580,14 @@ pci_xhci_dev_intr(struct usb_hci *hci, int epctx)
|
||||
goto done;
|
||||
}
|
||||
|
||||
dev_ctx = dev->dev_ctx;
|
||||
ep_ctx = &dev_ctx->ctx_ep[epid];
|
||||
if ((ep_ctx->dwEpCtx0 & 0x7) == XHCI_ST_EPCTX_DISABLED) {
|
||||
DPRINTF(("xhci device interrupt on disabled endpoint %d\r\n",
|
||||
epid));
|
||||
return (0);
|
||||
}
|
||||
|
||||
DPRINTF(("xhci device interrupt on endpoint %d\r\n", epid));
|
||||
|
||||
pci_xhci_device_doorbell(sc, hci->hci_port, epid, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user