Lines Matching defs:scmd
236 struct scsi_cmnd *scmd);
364 cmd->scmd = NULL;
1694 if (!cmd->scmd)
1697 if (megasas_cmd_type(cmd->scmd) == READ_WRITE_LDIO) {
1742 struct scsi_cmnd *scmd)
1754 if (megasas_cmd_type(scmd) == READ_WRITE_LDIO)
1755 frame_count = megasas_build_ldio(instance, scmd, cmd);
1757 frame_count = megasas_build_dcdb(instance, scmd, cmd);
1762 cmd->scmd = scmd;
1763 megasas_priv(scmd)->cmd_priv = cmd;
1783 * @scmd: SCSI command to be queued
1786 megasas_queue_command(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
1793 scmd->device->host->hostdata;
1796 scmd->result = DID_NO_CONNECT << 16;
1797 scsi_done(scmd);
1807 if (megasas_check_mpio_paths(instance, scmd) ==
1811 scmd->result = DID_NO_CONNECT << 16;
1812 scsi_done(scmd);
1817 mr_device_priv_data = scmd->device->hostdata;
1820 scmd->result = DID_NO_CONNECT << 16;
1821 scsi_done(scmd);
1825 if (MEGASAS_IS_LOGICAL(scmd->device)) {
1826 ld_tgt_id = MEGASAS_TARGET_ID(scmd->device);
1828 scmd->result = DID_NO_CONNECT << 16;
1829 scsi_done(scmd);
1841 scmd->result = 0;
1843 if (MEGASAS_IS_LOGICAL(scmd->device) &&
1844 (scmd->device->id >= instance->fw_supported_vd_count ||
1845 scmd->device->lun)) {
1846 scmd->result = DID_BAD_TARGET << 16;
1850 if ((scmd->cmnd[0] == SYNCHRONIZE_CACHE) &&
1851 MEGASAS_IS_LOGICAL(scmd->device) &&
1853 scmd->result = DID_OK << 16;
1857 return instance->instancet->build_and_issue_cmd(instance, scmd);
1860 scsi_done(scmd);
2787 if (reset_cmd->scmd) {
2788 reset_cmd->scmd->result = DID_REQUEUE << 16;
2791 reset_cmd->scmd->cmnd[0]);
2793 scsi_done(reset_cmd->scmd);
2893 * @scmd: Mid-layer SCSI command
2899 static int megasas_generic_reset(struct scsi_cmnd *scmd)
2904 instance = (struct megasas_instance *)scmd->device->host->hostdata;
2906 scmd_printk(KERN_NOTICE, scmd, "megasas: RESET cmd=%x retries=%x\n",
2907 scmd->cmnd[0], scmd->retries);
2925 * @scmd: scsi cmnd
2930 static enum scsi_timeout_action megasas_reset_timer(struct scsi_cmnd *scmd)
2935 if (time_after(jiffies, scmd->jiffies_at_alloc +
2940 instance = (struct megasas_instance *)scmd->device->host->hostdata;
2996 * @scmd: SCSI command pointer of SCSI IO
2999 megasas_dump_fusion_io(struct scsi_cmnd *scmd)
3001 struct megasas_cmd_fusion *cmd = megasas_priv(scmd)->cmd_priv;
3005 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3007 scmd_printk(KERN_INFO, scmd,
3008 "scmd: (0x%p) retries: 0x%x allowed: 0x%x\n",
3009 scmd, scmd->retries, scmd->allowed);
3010 scsi_print_command(scmd);
3014 scmd_printk(KERN_INFO, scmd, "Request descriptor details:\n");
3015 scmd_printk(KERN_INFO, scmd,
3057 * @scmd: Mid-layer SCSI command
3059 static int megasas_reset_bus_host(struct scsi_cmnd *scmd)
3064 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3066 scmd_printk(KERN_INFO, scmd,
3069 scmd_printk(KERN_INFO, scmd,
3071 scmd->device->host->shost_state,
3072 scsi_host_busy(scmd->device->host),
3078 ret = megasas_generic_reset(scmd);
3080 megasas_dump_fusion_io(scmd);
3081 ret = megasas_reset_fusion(scmd->device->host,
3091 * @scmd: SCSI command pointer
3093 static int megasas_task_abort(struct scsi_cmnd *scmd)
3098 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3101 ret = megasas_task_abort_fusion(scmd);
3103 sdev_printk(KERN_NOTICE, scmd->device, "TASK ABORT not supported\n");
3113 * @scmd: SCSI command pointer
3115 static int megasas_reset_target(struct scsi_cmnd *scmd)
3120 instance = (struct megasas_instance *)scmd->device->host->hostdata;
3123 ret = megasas_reset_target_fusion(scmd);
3125 sdev_printk(KERN_NOTICE, scmd->device, "TARGET RESET not supported\n");
3607 if (cmd->scmd)
3608 megasas_priv(cmd->scmd)->cmd_priv = NULL;
3640 cmd->scmd->result = alt_status << 16;
3648 scsi_dma_unmap(cmd->scmd);
3649 scsi_done(cmd->scmd);
3658 cmd->scmd->result = DID_OK << 16;
3663 cmd->scmd->result =
3669 cmd->scmd->result = (DID_OK << 16) | hdr->scsi_status;
3672 memset(cmd->scmd->sense_buffer, 0,
3674 memcpy(cmd->scmd->sense_buffer, cmd->sense,
3682 cmd->scmd->result = DID_BAD_TARGET << 16;
3688 cmd->scmd->result = DID_ERROR << 16;
3694 scsi_dma_unmap(cmd->scmd);
3695 scsi_done(cmd->scmd);
3830 if (cmd->sync_cmd || cmd->scmd) {
3833 cmd, cmd->scmd, cmd->sync_cmd);
3841 cmd, cmd->scmd, cmd->sync_cmd);
3850 if (cmd->scmd) {
3861 } else if (cmd->scmd) {
3864 cmd, cmd->scmd->cmnd[0]);
3917 if (cmd->sync_cmd == 1 || cmd->scmd) {
3920 defer_index, cmd, cmd->sync_cmd, cmd->scmd);
3926 cmd, cmd->sync_cmd, cmd->scmd);
4491 cmd->scmd = NULL;