]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.25/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.arch / s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch b/src/patches/suse-2.6.27.25/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
deleted file mode 100644 (file)
index 859c27d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Gerald Schaefer <geraldsc@de.ibm.com>
-Subject: zfcp: SCSI queue ERP deadlock
-References: bnc#487755,LTC#52401
-
-Symptom:     The I/O stalls if the an error injection is triggerd on
-             the storage side.
-Problem:     The ERP is waiting for the fc tranport class to finish a
-             task which has triggered a task for the SCSI error handler
-             which in turn is waiting for the ERP to finish ->deadlock.
-Solution:    Don't let the ERP wait for anything and move the fulfillment
-             check of the scheduled task to the async running job (scsi scan)
-
-Acked-by: John Jolly <jjolly@suse.de>
-
----
- drivers/s390/scsi/zfcp_erp.c  |    1 -
- drivers/s390/scsi/zfcp_scsi.c |    6 +++++-
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-Index: linux-sles11/drivers/s390/scsi/zfcp_erp.c
-===================================================================
---- linux-sles11.orig/drivers/s390/scsi/zfcp_erp.c
-+++ linux-sles11/drivers/s390/scsi/zfcp_erp.c
-@@ -1192,7 +1192,6 @@ static void zfcp_erp_action_cleanup(stru
-       switch (act->action) {
-       case ZFCP_ERP_ACTION_REOPEN_UNIT:
--              flush_work(&port->rport_work);
-               if ((result == ZFCP_ERP_SUCCEEDED) && !unit->device) {
-                       atomic_set_mask(ZFCP_STATUS_UNIT_REGISTERED,
-                                       &unit->status);
-Index: linux-sles11/drivers/s390/scsi/zfcp_scsi.c
-===================================================================
---- linux-sles11.orig/drivers/s390/scsi/zfcp_scsi.c
-+++ linux-sles11/drivers/s390/scsi/zfcp_scsi.c
-@@ -592,7 +593,10 @@ void zfcp_scsi_scan(struct work_struct *
- {
-       struct zfcp_unit *unit = container_of(work, struct zfcp_unit,
-                                             scsi_work);
--      struct fc_rport *rport = unit->port->rport;
-+      struct fc_rport *rport;
-+
-+      flush_work(&unit->port->rport_work);
-+      rport = unit->port->rport;
-       if (rport && rport->port_state == FC_PORTSTATE_ONLINE)
-               scsi_scan_target(&rport->dev, 0, rport->scsi_target_id,