From 0ca15910c4ff066fc8882ba3e48593fcb39fb091 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 18 Feb 2019 11:42:14 -0500 Subject: [PATCH] XHCI: Check return value of _LinkDescriptorForPipe. --- src/add-ons/kernel/busses/usb/xhci.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/busses/usb/xhci.cpp b/src/add-ons/kernel/busses/usb/xhci.cpp index 7acc3914ff..606eec84c8 100644 --- a/src/add-ons/kernel/busses/usb/xhci.cpp +++ b/src/add-ons/kernel/busses/usb/xhci.cpp @@ -672,7 +672,9 @@ XHCI::SubmitControlRequest(Transfer *transfer) return status; setupDescriptor->transfer = transfer; - _LinkDescriptorForPipe(setupDescriptor, endpoint); + status = _LinkDescriptorForPipe(setupDescriptor, endpoint); + if (status != B_OK) + return status; TRACE("SubmitControlRequest() request linked\n"); TRACE("Endpoint status 0x%08" B_PRIx32 " 0x%08" B_PRIx32 " 0x%016" B_PRIx64 "\n", @@ -754,7 +756,9 @@ XHCI::SubmitNormalRequest(Transfer *transfer) xhci_endpoint *endpoint = (xhci_endpoint *)pipe->ControllerCookie(); descriptor->transfer = transfer; - _LinkDescriptorForPipe(descriptor, endpoint); + status = _LinkDescriptorForPipe(descriptor, endpoint); + if (status != B_OK) + return status; TRACE("SubmitNormalRequest() request linked\n"); TRACE("Endpoint status 0x%08" B_PRIx32 " 0x%08" B_PRIx32 " 0x%016" B_PRIx64 "\n",