uas: Remove SCSI host before cleaning up in disconnect.

When a UAS device is disconnected, make sure to call scsi_remove_host()
before cleaning up any pending URBs.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index fd19ae8..0db05be 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -1093,14 +1093,15 @@
 	struct Scsi_Host *shost = usb_get_intfdata(intf);
 	struct uas_dev_info *devinfo = (void *)shost->hostdata[0];
 
+	scsi_remove_host(shost);
 	/* Clean up any pending commands and free streams */
 	uas_pre_reset(intf);
-	scsi_remove_host(shost);
 
 	cleanup_srcu_struct(devinfo->srcu);
 	kfree(devinfo->srcu);
 	kfree(devinfo->anchors);
 	kfree(devinfo);
+	scsi_host_put(shost);
 }
 
 /*