Lines Matching refs:scsi_cmd

664 	ipr_cmd->scsi_cmd = NULL;  in ipr_reinit_ipr_cmnd()
864 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in __ipr_scsi_eh_done() local
866 scsi_cmd->result |= (DID_ERROR << 16); in __ipr_scsi_eh_done()
868 scsi_dma_unmap(ipr_cmd->scsi_cmd); in __ipr_scsi_eh_done()
869 scsi_cmd->scsi_done(scsi_cmd); in __ipr_scsi_eh_done()
921 if (ipr_cmd->scsi_cmd) in ipr_fail_all_ops()
5056 if (ipr_cmd->scsi_cmd && ipr_cmd->scsi_cmd->device == device) in ipr_match_lun()
5319 static int __ipr_eh_dev_reset(struct scsi_cmnd *scsi_cmd) in __ipr_eh_dev_reset() argument
5329 ioa_cfg = (struct ipr_ioa_cfg *) scsi_cmd->device->host->hostdata; in __ipr_eh_dev_reset()
5330 res = scsi_cmd->device->hostdata; in __ipr_eh_dev_reset()
5363 scmd_printk(KERN_ERR, scsi_cmd, "Resetting device\n"); in __ipr_eh_dev_reset()
5367 spin_unlock_irq(scsi_cmd->device->host->host_lock); in __ipr_eh_dev_reset()
5369 spin_lock_irq(scsi_cmd->device->host->host_lock); in __ipr_eh_dev_reset()
5491 static int ipr_cancel_op(struct scsi_cmnd *scsi_cmd) in ipr_cancel_op() argument
5502 ioa_cfg = (struct ipr_ioa_cfg *)scsi_cmd->device->host->hostdata; in ipr_cancel_op()
5503 res = scsi_cmd->device->hostdata; in ipr_cancel_op()
5528 if (ioa_cfg->ipr_cmnd_list[i]->scsi_cmd == scsi_cmd) { in ipr_cancel_op()
5546 ipr_cmd->u.sdev = scsi_cmd->device; in ipr_cancel_op()
5548 scmd_printk(KERN_ERR, scsi_cmd, "Aborting command: %02X\n", in ipr_cancel_op()
5549 scsi_cmd->cmnd[0]); in ipr_cancel_op()
5599 static int ipr_eh_abort(struct scsi_cmnd *scsi_cmd) in ipr_eh_abort() argument
5607 ioa_cfg = (struct ipr_ioa_cfg *) scsi_cmd->device->host->hostdata; in ipr_eh_abort()
5609 spin_lock_irqsave(scsi_cmd->device->host->host_lock, flags); in ipr_eh_abort()
5610 rc = ipr_cancel_op(scsi_cmd); in ipr_eh_abort()
5611 spin_unlock_irqrestore(scsi_cmd->device->host->host_lock, flags); in ipr_eh_abort()
5614 rc = ipr_wait_for_ops(ioa_cfg, scsi_cmd->device, ipr_match_lun); in ipr_eh_abort()
5924 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in ipr_build_ioadl64() local
5928 length = scsi_bufflen(scsi_cmd); in ipr_build_ioadl64()
5932 nseg = scsi_dma_map(scsi_cmd); in ipr_build_ioadl64()
5945 if (scsi_cmd->sc_data_direction == DMA_TO_DEVICE) { in ipr_build_ioadl64()
5948 } else if (scsi_cmd->sc_data_direction == DMA_FROM_DEVICE) in ipr_build_ioadl64()
5951 scsi_for_each_sg(scsi_cmd, sg, ipr_cmd->dma_use_sg, i) { in ipr_build_ioadl64()
5976 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in ipr_build_ioadl() local
5980 length = scsi_bufflen(scsi_cmd); in ipr_build_ioadl()
5984 nseg = scsi_dma_map(scsi_cmd); in ipr_build_ioadl()
5992 if (scsi_cmd->sc_data_direction == DMA_TO_DEVICE) { in ipr_build_ioadl()
5998 } else if (scsi_cmd->sc_data_direction == DMA_FROM_DEVICE) { in ipr_build_ioadl()
6012 scsi_for_each_sg(scsi_cmd, sg, ipr_cmd->dma_use_sg, i) { in ipr_build_ioadl()
6034 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in __ipr_erp_done() local
6035 struct ipr_resource_entry *res = scsi_cmd->device->hostdata; in __ipr_erp_done()
6039 scsi_cmd->result |= (DID_ERROR << 16); in __ipr_erp_done()
6040 scmd_printk(KERN_ERR, scsi_cmd, in __ipr_erp_done()
6043 memcpy(scsi_cmd->sense_buffer, ipr_cmd->sense_buffer, in __ipr_erp_done()
6052 scsi_dma_unmap(ipr_cmd->scsi_cmd); in __ipr_erp_done()
6053 scsi_cmd->scsi_done(scsi_cmd); in __ipr_erp_done()
6180 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in ipr_erp_cancel_all() local
6181 struct ipr_resource_entry *res = scsi_cmd->device->hostdata; in ipr_erp_cancel_all()
6188 if (!scsi_cmd->device->simple_tags) { in ipr_erp_cancel_all()
6280 u8 *sense_buf = ipr_cmd->scsi_cmd->sense_buffer; in ipr_gen_sense()
6281 struct ipr_resource_entry *res = ipr_cmd->scsi_cmd->device->hostdata; in ipr_gen_sense()
6290 ipr_cmd->scsi_cmd->result = SAM_STAT_CHECK_CONDITION; in ipr_gen_sense()
6379 memcpy(ipr_cmd->scsi_cmd->sense_buffer, ioasa64->auto_sense.data, in ipr_get_autosense()
6383 memcpy(ipr_cmd->scsi_cmd->sense_buffer, ioasa->auto_sense.data, in ipr_get_autosense()
6403 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in ipr_erp_start() local
6404 struct ipr_resource_entry *res = scsi_cmd->device->hostdata; in ipr_erp_start()
6421 scsi_cmd->result |= (DID_ABORT << 16); in ipr_erp_start()
6423 scsi_cmd->result |= (DID_IMM_RETRY << 16); in ipr_erp_start()
6427 scsi_cmd->result |= (DID_NO_CONNECT << 16); in ipr_erp_start()
6430 scsi_cmd->result |= (DID_NO_CONNECT << 16); in ipr_erp_start()
6437 scsi_cmd->result |= (DID_IMM_RETRY << 16); in ipr_erp_start()
6445 if (scsi_cmd->result != SAM_STAT_CHECK_CONDITION) in ipr_erp_start()
6446 scsi_cmd->result |= (DID_PASSTHROUGH << 16); in ipr_erp_start()
6455 scsi_report_bus_reset(ioa_cfg->host, scsi_cmd->device->channel); in ipr_erp_start()
6456 scsi_cmd->result |= (DID_ERROR << 16); in ipr_erp_start()
6461 scsi_cmd->result |= IPR_IOASC_SENSE_STATUS(ioasc); in ipr_erp_start()
6478 scsi_cmd->result |= (DID_IMM_RETRY << 16); in ipr_erp_start()
6480 scsi_cmd->result |= (DID_ERROR << 16); in ipr_erp_start()
6484 scsi_cmd->result |= (DID_ERROR << 16); in ipr_erp_start()
6490 scsi_dma_unmap(ipr_cmd->scsi_cmd); in ipr_erp_start()
6491 scsi_cmd->scsi_done(scsi_cmd); in ipr_erp_start()
6510 struct scsi_cmnd *scsi_cmd = ipr_cmd->scsi_cmd; in ipr_scsi_done() local
6514 scsi_set_resid(scsi_cmd, be32_to_cpu(ipr_cmd->s.ioasa.hdr.residual_data_len)); in ipr_scsi_done()
6517 scsi_dma_unmap(scsi_cmd); in ipr_scsi_done()
6520 scsi_cmd->scsi_done(scsi_cmd); in ipr_scsi_done()
6547 struct scsi_cmnd *scsi_cmd) in ipr_queuecommand() argument
6560 scsi_cmd->result = (DID_OK << 16); in ipr_queuecommand()
6561 res = scsi_cmd->device->hostdata; in ipr_queuecommand()
6565 rc = ata_sas_queuecmd(scsi_cmd, res->sata_port->ap); in ipr_queuecommand()
6603 memcpy(ioarcb->cmd_pkt.cdb, scsi_cmd->cmnd, scsi_cmd->cmd_len); in ipr_queuecommand()
6604 ipr_cmd->scsi_cmd = scsi_cmd; in ipr_queuecommand()
6608 if (scsi_cmd->underflow == 0) in ipr_queuecommand()
6621 if (scsi_cmd->flags & SCMD_TAGGED) in ipr_queuecommand()
6627 if (scsi_cmd->cmnd[0] >= 0xC0 && in ipr_queuecommand()
6628 (!ipr_is_gscsi(res) || scsi_cmd->cmnd[0] == IPR_QUERY_RSRC_STATE)) { in ipr_queuecommand()
6634 if (scsi_cmd->underflow == 0) in ipr_queuecommand()
6648 scsi_dma_unmap(scsi_cmd); in ipr_queuecommand()
6655 scsi_dma_unmap(scsi_cmd); in ipr_queuecommand()
6672 memset(scsi_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); in ipr_queuecommand()
6673 scsi_cmd->result = (DID_NO_CONNECT << 16); in ipr_queuecommand()
6674 scsi_cmd->scsi_done(scsi_cmd); in ipr_queuecommand()