diff options
author | weongyo <weongyo@FreeBSD.org> | 2009-01-15 07:11:14 +0000 |
---|---|---|
committer | weongyo <weongyo@FreeBSD.org> | 2009-01-15 07:11:14 +0000 |
commit | 90a16a72619c1a54c70eea31dbad14a527e970e7 (patch) | |
tree | 74c06f486085e5c2dac91880cd4854f3d1f83b9e | |
parent | 353d58cf089c4d171ba523084fba19a9a461dcc6 (diff) | |
download | FreeBSD-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.c | 2 |
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 |