浏览代码

[SCSI] megaraid_sas: return sync cache call with success

FW does not support SYNCHRONIZE_CACHE cmd. FW flush cache on its own.
So, we just return success from the megasas_queue_command.

Signed-off-by: Sumant Patro <sumant.patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Sumant Patro 18 年之前
父节点
当前提交
02b01e010a
共有 1 个文件被更改,包括 12 次插入0 次删除
  1. 12 0
      drivers/scsi/megaraid/megaraid_sas.c

+ 12 - 0
drivers/scsi/megaraid/megaraid_sas.c

@@ -856,6 +856,18 @@ megasas_queue_command(struct scsi_cmnd *scmd, void (*done) (struct scsi_cmnd *))
 		goto out_done;
 		goto out_done;
 	}
 	}
 
 
+	switch (scmd->cmnd[0]) {
+	case SYNCHRONIZE_CACHE:
+		/*
+		 * FW takes care of flush cache on its own
+		 * No need to send it down
+		 */
+		scmd->result = DID_OK << 16;
+		goto out_done;
+	default:
+		break;
+	}
+
 	cmd = megasas_get_cmd(instance);
 	cmd = megasas_get_cmd(instance);
 	if (!cmd)
 	if (!cmd)
 		return SCSI_MLQUEUE_HOST_BUSY;
 		return SCSI_MLQUEUE_HOST_BUSY;