aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_scsi.c
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2009-08-18 09:43:17 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-09-05 09:49:23 -0400
commit4544683a4b1d4e65ccca8c736bac56a195a5206b (patch)
tree0d536db8c6820405b69768922a8a61b8d1dcf00c /drivers/s390/scsi/zfcp_scsi.c
parent09a46c6e34ba152169b7400d266d2efb4c391a43 (diff)
[SCSI] zfcp: Move workqueue to adapter struct
Remove the global driver work queue and replace it with a workqueue local to the adapter. The usage of this workqueue makes this the correct place for the structure. In addition multiple adapters won't block each other due to the serialization of the queued work. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_scsi.c')
-rw-r--r--drivers/s390/scsi/zfcp_scsi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c
index 0de059161b35..2e13d41269a4 100644
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -572,7 +572,7 @@ void zfcp_scsi_schedule_rport_register(struct zfcp_port *port)
572 zfcp_port_get(port); 572 zfcp_port_get(port);
573 port->rport_task = RPORT_ADD; 573 port->rport_task = RPORT_ADD;
574 574
575 if (!queue_work(zfcp_data.work_queue, &port->rport_work)) 575 if (!queue_work(port->adapter->work_queue, &port->rport_work))
576 zfcp_port_put(port); 576 zfcp_port_put(port);
577} 577}
578 578
@@ -581,7 +581,8 @@ void zfcp_scsi_schedule_rport_block(struct zfcp_port *port)
581 zfcp_port_get(port); 581 zfcp_port_get(port);
582 port->rport_task = RPORT_DEL; 582 port->rport_task = RPORT_DEL;
583 583
584 if (port->rport && queue_work(zfcp_data.work_queue, &port->rport_work)) 584 if (port->rport && queue_work(port->adapter->work_queue,
585 &port->rport_work))
585 return; 586 return;
586 587
587 zfcp_port_put(port); 588 zfcp_port_put(port);