Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 drivers/usb/host/xhci-ring.c | 4 ++++
 drivers/usb/host/xhci.c      | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 213b28a..2e19986 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1118,6 +1118,10 @@ static void xhci_handle_cmd_reset_ep(struct xhci_hcd 
*xhci, int slot_id,
        if (xhci->quirks & XHCI_RESET_EP_QUIRK) {
                struct xhci_command *command;
                command = xhci_alloc_command(xhci, false, false, GFP_ATOMIC);
+               if (!command) {
+                       xhci_warn(xhci, "WARN Cannot submit cfg ep: ENOMEM\n");
+                       return;
+               }
                xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
                                "Queueing configure endpoint command");
                xhci_queue_configure_endpoint(xhci, command,
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 758bc31..86b0952 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1553,6 +1553,10 @@ int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb 
*urb, int status)
         */
        if (!(ep->ep_state & EP_HALT_PENDING)) {
                command = xhci_alloc_command(xhci, false, false, GFP_ATOMIC);
+               if (!command) {
+                       ret = -ENOMEM;
+                       goto done;
+               }
                ep->ep_state |= EP_HALT_PENDING;
                ep->stop_cmds_pending++;
                ep->stop_cmd_timer.expires = jiffies +
-- 
2.0.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to