lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f4de493e53b6d2ea543d10bc07a030b32b1e2107.camel@gmail.com>
Date: Mon, 12 Aug 2024 17:41:40 +0200
From: Bean Huo <huobean@...il.com>
To: Kiwoong Kim <kwmad.kim@...sung.com>, linux-scsi@...r.kernel.org, 
 linux-kernel@...r.kernel.org, alim.akhtar@...sung.com, avri.altman@....com,
  bvanassche@....org, jejb@...ux.ibm.com, martin.petersen@...cle.com, 
 beanhuo@...ron.com, adrian.hunter@...el.com, h10.kim@...sung.com, 
 hy50.seo@...sung.com, sh425.lee@...sung.com, kwangwon.min@...sung.com, 
 junwoo80.lee@...sung.com, wkon.kim@...sung.com
Subject: Re: [PATCH v1] scsi: ufs: core: introduce override_cqe_ocs

On Mon, 2024-08-12 at 16:01 +0900, Kiwoong Kim wrote:
> UFSHCI defines OCS values but doesn't specify what exact
> conditions raise them. E.g. when some commands are nullified
> or cleaned up, Exynos host reposts OCS_ABORT. Even if
> an OEM wants to issue them again, not fail, current UFS driver
> fails them because it set command result to DID_ABORT.
> 
> So I think it needs another callback to replace the original OCS
> value with the value that works the way you want.
> 
I'm not clear on OCS was initiated by UFSHCI, but could you explain why
it can't be altered within UFSHCI?



> Signed-off-by: Kiwoong Kim <kwmad.kim@...sung.com>
> ---
>  drivers/ufs/core/ufshcd-priv.h | 9 +++++++++
>  drivers/ufs/core/ufshcd.c      | 4 +++-
>  include/ufs/ufshcd.h           | 1 +
>  3 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/ufs/core/ufshcd-priv.h
> b/drivers/ufs/core/ufshcd-priv.h
> index ce36154..4dec6eb 100644
> --- a/drivers/ufs/core/ufshcd-priv.h
> +++ b/drivers/ufs/core/ufshcd-priv.h
> @@ -275,6 +275,15 @@ static inline int
> ufshcd_mcq_vops_config_esi(struct ufs_hba *hba)
>         return -EOPNOTSUPP;
>  }
>  
> +static inline enum utp_ocs ufshcd_vops_override_cqe_ocs(struct
> ufs_hba *hba,
> +                                                       enum utp_ocs
> ocs)
> +{
> +       if (hba->vops && hba->vops->override_cqe_ocs)
> +               return hba->vops->override_cqe_ocs(hba);

it is useless until you should introudce an usage case.


Kind regards,
Bean

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ