mirror of https://gitee.com/openkylin/linux.git
xhci: Add missing checks for xhci_alloc_command failure
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
170625e994
commit
a0ee619f3c
|
@ -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,
|
||||
|
|
|
@ -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 +
|
||||
|
|
Loading…
Reference in New Issue