There is no point in trying to reset the host controller by writing
to its registers if host is removed and registers just return 0xffffffff
bail out and return -ENODEV instead
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        int ret, i;
 
        state = readl(&xhci->op_regs->status);
+
+       if (state == ~(u32)0) {
+               xhci_warn(xhci, "Host not accessible, reset failed.\n");
+               return -ENODEV;
+       }
+
        if ((state & STS_HALT) == 0) {
                xhci_warn(xhci, "Host controller not halted, aborting reset.\n");
                return 0;
                xhci->cmd_ring_state = CMD_RING_STATE_STOPPED;
                xhci_halt(xhci);
                xhci_reset(xhci);
-
                spin_unlock_irq(&xhci->lock);
        }