Loading drivers/scsi/ufs/ufshcd.c +16 −3 Original line number Diff line number Diff line Loading @@ -4893,9 +4893,17 @@ void ufshcd_abort_outstanding_transfer_requests(struct ufs_hba *hba, int result) update_req_stats(hba, lrbp); /* Mark completed command as NULL in LRB */ lrbp->cmd = NULL; ufshcd_release_all(hba); if (cmd->request) /* * As we are accessing the "request" structure, * this must be called before calling * ->scsi_done() callback. */ ufshcd_vops_pm_qos_req_end(hba, cmd->request, true); /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); ufshcd_release_all(hba); } else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE) { if (hba->dev_cmd.complete) { ufshcd_cond_add_cmd_trace(hba, index, Loading Loading @@ -4936,13 +4944,18 @@ static void __ufshcd_transfer_req_compl(struct ufs_hba *hba, update_req_stats(hba, lrbp); /* Mark completed command as NULL in LRB */ lrbp->cmd = NULL; /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); __ufshcd_release(hba, false); __ufshcd_hibern8_release(hba, false); if (cmd->request) /* * As we are accessing the "request" structure, * this must be called before calling * ->scsi_done() callback. */ ufshcd_vops_pm_qos_req_end(hba, cmd->request, false); /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); } else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE) { if (hba->dev_cmd.complete) { ufshcd_cond_add_cmd_trace(hba, index, Loading Loading
drivers/scsi/ufs/ufshcd.c +16 −3 Original line number Diff line number Diff line Loading @@ -4893,9 +4893,17 @@ void ufshcd_abort_outstanding_transfer_requests(struct ufs_hba *hba, int result) update_req_stats(hba, lrbp); /* Mark completed command as NULL in LRB */ lrbp->cmd = NULL; ufshcd_release_all(hba); if (cmd->request) /* * As we are accessing the "request" structure, * this must be called before calling * ->scsi_done() callback. */ ufshcd_vops_pm_qos_req_end(hba, cmd->request, true); /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); ufshcd_release_all(hba); } else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE) { if (hba->dev_cmd.complete) { ufshcd_cond_add_cmd_trace(hba, index, Loading Loading @@ -4936,13 +4944,18 @@ static void __ufshcd_transfer_req_compl(struct ufs_hba *hba, update_req_stats(hba, lrbp); /* Mark completed command as NULL in LRB */ lrbp->cmd = NULL; /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); __ufshcd_release(hba, false); __ufshcd_hibern8_release(hba, false); if (cmd->request) /* * As we are accessing the "request" structure, * this must be called before calling * ->scsi_done() callback. */ ufshcd_vops_pm_qos_req_end(hba, cmd->request, false); /* Do not touch lrbp after scsi done */ cmd->scsi_done(cmd); } else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE) { if (hba->dev_cmd.complete) { ufshcd_cond_add_cmd_trace(hba, index, Loading