Skip to content

drm/msm: GPU recovery, IRQ, and state capture fixes#771

Open
veereshbagale wants to merge 6 commits into
qualcomm-linux:qcom-6.18.yfrom
veereshbagale:qcom-6.18.y
Open

drm/msm: GPU recovery, IRQ, and state capture fixes#771
veereshbagale wants to merge 6 commits into
qualcomm-linux:qcom-6.18.yfrom
veereshbagale:qcom-6.18.y

Conversation

@veereshbagale

@veereshbagale veereshbagale commented Jun 25, 2026

Copy link
Copy Markdown

Bug fixes for the Adreno GPU driver covering recovery correctness, IRQ handling, and state capture.

Summary of changes:

  1. Always recover GPU in hang scenarios

    • Backport of upstream commit required for correct recovery behavior.
    • This change is present in mainline but missing in the 6.18 branch, and is required as a dependency for subsequent fixes.
  2. Recover HW before retiring hung submit

    • Prevents page faults by ensuring GPU recovery happens before retiring submits that may still be in use.
  3. Fix GPUCC register list for A663

    • Corrects incorrect register list usage to avoid out-of-bounds accesses during state capture.
  4. Fix GPUCC register list for A621

    • Adds dedicated A621 GPUCC register list and renames shared list appropriately.
  5. Fix IRQ storm during msm_recovery test

    • Masks GPU error IRQs during debug-triggered recovery to prevent interrupt storms and watchdog issues.
  6. Fix task_struct reference leak in recover_worker

    • Adds missing put_task_struct() to prevent reference leaks during GPU recovery.

CRs-Fixed: 4434857, 4434916

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #771 — validate-patch

PR: #771

Verdict Issues Detailed Report
⚠️ 2 Full report

Final Summary

  1. Lore link present: Yes for patches 2-6 (lore.kernel.org); Patchwork link for patch 1
  2. Lore link matches PR commits: Cannot verify — links are future-dated (2026-06-05) and not yet accessible
  3. Upstream patch status: Patch 1 is upstreamed (cherry-picked from 01a0d6c); patches 2-6 are FROMLIST (in review, not yet merged)
  4. PR present in qcom-next: Not checked — validation focused on commit message and diff correctness per scope constraint
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #771
Series: 6 patches - drm/msm GPU recovery and register fixes
Verdict: ⚠️ PARTIAL — Authorship order issue in patches 2-6

Summary by Patch

Patch 1/6: drm/msm: always recover the gpu

Check Status Note
Subject matches upstream Clean subject line
Body preserves rationale Full explanation of hang recovery issue
Fixes tag present/correct N/A No Fixes tag (new feature/behavior change)
Authorship preserved Anna Maniscalco → Rob Clark → Veeresh Bagale
Backport note Cherry-pick note with upstream SHA present

Diff: ✅ Removes if (msm_gpu_active(gpu)) guard, always runs recovery


Patch 2/6: FROMLIST: drm/msm: Recover HW before retire hung submit

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Explains GPU pagefault risk during BO free
Fixes tag present/correct Fixes: 1a370be
Authorship preserved ⚠️ Author is Jie Zhang but first SoB is Veeresh Bagale
Backport note N/A FROMLIST (not yet merged)

Diff: ✅ Moves gpu->funcs->recover(gpu) before retire_submits(gpu)


Patch 3/6: FROMLIST: drm/msm/a6xx: Fix A663 GPUCC register list

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Explains out-of-bounds register access risk
Fixes tag present/correct Fixes: 5773cce
Authorship preserved ⚠️ Author is Jie Zhang but first SoB is Veeresh Bagale
Backport note N/A FROMLIST (not yet merged)

Diff: ✅ Adds adreno_is_a663() to condition for a621_gpucc_reg


Patch 4/6: FROMLIST: drm/msm/a6xx: Fix A621 GPUCC register list

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Explains A621 vs A623/A663 register list mismatch
Fixes tag present/correct Fixes: 11cdb81
Authorship preserved ⚠️ Author is Jie Zhang but first SoB is Veeresh Bagale
Backport note N/A FROMLIST (not yet merged)

Diff: ✅ Splits register lists: new a621_gmu_gpucc_registers[], renames old to a623_gmu_gpucc_registers[]


Patch 5/6: FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Explains IRQ storm blocking hangcheck timer
Fixes tag present/correct Fixes: 5edf275
Authorship preserved ⚠️ Author is Jie Zhang but first SoB is Veeresh Bagale
Backport note N/A FROMLIST (not yet merged)

Diff: ✅ Masks GPU error IRQs in a5xx/a6xx_irq(), re-enables in recover_worker()


Patch 6/6: FROMLIST: drm/msm: Fix task_struct reference leak

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Explains missing put_task_struct() leak
Fixes tag present/correct Fixes: 25654a1
Authorship preserved ⚠️ Author is Jie Zhang but first SoB is Veeresh Bagale
Backport note N/A FROMLIST (not yet merged)

Diff: ✅ Adds put_task_struct(task) in else branch


Issues

Critical: Authorship Order Violation (Patches 2-6)

Patches 2-6 violate kernel Signed-off-by chain convention:

  • Author: Jie Zhang <jie.zhang@oss.qualcomm.com>
  • First Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>

Kernel convention: The patch author's Signed-off-by MUST appear first in the chain. The current order suggests Veeresh authored the patch and passed it to Jie, which contradicts the From: field.

Correct order should be:

From: Jie Zhang <jie.zhang@oss.qualcomm.com>
...
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>

Impact: This will be flagged by maintainers during upstream review and may cause the patches to be rejected or require resubmission.


Diff Validation

All diffs are technically correct and apply cleanly in sequence:

File Patches Status Notes
drivers/gpu/drm/msm/msm_gpu.c 1,2,5,6 Sequential changes apply cleanly
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c 3,4 Patch 4 correctly builds on patch 3
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h 4 Adds new register array definitions
drivers/gpu/drm/msm/adreno/a5xx_gpu.c 5 IRQ masking logic correct
drivers/gpu/drm/msm/adreno/a6xx_gpu.c 5 IRQ masking logic correct

Verdict

⚠️ PARTIAL PASS — Fix authorship order before merge

What needs fixing:

  1. Reorder Signed-off-by tags in patches 2-6 to place Jie Zhang's signature first (matching the From: author field)
  2. Verify the corrected patches match the upstream lore links when they become accessible

Technical correctness: All diffs are correct and address real bugs:

  • Patch 1: Ensures GPU recovery always runs (cherry-picked from upstream)
  • Patch 2: Prevents GPU pagefaults during recovery
  • Patches 3-4: Fix register list out-of-bounds access for A621/A623/A663
  • Patch 5: Prevents IRQ storm during recovery test
  • Patch 6: Fixes task_struct reference leak

Recommendation: Do not merge until authorship order is corrected. The technical changes are sound, but the metadata violates kernel submission guidelines.


Final Summary

  1. Lore link present: Yes for patches 2-6 (lore.kernel.org); Patchwork link for patch 1
  2. Lore link matches PR commits: Cannot verify — links are future-dated (2026-06-05) and not yet accessible
  3. Upstream patch status: Patch 1 is upstreamed (cherry-picked from 01a0d6c); patches 2-6 are FROMLIST (in review, not yet merged)
  4. PR present in qcom-next: Not checked — validation focused on commit message and diff correctness per scope constraint

@qlijarvis

Copy link
Copy Markdown

PR #771 — checker-log-analyzer

PR: #771
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28148639479

Checker Result Summary
Checker Result Summary
checkpatch 3 commits with style issues (1 warning, 2 checks)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed - no new sparse warnings
check-uapi-headers Passed - no UAPI header changes
check-patch-compliance 2 blockers: missing prefix + patch mismatch
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ Not applicable (5/6 commits are FROMLIST:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #771 - drm/msm GPU recovery fixes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28148639479

Checker Result Summary
checkpatch 3 commits with style issues (1 warning, 2 checks)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed - no new sparse warnings
check-uapi-headers Passed - no UAPI header changes
check-patch-compliance 2 blockers: missing prefix + patch mismatch
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ Not applicable (5/6 commits are FROMLIST:)

❌ check-patch-compliance

Root cause: Two compliance violations detected

Failure details:

  1. Commit 4b74afb4ddcc ("drm/msm: always recover the gpu")

    Commit summary does not start with a required prefix
    

    This commit lacks the required UPSTREAM: or FROMLIST: prefix.

  2. Commit 5fa06138db78 ("FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test")

    Change is different from the one mentioned in Link
    

    The patch content differs from the upstream version referenced in the Link: tag.

Fix:

  1. For commit 1 (missing prefix):

    • Add UPSTREAM: prefix if this commit is already merged in mainline
    • Add FROMLIST: prefix if it's still under review on the mailing list
    • Check the commit metadata to determine which applies
  2. For commit 5 (patch mismatch):

    • Verify the Link: tag points to the correct lore.kernel.org URL
    • Ensure the patch content matches the upstream version exactly
    • If intentional changes were made, document them in the commit message
    • Consider re-fetching the patch from lore using b4 am <message-id>

Reproduce locally:

cd kernel/
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . \
  --base c9744addfb04eec214121e1fc11040e828576da4 --head d9d8de83f2353b6dfd07b33b75c1cf277e2f3d67

❌ checkpatch

Root cause: Coding style violations in 3 commits

Failure details:

  1. Commit 4b74afb4ddcc ("drm/msm: always recover the gpu")

    WARNING: The commit message has 'stable@', perhaps it also needs a 'Fixes:' tag?
    
  2. Commit 2d6eb34ace1f ("FROMLIST: drm/msm/a6xx: Fix A621 GPUCC register list for state capture")

    CHECK: Alignment should match open parenthesis
    #38: FILE: drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1252:
    +		_a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
    +			&a6xx_state->gmu_registers[2], false);
    
  3. Commit 5fa06138db78 ("FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test")

    CHECK: Alignment should match open parenthesis
    #37: FILE: drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1286:
    +		gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
    +			       A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |
    

Fix:

  1. For the WARNING: Add a Fixes: tag to commit 1 since it includes Cc: stable@vger.kernel.org

  2. For the CHECK issues: Fix indentation to align continuation lines with the opening parenthesis:

    // Commit 4: Fix alignment
    _a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
                            &a6xx_state->gmu_registers[2], false);
    
    // Commit 5: Fix alignment
    gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
              A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Reproduce locally:

cd kernel/
./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES \
  --git c9744addfb04eec214121e1fc11040e828576da4..d9d8de83f2353b6dfd07b33b75c1cf277e2f3d67

Verdict

2 blockers must be fixed before merge:

  1. Critical: Commit 1 missing required UPSTREAM:/FROMLIST: prefix (check-patch-compliance)
  2. Critical: Commit 5 patch content mismatch with upstream Link (check-patch-compliance)

3 style issues (non-blocking but recommended):

  • Add Fixes: tag to commit 1
  • Fix alignment in commits 4 and 5

The checkpatch style issues are minor and can be addressed during review, but the two check-patch-compliance failures are blocking and must be resolved.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

1 similar comment
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #771 — validate-patch

PR: #771

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present:

    • Patch 1: Yes (Patchwork + Message-ID)
    • Patches 2-6: Yes (lore.kernel.org links present)
  2. Lore link matches PR commits:

    • Cannot verify — lore links dated in future (June 2026) and not accessible
    • Metadata structure suggests proper FROMLIST workflow
  3. Upstream patch status:

    • Patch 1: ✅ Upstreamed (cherry-picked from 01a0d6cd7032)
    • Patches 2-6: 📝 FROMLIST (posted for review, not yet merged)
  4. PR present in qcom-next:

    • Not checked — no kernel tree access per constraints
    • Patch 1 should exist via upstream cherry-pick
    • Patches 2-6 are FROMLIST, may not be in qcom-next yet
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #771
Title: drm/msm GPU recovery and register fixes (6 patches)
Upstream status: Mixed (1 upstreamed, 5 FROMLIST)
Verdict: ⚠️ PARTIAL — Sign-off order issues in patches 2-6

Commit Message Analysis

Patch Subject Match Body Preserved Fixes Tag Authorship Backport Note Status
1/6 N/A ✅ cherry-pick
2/6 ✅ FROMLIST ⚠️
3/6 ✅ FROMLIST ⚠️
4/6 ✅ FROMLIST ⚠️
5/6 ✅ FROMLIST ⚠️
6/6 ✅ FROMLIST ⚠️

Patch 1: drm/msm: always recover the gpu

  • ✅ Subject: Clean, descriptive
  • ✅ Body: Explains problem and solution clearly
  • ✅ Authorship: Anna Maniscalco preserved
  • ✅ Cherry-pick: Properly noted from 01a0d6cd7032e9993feea19fadb03ef9d5b488f2
  • ✅ Links: Patchwork + Message-ID present
  • ✅ Sign-off chain: Anna → Rob Clark → Veeresh Bagale (correct order)
  • ✅ Cc: stable tag present

Patches 2-6: FROMLIST series by Jie Zhang

  • ✅ Subject: All properly prefixed with FROMLIST:
  • ✅ Body: Clear problem descriptions and solutions
  • ✅ Fixes tags: All present with commit SHA and description
  • ✅ Links: All have lore.kernel.org message links
  • ✅ Authorship: Jie Zhang preserved as From: author
  • ⚠️ Sign-off order issue: Author sign-off appears SECOND instead of FIRST

Diff Analysis

File Patches Status Notes
drivers/gpu/drm/msm/msm_gpu.c 1,2,5,6 Sequential changes, no conflicts
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c 3,4 Register list fixes
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h 4 New register array added
drivers/gpu/drm/msm/adreno/a5xx_gpu.c 5 IRQ masking added
drivers/gpu/drm/msm/adreno/a6xx_gpu.c 5 IRQ masking added

Patch sequence correctness:

  • ✅ Patch 1: Removes if (msm_gpu_active(gpu)) check — always recover
  • ✅ Patch 2: Moves gpu->funcs->recover() BEFORE retire_submits() — fixes use-after-free
  • ✅ Patch 3: Adds A663 to A621/A623 GPUCC register list condition
  • ✅ Patch 4: Splits A621 and A623/A663 register lists (A621 was using wrong list)
  • ✅ Patch 5: Masks GPU error IRQs during recovery test to prevent IRQ storm
  • ✅ Patch 6: Adds missing put_task_struct() in else branch

All diffs are logically sound and build on each other correctly.

Issues

❌ Critical: Sign-off Chain Order (Patches 2-6)

Per kernel Documentation/process/submitting-patches.rst, the patch author MUST sign off first. Patches 2-6 have:

Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>      ← AUTHOR
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>

Should be:

Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>      ← AUTHOR FIRST
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>

This violates kernel sign-off semantics. The author's sign-off certifies they wrote the patch under the DCO. Having someone else sign first implies they originated the patch, which is incorrect.

⚠️ Minor: Future-dated patches

Patches are dated June 5, 2026 and February 10, 2026 (future dates from current date 2026-06-25). This suggests either:

  • Test/development patches not yet posted upstream
  • Date formatting issue
  • Patches from a different timeline/branch

Verdict

Merge with fixes required:

  1. Must fix: Reorder sign-off chain in patches 2-6 to place author (Jie Zhang) first
  2. Recommended: Verify patches 2-6 are actually posted to lore (links return empty currently)
  3. Optional: Verify patch 1 upstream commit 01a0d6cd7032 exists in target tree

The code changes themselves are correct and well-structured. The sign-off order issue is a metadata problem that violates kernel contribution guidelines and should be corrected before merge.

Final Summary

  1. Lore link present:

    • Patch 1: Yes (Patchwork + Message-ID)
    • Patches 2-6: Yes (lore.kernel.org links present)
  2. Lore link matches PR commits:

    • Cannot verify — lore links dated in future (June 2026) and not accessible
    • Metadata structure suggests proper FROMLIST workflow
  3. Upstream patch status:

    • Patch 1: ✅ Upstreamed (cherry-picked from 01a0d6cd7032)
    • Patches 2-6: 📝 FROMLIST (posted for review, not yet merged)
  4. PR present in qcom-next:

    • Not checked — no kernel tree access per constraints
    • Patch 1 should exist via upstream cherry-pick
    • Patches 2-6 are FROMLIST, may not be in qcom-next yet

@qlijarvis

Copy link
Copy Markdown

PR #771 — checker-log-analyzer

PR: #771
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28153429850

Checker Result Summary
Checker Result Summary
checkpatch 3 commits with style issues (alignment, missing Fixes tag)
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed
check-uapi-headers Passed - no UAPI changes
check-patch-compliance 2 blockers: missing prefix on commit 1, patch mismatch on commit 5
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ Skipped - FROMLIST commits present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #771 - drm/msm GPU recovery and state capture fixes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28153429850

Checker Result Summary
checkpatch 3 commits with style issues (alignment, missing Fixes tag)
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed
check-uapi-headers Passed - no UAPI changes
check-patch-compliance 2 blockers: missing prefix on commit 1, patch mismatch on commit 5
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ Skipped - FROMLIST commits present

❌ checkpatch

Root cause: Three commits have coding style violations detected by checkpatch.pl

Failure details:

Commit 1 (4b74afb4ddcc - "drm/msm: always recover the gpu"):

WARNING: The commit message has 'stable@', perhaps it also needs a 'Fixes:' tag?

Commit 4 (2d6eb34ace1f - "FROMLIST: drm/msm/a6xx: Fix A621 GPUCC register list for state capture"):

CHECK: Alignment should match open parenthesis
#38: FILE: drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1252:
+		_a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
+			&a6xx_state->gmu_registers[2], false);

Commit 5 (5fa06138db78 - "FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test"):

CHECK: Alignment should match open parenthesis
#37: FILE: drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1286:
+		gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
+			       A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Fix:

  1. For commit 1: Add a Fixes: tag since the commit includes Cc: stable@vger.kernel.org
  2. For commits 4 and 5: Fix indentation to align function arguments with the opening parenthesis

Reproduce locally:

./scripts/checkpatch.pl --strict --git c9744addfb04..d9d8de83f235

❌ check-patch-compliance

Root cause: Two compliance violations detected

Failure details:

Commit 1 (4b74afb4ddcc - "drm/msm: always recover the gpu"):

Commit summary does not start with a required prefix

This commit lacks the required UPSTREAM:, FROMLIST:, BACKPORT:, or FROMGIT: prefix for the qcom-6.18.y branch.

Commit 5 (5fa06138db78 - "FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test"):

Change is different from the one mentioned in Link

The patch content in the PR differs from the upstream patch at the Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com

Fix:

  1. Commit 1: Add the appropriate prefix to the subject line:

    • If this is a cherry-pick from mainline, use UPSTREAM: drm/msm: always recover the gpu
    • If backported with changes, use BACKPORT: drm/msm: always recover the gpu
    • The commit appears to be cherry-picked from 01a0d6cd7032, so it should use UPSTREAM: prefix
  2. Commit 5: The patch has been modified from the upstream version. Either:

    • Revert to match the exact upstream patch, OR
    • Change the prefix from FROMLIST: to BACKPORT: FROMLIST: to indicate modifications were made, OR
    • Update the Link to point to the correct version if a v2 was posted

Reproduce locally:

bash kernel-checkers/check-patch-compliance.sh --kernel-src . \
  --base c9744addfb04 --head d9d8de83f235

Verdict

2 blockers must be fixed before merge:

  1. Commit 1 must have a subject prefix (UPSTREAM: recommended based on cherry-pick note)
  2. Commit 5 patch content must match the upstream Link, or the prefix/Link must be updated to reflect modifications

3 style warnings (checkpatch) should be addressed but are non-blocking:

  • Add Fixes: tag to commit 1
  • Fix alignment in commits 4 and 5

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4434857 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4434857

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qlijarvis

Copy link
Copy Markdown

PR #771 — validate-patch

PR: #771

Verdict Issues Detailed Report
⚠️ 2 Full report

Final Summary

  1. Lore link present: Yes - All 6 patches have proper upstream links (Patchwork for patch 1, lore.kernel.org for patches 2-6)

  2. Lore link matches PR commits: Cannot verify without network access - Links are properly formatted and follow the correct message-ID/series patterns. Manual verification required.

  3. Upstream patch status: FROMLIST prefix indicates patches are posted upstream but not yet merged. Patches 2-6 are part of the same series (20260605-assorted-fixes-june-v1). Patch 1 is from a separate earlier series.

  4. PR present in qcom-next: Not checked - Would require kernel tree access to verify integration status.

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #771
Series: 6 patches - drm/msm GPU recovery and register fixes
Verdict: ⚠️ PARTIAL - Sign-off chain violations in patches 2-6


Patch 1/6: drm/msm: always recover the gpu

Upstream commit: https://patchwork.freedesktop.org/patch/704066/ (Message-ID: 20260210-recovery_suspend_fix-v1-1-00ed9013da04@gmail.com)

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct N/A No Fixes tag in upstream
Authorship preserved Anna Maniscalco preserved
Backport note Cherry-pick note present: 01a0d6c

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c Removes msm_gpu_active() check, always runs recovery

Issues

  • ⚠️ Minor: Rob Clark's sign-off uses robin.clark@oss.qualcomm.com (unusual but may be valid)
  • ✅ Cc: stable@vger.kernel.org preserved

Patch 2/6: drm/msm: Recover HW before retire hung submit

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-2-2caa04f7287c@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct Fixes: 1a370be
Authorship preserved ⚠️ Author is Jie Zhang but first SOB is Veeresh Bagale
Backport note N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c Moves gpu->funcs->recover() before retire_submits()

Issues


Patch 3/6: drm/msm/a6xx: Fix A663 GPUCC register list for state capture

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-3-2caa04f7287c@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct Fixes: 5773cce
Authorship preserved ⚠️ Author is Jie Zhang but first SOB is Veeresh Bagale
Backport note N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c Adds A663 to A621/A623 GPUCC register list condition

Issues

  • Sign-off chain violation: Same issue as patch 2/6 - author/first-SOB mismatch

Patch 4/6: drm/msm/a6xx: Fix A621 GPUCC register list for state capture

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-4-2caa04f7287c@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct Fixes: 11cdb81
Authorship preserved ⚠️ Author is Jie Zhang but first SOB is Veeresh Bagale
Backport note N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c Renames a621_gpucc_rega623_gpucc_reg, adds new A621 list
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h Adds a621_gmu_gpucc_registers[] and a623_gmu_gpucc_registers[]

Issues

  • Sign-off chain violation: Same issue as patches 2-3 - author/first-SOB mismatch

Patch 5/6: drm/msm/a6xx: Fix IRQ storm during msm_recovery test

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct Fixes: 5edf275
Authorship preserved ⚠️ Author is Jie Zhang but first SOB is Veeresh Bagale
Backport note N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a5xx_gpu.c Masks interrupts when disable_err_irq is set
drivers/gpu/drm/msm/adreno/a6xx_gpu.c Masks interrupts when disable_err_irq is set
drivers/gpu/drm/msm/msm_gpu.c Re-enables error IRQs in recover_worker()

Issues

  • Sign-off chain violation: Same issue as patches 2-4 - author/first-SOB mismatch

Patch 6/6: drm/msm: Fix task_struct reference leak in recover_worker

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-6-2caa04f7287c@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream FROMLIST prefix correct
Body preserves rationale Full explanation preserved
Fixes tag present/correct Fixes: 25654a1
Authorship preserved ⚠️ Author is Jie Zhang but first SOB is Veeresh Bagale
Backport note N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c Adds missing put_task_struct(task) in else branch

Issues

  • Sign-off chain violation: Same issue as patches 2-5 - author/first-SOB mismatch
  • ✅ Final sign-off by Veeresh Bagale (integrator) is correct

Critical Issues Summary

Sign-off Chain Violations (Patches 2-6):

All patches 2-6 have the same critical issue:

Per Linux kernel DCO (Developer Certificate of Origin) rules in Documentation/process/submitting-patches.rst:

The Signed-off-by: tag indicates that the signer was involved in the development of the patch, or that he/she was in the patch's delivery path.

The author must always be the first person in the sign-off chain. If Veeresh modified the patch, the correct approach is either:

  1. Change the author to Veeresh and add From: Jie Zhang in the commit body, OR
  2. Keep Jie as author and ensure Jie's sign-off comes first

Current state violates kernel contribution guidelines.


Verdict

⚠️ REQUIRES FIXES - The PR contains valid technical changes with proper upstream links and Fixes tags, but patches 2-6 have sign-off chain violations that must be corrected before merging to maintain kernel contribution standards.

Recommended action:

  1. For patches 2-6: Either update the Author field to match the first Signed-off-by (Veeresh Bagale), OR reorder sign-offs to place Jie Zhang first
  2. Verify the correct authorship with the upstream patches on lore.kernel.org (network access required)
  3. Patch 1/6 can be merged as-is

Final Summary

  1. Lore link present: Yes - All 6 patches have proper upstream links (Patchwork for patch 1, lore.kernel.org for patches 2-6)

  2. Lore link matches PR commits: Cannot verify without network access - Links are properly formatted and follow the correct message-ID/series patterns. Manual verification required.

  3. Upstream patch status: FROMLIST prefix indicates patches are posted upstream but not yet merged. Patches 2-6 are part of the same series (20260605-assorted-fixes-june-v1). Patch 1 is from a separate earlier series.

  4. PR present in qcom-next: Not checked - Would require kernel tree access to verify integration status.

@qlijarvis

Copy link
Copy Markdown

PR #771 — checker-log-analyzer

PR: #771
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28156700565

Checker Result Summary
Checker Result Summary
checkpatch 3 commits with style warnings (alignment issues, missing Fixes tag)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance 2 blockers: missing Link tag, patch mismatch
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ FROMLIST commits only

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #771 - drm/msm GPU recovery and state capture fixes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28156700565

Checker Result Summary
checkpatch 3 commits with style warnings (alignment issues, missing Fixes tag)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance 2 blockers: missing Link tag, patch mismatch
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ FROMLIST commits only

❌ checkpatch

Root cause: Three commits have coding style issues flagged by checkpatch.pl

Failure details:

Commit 1: 2470afafe36a ("FROMLIST: drm/msm: always recover the gpu")

WARNING: The commit message has 'stable@', perhaps it also needs a 'Fixes:' tag?

Commit 4: 79fe997814b6 ("FROMLIST: drm/msm/a6xx: Fix A621 GPUCC register list for state capture")

CHECK: Alignment should match open parenthesis
#38: FILE: drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1252:
+		_a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
+			&a6xx_state->gmu_registers[2], false);

Commit 5: 77a93e4991a3 ("FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test")

CHECK: Alignment should match open parenthesis
#37: FILE: drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1286:
+		gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
+			       A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Fix:

  1. Commit 1: Add a Fixes: tag if this patch fixes a specific commit, or document why stable@ is needed without a Fixes tag in the commit message.

  2. Commits 4 & 5: Fix indentation to align continuation lines with the opening parenthesis:

    // Commit 4 - align second parameter
    _a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
                            &a6xx_state->gmu_registers[2], false);
    
    // Commit 5 - align second parameter
    gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
              A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES --git c9744addfb04..62bd82fa6094

❌ check-patch-compliance

Root cause: Two FROMLIST commits fail patch compliance validation

Failure details:

Commit 1: 2470afafe36a ("FROMLIST: drm/msm: always recover the gpu")

No 'Link' found in commit message

The commit has Patchwork: and Message-ID: tags but is missing the required Link: tag pointing to lore.kernel.org.

Commit 5: 77a93e4991a3 ("FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test")

Change is different from the one mentioned in Link

The patch content in the PR differs from the upstream patch at the Link URL (https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com).

Fix:

  1. Commit 1: Add a Link: tag pointing to the lore.kernel.org archive of the patch. Convert the existing Patchwork URL to a lore.kernel.org link, or use the Message-ID to construct one:

    Link: https://lore.kernel.org/r/20260210-recovery_suspend_fix-v1-1-00ed9013da04@gmail.com
    
  2. Commit 5: Either:

    • Ensure the patch content exactly matches the upstream version at the Link URL, or
    • If intentional changes were made, document them in the commit message (e.g., "[ Qualcomm: adapted for qcom-6.18.y ]"), or
    • Update the Link to point to the correct version of the patch

Reproduce locally:

# For commit 1 - verify Link tag presence
git log --format=fuller 2470afafe36a^..2470afafe36a

# For commit 5 - compare with upstream
curl -s "https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com/raw" | git apply --check

Verdict

2 blockers must be fixed before merge:

  1. Add Link: tag to commit 1 (2470afa)
  2. Resolve patch mismatch in commit 5 (77a93e4) - either sync with upstream or document changes

3 style warnings (non-blocking but recommended):

  • Add Fixes: tag to commit 1 or justify stable@ without Fixes
  • Fix alignment in commits 4 and 5

Anna Maniscalco and others added 6 commits June 25, 2026 15:05
Previously, in case there was no more work to do, recover worker
wouldn't trigger recovery and would instead rely on the gpu going to
sleep and then resuming when more work is submitted.

Recover_worker will first increment the fence of the hung ring so, if
there's only one job submitted to a ring and that causes an hang, it
will early out.

There's no guarantee that the gpu will suspend and resume before more
work is submitted and if the gpu is in a hung state it will stay in that
state and probably trigger a timeout again.

Just stop checking and always recover the gpu.

Signed-off-by: Anna Maniscalco <anna.maniscalco2000@gmail.com>
Link: https://lore.kernel.org/linux-arm-msm/20260210-recovery_suspend_fix-v1-1-00ed9013da04@gmail.com/
Message-ID: <20260210-recovery_suspend_fix-v1-1-00ed9013da04@gmail.com>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Signed-off-by: Veeresh Bagale <vbagale@hu-vbagale-hyd.qualcomm.com>
(cherry picked from commit 01a0d6c)
During recovery, it is not safe to retire the hung submit before we
recover the GPU. Retiring the submit triggers BO free and that can
result in GPU pagefaults since the GPU may be actively accessing those
BOs.

To fix this, retire the submits after gpu recovery is complete in
recover_worker().

Fixes: 1a370be ("drm/msm: restart queued submits after hang")
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-2-2caa04f7287c@oss.qualcomm.com
The GPUCC register list for A663 is incorrect, which can cause
out-of-bounds register access during GPU state capture.

Update it to use the correct register ranges.

Fixes: 5773cce ("drm/msm/a6xx: Add support for A663")
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-3-2caa04f7287c@oss.qualcomm.com
A621 uses an incorrect GPUCC register list during state capture.

The existing list matches A623/A663. Rename it accordingly and add a
dedicated A621 GPUCC register list.

Fixes: 11cdb81 ("drm/msm/a6xx: Fix gpucc register block for A621")
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-4-2caa04f7287c@oss.qualcomm.com
Once a hang is triggered by the msm_recovery test, the gpu error irq
remains asserted and triggers an interrupt storm. In the worst case,
this IRQ storm lands on the CPU core where the hangcheck timer is
scheduled, blocking it from running. This eventually leads to CPU
watchdog timeouts.

To fix this, mask the gpu error irqs during msm_recovery test and
enable them back during the recovery.

Fixes: 5edf275 ("drm/msm: Add debugfs to disable hw err handling")
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com
get_pid_task() increments the task reference count, but the
corresponding put_task_struct() was missing in the else branch,
leaking a reference on every GPU hang recovery.

Fixes: 25654a1 ("drm/msm: Update global fault counter when faulty process has already ended")
Signed-off-by: Veeresh Bagale <vbagale@qti.qualcomm.com>
Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-6-2caa04f7287c@oss.qualcomm.com
Signed-off-by: Veeresh Bagale <vbagale@hu-vbagale-hyd.qualcomm.com>
@shivrawa

Copy link
Copy Markdown

LGTM.

failing kernel cheekers are known and can be ignored for merging

@qlijarvis

Copy link
Copy Markdown

PR #771 — validate-patch

PR: #771

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: Yes - but all links dated in future (2026-02-10, 2026-06-05); patches not yet posted
  2. Lore link matches PR commits: Cannot verify - upstream patches don't exist yet
  3. Upstream patch status: Not upstream - FROMLIST prefix used but patches not posted to mailing list
  4. PR present in qcom-next: Not checked - validation blocked by missing upstream patches
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #771
Series: 6 patches - drm/msm GPU recovery and register fixes
Verdict: ⚠️ PARTIAL - Patches not yet posted upstream; future lore links


Patch 1/6: drm/msm: always recover the gpu

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260210-recovery_suspend_fix-v1-1-00ed9013da04@gmail.com/
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-02-10 (future)
Body preserves rationale Clear explanation of hang recovery issue
Fixes tag present/correct N/A No Fixes tag (new behavior, not a fix)
Authorship preserved ⚠️ Original author Anna Maniscalco, but extra SoB from Rob Clark + Veeresh
Backport note cherry-pick line references 01a0d6c

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c ⚠️ Cannot verify against upstream - lore link not accessible

Issues

  • Lore link dated 2026-02-10: Patch not yet posted to mailing list
  • Extra Signed-off-by tags: Rob Clark and Veeresh Bagale added after original author
  • cherry-pick reference: References commit 01a0d6c but unclear from which tree

Patch 2/6: drm/msm: Recover HW before retire hung submit

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-2-2caa04f7287c@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-06-05 (future)
Body preserves rationale Clear explanation of BO free race during recovery
Fixes tag present/correct Fixes: 1a370be
Authorship preserved ⚠️ Author Jie Zhang, but Veeresh SoB appears first
Backport note N/A No cherry-pick line

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c ⚠️ Cannot verify - swaps order of recover() and retire_submits()

Issues

  • Lore link dated 2026-06-05: Patch not yet posted to mailing list
  • Signed-off-by order: Veeresh Bagale appears before author Jie Zhang (unusual)

Patch 3/6: drm/msm/a6xx: Fix A663 GPUCC register list for state capture

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-3-2caa04f7287c@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-06-05 (future)
Body preserves rationale Explains out-of-bounds register access issue
Fixes tag present/correct Fixes: 5773cce
Authorship preserved ⚠️ Same SoB order issue as patch 2
Backport note N/A No cherry-pick line

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c ⚠️ Adds A663 to conditional - cannot verify upstream

Patch 4/6: drm/msm/a6xx: Fix A621 GPUCC register list for state capture

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-4-2caa04f7287c@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-06-05 (future)
Body preserves rationale Explains A621 vs A623/A663 register list split
Fixes tag present/correct Fixes: 11cdb81
Authorship preserved ⚠️ Same SoB order issue
Backport note N/A No cherry-pick line

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c ⚠️ Splits A621 from A623 register list
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h ⚠️ Adds new a623_gmu_gpucc_registers array

Patch 5/6: drm/msm/a6xx: Fix IRQ storm during msm_recovery test

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-06-05 (future)
Body preserves rationale Explains IRQ storm blocking hangcheck timer
Fixes tag present/correct Fixes: 5edf275
Authorship preserved ⚠️ Same SoB order issue
Backport note N/A No cherry-pick line

Diff

File Status Notes
drivers/gpu/drm/msm/adreno/a5xx_gpu.c ⚠️ Masks error IRQs when disable_err_irq set
drivers/gpu/drm/msm/adreno/a6xx_gpu.c ⚠️ Same for A6xx
drivers/gpu/drm/msm/msm_gpu.c ⚠️ Re-enables error IRQs in recover_worker

Patch 6/6: drm/msm: Fix task_struct reference leak in recover_worker

Upstream commit: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-6-2caa04f7287c@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated 2026-06-05 (future)
Body preserves rationale Explains missing put_task_struct() leak
Fixes tag present/correct Fixes: 25654a1
Authorship preserved ⚠️ Extra Veeresh SoB at end after Link tag
Backport note N/A No cherry-pick line

Diff

File Status Notes
drivers/gpu/drm/msm/msm_gpu.c ⚠️ Adds put_task_struct() in else branch

Issues

  • Signed-off-by after Link: Veeresh Bagale SoB appears after Link tag (should be before)

Overall Issues

Critical

  1. All lore links point to future dates (2026-02-10, 2026-06-05) - patches not yet posted upstream
  2. Cannot verify diff faithfulness - upstream patches don't exist yet to compare against

Authorship & Tagging

  1. Patch 1: Extra Signed-off-by tags from Rob Clark and Veeresh Bagale after cherry-pick
  2. Patches 2-5: Signed-off-by order has Veeresh Bagale before author Jie Zhang (non-standard)
  3. Patch 6: Signed-off-by appears after Link tag (violates kernel convention)

Structural

  1. Patch 1: cherry-pick reference to 01a0d6c but source tree unclear
  2. FROMLIST prefix: Used correctly to indicate patches pending upstream review

Verdict

⚠️ HOLD - Patches not yet posted upstream

These patches appear to be well-structured with proper commit messages, Fixes tags, and clear rationale. However:

  1. Cannot validate against upstream - lore links dated in the future mean patches haven't been posted yet
  2. Authorship hygiene issues - Signed-off-by ordering and placement needs correction
  3. FROMLIST is premature - Should only be used after patches are actually posted to mailing list

Recommended Actions

Before merging:

  1. Wait for patches to be posted to linux-arm-msm mailing list
  2. Verify lore links are accessible and match PR commits
  3. Fix Signed-off-by ordering (author should be first, then co-developers/reviewers)
  4. Move final Signed-off-by in patch 6 before Link tag
  5. Clarify source of cherry-pick in patch 1 (which tree is 01a0d6c from?)

If patches are already upstream in a different tree:

  • Update commit messages to reference actual upstream commit SHAs
  • Change FROMLIST to UPSTREAM or BACKPORT as appropriate
  • Add proper backport notes

Final Summary

  1. Lore link present: Yes - but all links dated in future (2026-02-10, 2026-06-05); patches not yet posted
  2. Lore link matches PR commits: Cannot verify - upstream patches don't exist yet
  3. Upstream patch status: Not upstream - FROMLIST prefix used but patches not posted to mailing list
  4. PR present in qcom-next: Not checked - validation blocked by missing upstream patches

@qlijarvis

Copy link
Copy Markdown

PR #771 — checker-log-analyzer

PR: #771
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28161151746

Checker Result Summary
Checker Result Summary
checkpatch 2 alignment style issues in commits 4/6 and 5/6
dt-binding-check No DT binding changes
dtb-check No devicetree changes
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance Commit 5/6 differs from upstream lore link
tag-check All commits properly tagged with FROMLIST:
qcom-next-check FROMLIST: commits only (appropriate for non-qcom-next branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #771 - drm/msm GPU recovery and state capture fixes (6 patches)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28161151746

Checker Result Summary
checkpatch 2 alignment style issues in commits 4/6 and 5/6
dt-binding-check No DT binding changes
dtb-check No devicetree changes
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance Commit 5/6 differs from upstream lore link
tag-check All commits properly tagged with FROMLIST:
qcom-next-check FROMLIST: commits only (appropriate for non-qcom-next branch)

❌ checkpatch (2 alignment issues)

Root cause: Two commits have function call arguments that don't align with the opening parenthesis, violating kernel coding style.

Failure details:

Commit 4/6 (97dd5d918857 - "FROMLIST: drm/msm/a6xx: Fix A621 GPUCC register list for state capture"):

CHECK: Alignment should match open parenthesis
#38: FILE: drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1252:
+		_a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
+			&a6xx_state->gmu_registers[2], false);

Commit 5/6 (158d54108f92 - "FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test"):

CHECK: Alignment should match open parenthesis
#37: FILE: drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1286:
+		gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
+			       A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Fix: Adjust indentation so continuation lines align with the opening parenthesis:

For drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1252:

		_a6xx_get_gmu_registers(gpu, a6xx_state, &a623_gpucc_reg,
					&a6xx_state->gmu_registers[2], false);

For drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1286:

		gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK,
			  A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS |

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES --git c9744addfb04eec214121e1fc11040e828576da4..9c2fc0c2069bd918e890987560314bd39efffb8c

❌ check-patch-compliance

Root cause: Commit 5/6 ("FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test") has been modified from the version posted on lore.kernel.org.

Failure details:

Checking commit: FROMLIST: drm/msm/a6xx: Fix IRQ storm during msm_recovery test
Change is different from the one mentioned in Link

The commit references:

Link: https://lore.kernel.org/linux-arm-msm/20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com

Fix:

  1. Verify the diff between the local commit and the lore version
  2. Either:
    • Revert to the exact upstream version if the change was unintentional, OR
    • Update the Link: tag to point to a newer version if this is an updated patch, OR
    • Remove the Link: tag if this is a local modification not yet posted upstream

Reproduce locally:

# Download the upstream patch
b4 am 20260605-assorted-fixes-june-v1-5-2caa04f7287c@oss.qualcomm.com

# Compare with local commit
git show 158d54108f92 > /tmp/local.patch
# Then manually diff against the downloaded patch

Verdict

2 blockers must be fixed before merge:

  1. Fix alignment style issues in commits 4/6 and 5/6 (checkpatch)
  2. Resolve patch compliance issue in commit 5/6 (either restore original or update Link tag)

All other checkers passed successfully. Once these two issues are addressed, the PR will be ready to merge.

@shivrawa

Copy link
Copy Markdown

Cherry pick of the commit made on main branch for recover of the gpu, required to apply changes on msm_gpu.c file

Commit picked up from the mainline kernel. This is need because the current fix has the code which is present in mainline but no on 6.18 branch. so, backport that commit as well

say like this

@shivrawa

Copy link
Copy Markdown

also put the numbering for each commit.....it more presentable and easy for eyes to look.

or no need to put commit messages again. a short description is enough.

@veereshbagale

Copy link
Copy Markdown
Author

Thanks, updated accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants