mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
qla2x00t-32gbit: Use an on-stack completion in qla24xx_control_vp()
This patch does not change any functionality. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8239 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -559,7 +559,7 @@ typedef struct srb {
|
||||
u32 gen2; /* scratch */
|
||||
int rc;
|
||||
int retry_count;
|
||||
struct completion comp;
|
||||
struct completion *comp;
|
||||
union {
|
||||
struct srb_iocb iocb_cmd;
|
||||
#ifndef NEW_LIBFC_API
|
||||
|
||||
@@ -302,7 +302,6 @@ qla2x00_init_timer(srb_t *sp, unsigned long tmo)
|
||||
timer_setup(&sp->u.iocb_cmd.timer, qla2x00_sp_timeout, 0);
|
||||
sp->u.iocb_cmd.timer.expires = jiffies + tmo * HZ;
|
||||
sp->free = qla2x00_sp_free;
|
||||
init_completion(&sp->comp);
|
||||
if (IS_QLAFX00(sp->vha->hw) && (sp->type == SRB_FXIOCB_DCMD))
|
||||
init_completion(&sp->u.iocb_cmd.u.fxiocb.fxiocb_comp);
|
||||
add_timer(&sp->u.iocb_cmd.timer);
|
||||
|
||||
@@ -905,7 +905,8 @@ static void qla_ctrlvp_sp_done(void *s, int res)
|
||||
{
|
||||
struct srb *sp = s;
|
||||
|
||||
complete(&sp->comp);
|
||||
if (sp->comp)
|
||||
complete(sp->comp);
|
||||
/* don't free sp here. Let the caller do the free */
|
||||
}
|
||||
|
||||
@@ -922,6 +923,7 @@ int qla24xx_control_vp(scsi_qla_host_t *vha, int cmd)
|
||||
struct qla_hw_data *ha = vha->hw;
|
||||
int vp_index = vha->vp_idx;
|
||||
struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev);
|
||||
DECLARE_COMPLETION_ONSTACK(comp);
|
||||
srb_t *sp;
|
||||
|
||||
ql_dbg(ql_dbg_vport, vha, 0x10c1,
|
||||
@@ -936,6 +938,7 @@ int qla24xx_control_vp(scsi_qla_host_t *vha, int cmd)
|
||||
|
||||
sp->type = SRB_CTRL_VP;
|
||||
sp->name = "ctrl_vp";
|
||||
sp->comp = ∁
|
||||
sp->done = qla_ctrlvp_sp_done;
|
||||
sp->u.iocb_cmd.timeout = qla2x00_async_iocb_timeout;
|
||||
qla2x00_init_timer(sp, qla2x00_get_async_timeout(vha) + 2);
|
||||
@@ -953,7 +956,9 @@ int qla24xx_control_vp(scsi_qla_host_t *vha, int cmd)
|
||||
ql_dbg(ql_dbg_vport, vha, 0x113f, "%s hndl %x submitted\n",
|
||||
sp->name, sp->handle);
|
||||
|
||||
wait_for_completion(&sp->comp);
|
||||
wait_for_completion(&comp);
|
||||
sp->comp = NULL;
|
||||
|
||||
rval = sp->rc;
|
||||
switch (rval) {
|
||||
case QLA_FUNCTION_TIMEOUT:
|
||||
|
||||
Reference in New Issue
Block a user