From: Sumant Patro 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 Signed-off-by: Andrew Morton --- drivers/scsi/megaraid/megaraid_sas.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff -puN drivers/scsi/megaraid/megaraid_sas.c~scsi-megaraid_sas-return-sync-cache-call-with-success drivers/scsi/megaraid/megaraid_sas.c --- a/drivers/scsi/megaraid/megaraid_sas.c~scsi-megaraid_sas-return-sync-cache-call-with-success +++ a/drivers/scsi/megaraid/megaraid_sas.c @@ -857,6 +857,18 @@ megasas_queue_command(struct scsi_cmnd * 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; + } + /* Check if we can accept cmds */ if (instance->is_busy) { sec = (jiffies - instance->last_time) / HZ; _