Release 4.4.18-openpower1

  - v4.4.18 stable release
  - drop 'scsi: ignore errors from scsi_dh_add_device()' as this is
    included in the upstream stable release
  - drop 'drivers/drm/ast: Update VGA Ownership register value' as
    this was found to not fix the issue it was claimed to have fixed

Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
new file mode 100644
index 0000000..9de08cb
--- /dev/null
+++ b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
@@ -0,0 +1,56 @@
+From c5075769d7124310b14f93e8ceb98f520a0b7087 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Tue, 19 Jul 2016 22:43:26 +0930
+Subject: [PATCH 4/9] xhci: do not halt the secondary HCD
+
+We can't halt the secondary HCD, because it's also the primary HCD,
+which will cause problems if we have devices attached to the primary
+HCD, like a keyboard.
+
+Sined-off-by: Joel Stanley <joel@jms.id.au>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ drivers/usb/host/xhci.c | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index 6fe0174da226..8f48dd84ddd2 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -682,6 +682,21 @@ void xhci_stop(struct usb_hcd *hcd)
+ 
+ 	mutex_lock(&xhci->mutex);
+ 
++	/*
++	 * We can't halt the secondary HCD, because it's also the primary
++	 * HCD, which will cause problems if we have devices attached to the
++	 * primary HCD, like a keyboard.
++	 */
++	if (!usb_hcd_is_primary_hcd(hcd)) {
++		/* 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;
++		mutex_unlock(&xhci->mutex);
++		return;
++	}
++
+ 	if (!(xhci->xhc_state & XHCI_STATE_HALTED)) {
+ 		spin_lock_irq(&xhci->lock);
+ 
+@@ -693,11 +708,6 @@ void xhci_stop(struct usb_hcd *hcd)
+ 		spin_unlock_irq(&xhci->lock);
+ 	}
+ 
+-	if (!usb_hcd_is_primary_hcd(hcd)) {
+-		mutex_unlock(&xhci->mutex);
+-		return;
+-	}
+-
+ 	xhci_cleanup_msix(xhci);
+ 
+ 	/* Deleting Compliance Mode Recovery Timer */
+-- 
+2.8.1
+