Don't set xhci->shared_hcd to NULL in xhci_stop() as we have
still not de-allocated it. It was resulting in a NULL pointer
de-reference if usb_add/remove_hcd() is called repeatedly.
We want repeated add/remove to work for the OTG use case.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
        spin_lock_irq(&xhci->lock);
        xhci_halt(xhci);
-
-       /* The shared_hcd is going to be deallocated shortly (the USB core only
-        * calls this function when allocation fails in usb_add_hcd(), or
-        * usb_remove_hcd() is called).  So we need to unset xHCI's pointer.
-        */
-       xhci->shared_hcd = NULL;
        spin_unlock_irq(&xhci->lock);
 }