|
@@ -682,44 +682,6 @@ qla2x00_wait_for_loop_ready(scsi_qla_host_t *vha)
|
|
|
return (return_status);
|
|
|
}
|
|
|
|
|
|
-void
|
|
|
-qla2x00_abort_fcport_cmds(fc_port_t *fcport)
|
|
|
-{
|
|
|
- int cnt;
|
|
|
- unsigned long flags;
|
|
|
- srb_t *sp;
|
|
|
- scsi_qla_host_t *vha = fcport->vha;
|
|
|
- struct qla_hw_data *ha = vha->hw;
|
|
|
- struct req_que *req;
|
|
|
-
|
|
|
- spin_lock_irqsave(&ha->hardware_lock, flags);
|
|
|
- req = vha->req;
|
|
|
- for (cnt = 1; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) {
|
|
|
- sp = req->outstanding_cmds[cnt];
|
|
|
- if (!sp)
|
|
|
- continue;
|
|
|
- if (sp->fcport != fcport)
|
|
|
- continue;
|
|
|
- if (sp->ctx)
|
|
|
- continue;
|
|
|
-
|
|
|
- spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
|
|
- if (ha->isp_ops->abort_command(sp)) {
|
|
|
- DEBUG2(qla_printk(KERN_WARNING, ha,
|
|
|
- "Abort failed -- %lx\n",
|
|
|
- sp->cmd->serial_number));
|
|
|
- } else {
|
|
|
- if (qla2x00_eh_wait_on_command(sp->cmd) !=
|
|
|
- QLA_SUCCESS)
|
|
|
- DEBUG2(qla_printk(KERN_WARNING, ha,
|
|
|
- "Abort failed while waiting -- %lx\n",
|
|
|
- sp->cmd->serial_number));
|
|
|
- }
|
|
|
- spin_lock_irqsave(&ha->hardware_lock, flags);
|
|
|
- }
|
|
|
- spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
|
|
-}
|
|
|
-
|
|
|
/**************************************************************************
|
|
|
* qla2xxx_eh_abort
|
|
|
*
|