Lines Matching defs:scmd

226 			    struct scsi_cmnd *scmd);
354 cmd->scmd = NULL;
1684 if (!cmd->scmd)
1687 if (megasas_cmd_type(cmd->scmd) == READ_WRITE_LDIO) {
1732 struct scsi_cmnd *scmd)
1744 if (megasas_cmd_type(scmd) == READ_WRITE_LDIO)
1745 frame_count = megasas_build_ldio(instance, scmd, cmd);
1747 frame_count = megasas_build_dcdb(instance, scmd, cmd);
1752 cmd->scmd = scmd;
1753 scmd->SCp.ptr = (char *)cmd;
1773 * @scmd: SCSI command to be queued
1776 megasas_queue_command(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
1783 scmd->device->host->hostdata;
1786 scmd->result = DID_NO_CONNECT << 16;
1787 scmd->scsi_done(scmd);
1797 if (megasas_check_mpio_paths(instance, scmd) ==
1801 scmd->result = DID_NO_CONNECT << 16;
1802 scmd->scsi_done(scmd);
1807 mr_device_priv_data = scmd->device->hostdata;
1810 scmd->result = DID_NO_CONNECT << 16;
1811 scmd->scsi_done(scmd);
1815 if (MEGASAS_IS_LOGICAL(scmd->device)) {
1816 ld_tgt_id = MEGASAS_TARGET_ID(scmd->device);
1818 scmd->result = DID_NO_CONNECT << 16;
1819 scmd->scsi_done(scmd);
1831 scmd->result = 0;
1833 if (MEGASAS_IS_LOGICAL(scmd->device) &&
1834 (scmd->device->id >= instance->fw_supported_vd_count ||
1835 scmd->device->lun)) {
1836 scmd->result = DID_BAD_TARGET << 16;
1840 if ((scmd->cmnd[0] == SYNCHRONIZE_CACHE) &&
1841 MEGASAS_IS_LOGICAL(scmd->device) &&
1843 scmd->result = DID_OK << 16;
1847 return instance->instancet->build_and_issue_cmd(instance, scmd);
1850 scmd->scsi_done(scmd);
2777 if (reset_cmd->scmd) {
2778 reset_cmd->scmd->result = DID_REQUEUE << 16;
2781 reset_cmd->scmd->cmnd[0]);
2783 reset_cmd->scmd->scsi_done(reset_cmd->scmd);
2883 * @scmd: Mid-layer SCSI command
2889 static int megasas_generic_reset(struct scsi_cmnd *scmd)
2894 instance = (struct megasas_instance *)scmd->device->host->hostdata;
2896 scmd_printk(KERN_NOTICE, scmd, "megasas: RESET cmd=%x retries=%x\n",
2897 scmd->cmnd[0], scmd->retries);
2915 * @scmd: scsi cmnd
2921 blk_eh_timer_return megasas_reset_timer(struct scsi_cmnd *scmd)
2926 if (time_after(jiffies, scmd->jiffies_at_alloc +
2931 instance = (struct megasas_instance *)scmd->device->host->hostdata;
2987 * @scmd: SCSI command pointer of SCSI IO
2990 megasas_dump_fusion_io(struct scsi_cmnd *scmd)
2996 cmd = (struct megasas_cmd_fusion *)scmd->SCp.ptr;
2997 instance = (struct megasas_instance *)scmd->device->host->hostdata;
2999 scmd_printk(KERN_INFO, scmd,
3000 "scmd: (0x%p) retries: 0x%x allowed: 0x%x\n",
3001 scmd, scmd->retries, scmd->allowed);
3002 scsi_print_command(scmd);
3006 scmd_printk(KERN_INFO, scmd, "Request descriptor details:\n");
3007 scmd_printk(KERN_INFO, scmd,
3049 * @scmd: Mid-layer SCSI command
3051 static int megasas_reset_bus_host(struct scsi_cmnd *scmd)
3056 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3058 scmd_printk(KERN_INFO, scmd,
3061 scmd_printk(KERN_INFO, scmd,
3063 scmd->device->host->shost_state,
3064 scsi_host_busy(scmd->device->host),
3070 ret = megasas_generic_reset(scmd);
3072 megasas_dump_fusion_io(scmd);
3073 ret = megasas_reset_fusion(scmd->device->host,
3083 * @scmd: SCSI command pointer
3085 static int megasas_task_abort(struct scsi_cmnd *scmd)
3090 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3093 ret = megasas_task_abort_fusion(scmd);
3095 sdev_printk(KERN_NOTICE, scmd->device, "TASK ABORT not supported\n");
3105 * @scmd: SCSI command pointer
3107 static int megasas_reset_target(struct scsi_cmnd *scmd)
3112 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3115 ret = megasas_reset_target_fusion(scmd);
3117 sdev_printk(KERN_NOTICE, scmd->device, "TARGET RESET not supported\n");
3571 if (cmd->scmd)
3572 cmd->scmd->SCp.ptr = NULL;
3604 cmd->scmd->result = alt_status << 16;
3612 scsi_dma_unmap(cmd->scmd);
3613 cmd->scmd->scsi_done(cmd->scmd);
3622 cmd->scmd->result = DID_OK << 16;
3627 cmd->scmd->result =
3633 cmd->scmd->result = (DID_OK << 16) | hdr->scsi_status;
3636 memset(cmd->scmd->sense_buffer, 0,
3638 memcpy(cmd->scmd->sense_buffer, cmd->sense,
3641 cmd->scmd->result |= DRIVER_SENSE << 24;
3648 cmd->scmd->result = DID_BAD_TARGET << 16;
3654 cmd->scmd->result = DID_ERROR << 16;
3660 scsi_dma_unmap(cmd->scmd);
3661 cmd->scmd->scsi_done(cmd->scmd);
3796 if (cmd->sync_cmd || cmd->scmd) {
3799 cmd, cmd->scmd, cmd->sync_cmd);
3807 cmd, cmd->scmd, cmd->sync_cmd);
3816 if (cmd->scmd) {
3827 } else if (cmd->scmd) {
3830 cmd, cmd->scmd->cmnd[0]);
3883 if (cmd->sync_cmd == 1 || cmd->scmd) {
3886 defer_index, cmd, cmd->sync_cmd, cmd->scmd);
3892 cmd, cmd->sync_cmd, cmd->scmd);
4461 cmd->scmd = NULL;