Re: [PATCH 1/2] scsi: ufs: core: Add a quirk for extended TX EQTR Adapt L0L1L2L3 length
From: Peter Wang (王信友)
Date: Mon May 04 2026 - 05:20:03 EST
On Fri, 2026-05-01 at 06:16 -0700, Can Guo wrote:
>
> diff --git a/drivers/ufs/core/ufs-txeq.c b/drivers/ufs/core/ufs-
> txeq.c
> index b2dc89124353..fe647450a7a1 100644
> --- a/drivers/ufs/core/ufs-txeq.c
> +++ b/drivers/ufs/core/ufs-txeq.c
> @@ -740,7 +740,9 @@ static int
> ufshcd_setup_tx_eqtr_adapt_length(struct ufs_hba *hba,
> if (adapt_l0l1l2l3_cap_local >
> ADAPT_L0L1L2L3_LENGTH_MAX) {
> dev_err(hba->dev, "local
> RX_HS_G%u_ADAPT_INITIAL_L0L1L2L3_CAP (0x%x) exceeds MAX\n",
> gear, adapt_l0l1l2l3_cap_local);
> - return -EINVAL;
> +
> + if (!(hba->quirks &
> UFSHCD_QUIRK_EXTENDED_TX_EQTR_ADAPT_LENGTH_L0L1L2L3))
> + return -EINVAL;
> }
>
> ret = ufshcd_dme_get(hba,
> UIC_ARG_MIB(PA_PEERRXHSG6ADAPTINITIALL0L1L2L3),
> @@ -751,7 +753,9 @@ static int
> ufshcd_setup_tx_eqtr_adapt_length(struct ufs_hba *hba,
> if (adapt_l0l1l2l3_cap_peer >
> ADAPT_L0L1L2L3_LENGTH_MAX) {
> dev_err(hba->dev, "peer
> RX_HS_G%u_ADAPT_INITIAL_L0L1L2L3_CAP (0x%x) exceeds MAX\n",
> gear, adapt_l0l1l2l3_cap_peer);
> - return -EINVAL;
> +
> + if (!(hba->quirks &
> UFSHCD_QUIRK_EXTENDED_TX_EQTR_ADAPT_LENGTH_L0L1L2L3))
> + return -EINVAL;
>
Hi Can,
The quirk UFSHCD_QUIRK_EXTENDED_TX_EQTR_ADAPT_LENGTH_L0L1L2L3
is defined as a host quirk, but it appears to be used for the
device (peer) in this context. Is this usage wrong or intended?
Thanks
Peter