Merge remote-tracking branch 'mkp-scsi/4.9/scsi-fixes' into fixes
This commit is contained in:
commit
49ce5b5f03
|
@ -2636,18 +2636,9 @@ static int arcmsr_queue_command_lck(struct scsi_cmnd *cmd,
|
|||
struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata;
|
||||
struct CommandControlBlock *ccb;
|
||||
int target = cmd->device->id;
|
||||
int lun = cmd->device->lun;
|
||||
uint8_t scsicmd = cmd->cmnd[0];
|
||||
cmd->scsi_done = done;
|
||||
cmd->host_scribble = NULL;
|
||||
cmd->result = 0;
|
||||
if ((scsicmd == SYNCHRONIZE_CACHE) ||(scsicmd == SEND_DIAGNOSTIC)){
|
||||
if(acb->devstate[target][lun] == ARECA_RAID_GONE) {
|
||||
cmd->result = (DID_NO_CONNECT << 16);
|
||||
}
|
||||
cmd->scsi_done(cmd);
|
||||
return 0;
|
||||
}
|
||||
if (target == 16) {
|
||||
/* virtual device for iop message transfer */
|
||||
arcmsr_handle_virtual_command(acb, cmd);
|
||||
|
|
|
@ -1700,16 +1700,13 @@ megasas_queue_command(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
|
|||
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
|
||||
*/
|
||||
/*
|
||||
* FW takes care of flush cache on its own for Virtual Disk.
|
||||
* No need to send it down for VD. For JBOD send SYNCHRONIZE_CACHE to FW.
|
||||
*/
|
||||
if ((scmd->cmnd[0] == SYNCHRONIZE_CACHE) && MEGASAS_IS_LOGICAL(scmd)) {
|
||||
scmd->result = DID_OK << 16;
|
||||
goto out_done;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return instance->instancet->build_and_issue_cmd(instance, scmd);
|
||||
|
|
|
@ -5134,6 +5134,7 @@ static void __exit scsi_debug_exit(void)
|
|||
bus_unregister(&pseudo_lld_bus);
|
||||
root_device_unregister(pseudo_primary);
|
||||
|
||||
vfree(map_storep);
|
||||
vfree(dif_storep);
|
||||
vfree(fake_storep);
|
||||
kfree(sdebug_q_arr);
|
||||
|
|
Loading…
Reference in New Issue