Re: [PATCH v2] scsi: ufs: core: Avoid possible memory reclaim deadlock in TX EQTR context
From: Martin K. Petersen
Date: Tue Jul 28 2026 - 22:56:39 EST
On Thu, 18 Jun 2026 07:09:29 -0700, Can Guo wrote:
> TX EQTR may run while devfreq gear scaling has quiesced the UFS tagset. In
> that context, functions ufshcd_tx_eqtr(), __ufshcd_tx_eqtr() and
> ufs_qcom_get_rx_fom() allocate memory with GFP_KERNEL. If direct reclaim
> is triggered, reclaim/writeback can depend on I/O to UFS device. Because
> the queue is quiesced, this can cause deadlock.
>
> Use memalloc_noio_save/restore() in ufshcd_tx_eqtr() to cover all
> allocations in the TX EQTR call tree, including:
> - params->eqtr_record in ufshcd_tx_eqtr()
> - eqtr_data in __ufshcd_tx_eqtr()
> - params in ufs_qcom_get_rx_fom()
>
> [...]
Applied to 7.3/scsi-queue, thanks!
[1/1] scsi: ufs: core: Avoid possible memory reclaim deadlock in TX EQTR context
https://git.kernel.org/mkp/scsi/c/760fc6f0e25a
--
Martin K. Petersen