summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorweongyo <weongyo@FreeBSD.org>2009-01-15 07:11:14 +0000
committerweongyo <weongyo@FreeBSD.org>2009-01-15 07:11:14 +0000
commit90a16a72619c1a54c70eea31dbad14a527e970e7 (patch)
tree74c06f486085e5c2dac91880cd4854f3d1f83b9e
parent353d58cf089c4d171ba523084fba19a9a461dcc6 (diff)
downloadFreeBSD-src-90a16a72619c1a54c70eea31dbad14a527e970e7.zip
FreeBSD-src-90a16a72619c1a54c70eea31dbad14a527e970e7.tar.gz
fix a ehci's bug that it's occurred when the xfers are aborted under
heavy loads or working. It looks this bug exists since r158869 so needs to revert a part of the previous. Reviewed by: imp Tested by: sam MFC after: 3 weeks
-rw-r--r--sys/dev/usb/ehci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c
index 11a5e83..c159600 100644
--- a/sys/dev/usb/ehci.c
+++ b/sys/dev/usb/ehci.c
@@ -2769,7 +2769,7 @@ ehci_abort_xfer(usbd_xfer_handle xfer, usbd_status status)
/* We will change them to point here */
snext = exfer->sqtdend->nextqtd;
- next = htohc32(sc, snext->physaddr);
+ next = (snext != NULL) ? htohc32(sc, snext->physaddr) : EHCI_NULL(sc);
/*
* Now loop through any qTDs before us and keep track of the pointer
OpenPOWER on IntegriCloud