# UFS device issue

The kernel log records <cite>cmd pending in the device</cite> or <cite>no response from device</cite> when a UFS device issue occurs. For more information, reach out to the UFS device vendor.

Example 1:

> 
> 
> [ 82.928056][01-01 00:02:05] ufshcd-qcom 1d84000.ufshc: ufshcd\_abort: Device abort task at tag 1
> [ 82.928059][01-01 00:02:05] sd 0:0:0:4: [sde] tag#1 CDB: Read(10) 28 00 00 00 44 49 00 00 20 00
> [ 82.936477][01-01 00:02:05] ufshcd-qcom 1d84000.ufshc: UPIU[1] - issue time 50955434 us
> [ 82.936479][01-01 00:02:05] ufshcd-qcom 1d84000.ufshc: UPIU[1] - complete time 0 us
> [ 82.936567][01-01 00:02:05] ufshcd-qcom 1d84000.ufshc: ufshcd\_abort: cmd pending in the device. tag = 1

Example 2 :

> 
> 
> [ 1036.008147] [1230\_22:00:49]@0 ufshcd-qcom 1d84000.ufshc: ufshcd\_abort: Device abort task at tag 2
> [ 1036.008510] [1230\_22:00:49]@0 sd 0:0:0:0: tag#2 CDB: opcode=0xfa (vendor) fa 02 01 48 07 79 ae 03 50 00
> [ 1036.120287] [1230\_22:00:50]@1 ufshcd-qcom 1d84000.ufshc: ufshcd\_abort: no response from device. tag = 2, err -110.

## Physical adapter or data link error

In the kernel log, `pa_err_cnt_total` and `dl_err_cnt_total` with non-zero values indicate a physical adapter or data link (PA/DL) error issue.
This issue occurs when the signal quality between the AP and the UFS device isn’t strong, and requires modification in all three components, such as hardware, software, and the UFS device vendor to resolve.

To view the PA/DL error count, use the `debugfs` path `/sys/kernel/debug/ufshcd/1d84000.ufs/stats`.

Mount `debugfs` using the following command. This command ensures that the `debugfs` file system remains accessible for the debug nodes.

> 
> 
> mount -t debugfs none /sys/kernel/debug
>     Copy to clipboard

Example:

> 
> 
> [31709.438001] ufshcd-qcom 1d84000.ufshc: pa\_err\_cnt\_total=5086, pa\_lane\_0\_err\_cnt=3250, pa\_lane\_1\_err\_cnt=1405, pa\_line\_reset\_err\_cnt=431
> [31709.438008] ufshcd-qcom 1d84000.ufshc: dl\_err\_cnt\_total=4488, dl\_nac\_received\_err\_cnt=289, dl\_tcx\_replay\_timer\_expired\_err\_cnt=258
> [31709.438015] ufshcd-qcom 1d84000.ufshc: dl\_afcx\_request\_timer\_expired\_err\_cnt=0, dl\_fcx\_protection\_timer\_expired\_err\_cnt=0, dl\_crc\_err\_cnt=18

### Active state UFS device power consumption issue

> 
> 
> Use the following steps to debug UFS device high power consumption during active state.
> 
> 
> 1. Check how often the issue occurs. Use the following SSH command to check current clock frequency.
> 
> 
> 
> > 
> > 
> > > 
> > > 
> > > cat /sys/devices/platform/soc@0/1d84000.ufs/devfreq/1d84000.ufs/cur_freq
> > >         Copy to clipboard
> > 
> > 
> > 
> > Note
> > 
> > 
> > If the frequency is maximum, skip to Step 3.
> 2. Check whether any UFS device-related feature (such as WriteBooster) is enabled.
> 3. Check whether clock scale is disabled.
> 
> 
> 
> > 
> > 
> > cat /sys/devices/platform/soc@0/1d84000.ufs/clkscale_enable
> >         Copy to clipboard
> 4. Monitor the UFS device clocks frequency and UFS device rails.
> 
> 
>     The issue may occur due to the initial setting or due to an unexpected devfreq event.

### Sleep state power consumption issue

> 
> 
> During sleep state, if UFS device power consumption is high, use the following steps to debug UFS device suspend-related issues.
> 
> 1. Check the power management state using sysfs nodes `link_state`, `curr_freq`, and `runtime_status` and PM level (`PM_LVL` 3 has higher power consumption than 5).
> 2. Check the UFS device state using sysfs node `dev_pm` to determine whether UFS device is in sleep mode.
> 3. Check whether the HPB and write booster features are enabled because they cause high power consumption.
> 4. Check the UFS device VCC/VCCQ/VCCQ2 timing from the hardware side if an issue occurs.

### Unhandled UFS device SMMU issue

System memory management Unit (SMMU) is a memory management unit (MMU) that connects a direct-memory-access-capable (DMA-capable) I/O bus to the physical memory.

Each device is assigned a unique stream ID (SID). The UFS device controller SID value is 0x80.

For unhandled SMMU fault from UFS device SMMU, disable the UFS device SMMU.

arm-smmu 15000000.apps-smmu: Unhandled arm-smmu context fault from 1d84000.ufshc!
    Copy to clipboard

To disable UFS device SMMU, modify the `ufshc_mem` node in `<workspace_root_path>/sources/kernel/kernel_platform/kernel/arch/arm64/boot/dts/qcom/sc7280.dtsi` file.

-   qcom,iommu-dma = "fastmap";
    +   qcom,iommu-dma = "bypass";
    Copy to clipboard

Last Published: Mar 26, 2025

[Previous Topic
Debug common storage driver issues](https://docs.qualcomm.com/bundle/publicresource/80-70018-6/topics/debug.md) [Next Topic
Debug with sysfs or debugfs nodes](https://docs.qualcomm.com/bundle/publicresource/80-70018-6/topics/ufs-sysfs-debugfs.md)