diff options
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.c')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c index 4070894ed5f..01eb9b5870b 100644 --- a/drivers/scsi/megaraid/megaraid_sas.c +++ b/drivers/scsi/megaraid/megaraid_sas.c | |||
@@ -856,6 +856,18 @@ megasas_queue_command(struct scsi_cmnd *scmd, void (*done) (struct scsi_cmnd *)) | |||
856 | goto out_done; | 856 | goto out_done; |
857 | } | 857 | } |
858 | 858 | ||
859 | switch (scmd->cmnd[0]) { | ||
860 | case SYNCHRONIZE_CACHE: | ||
861 | /* | ||
862 | * FW takes care of flush cache on its own | ||
863 | * No need to send it down | ||
864 | */ | ||
865 | scmd->result = DID_OK << 16; | ||
866 | goto out_done; | ||
867 | default: | ||
868 | break; | ||
869 | } | ||
870 | |||
859 | cmd = megasas_get_cmd(instance); | 871 | cmd = megasas_get_cmd(instance); |
860 | if (!cmd) | 872 | if (!cmd) |
861 | return SCSI_MLQUEUE_HOST_BUSY; | 873 | return SCSI_MLQUEUE_HOST_BUSY; |