From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: Qualcomm Sahara protocol enhancements. Date: Sun, 22 Mar 2026 04:44:33 +1000 Message-ID: In-Reply-To: <20260319-sahara_protocol_new_v2-v4-0-47ad79308762@oss.qualcomm.com> References: <20260319-sahara_protocol_new_v2-v4-0-47ad79308762@oss.qualcomm.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: Qualcomm Sahara protocol enhancements. Author: Kishore Batta Patches: 10 Reviewed: 2026-03-22T04:44:33.268433 --- This 9-patch series moves the Qualcomm Sahara protocol driver from the QAIC= accelerator tree to `drivers/bus/mhi/sahara/`, generalizes device matching= , adds QDU100 support, and introduces DDR training data capture via Sahara = command mode with sysfs exposure. **The architecture is sound** =E2=80=94 making the Sahara driver a standalo= ne MHI module is the right approach for reuse. However, the series has seve= ral significant bugs that need to be fixed before merging: 1. **Bug in `qaic_init()` error handling** (Patch 2) =E2=80=94 goto labels = are swapped, leading to unregistering drivers that were never registered. 2. **Unsigned comparison always-false** (Patch 7) =E2=80=94 `le32_to_cpu()`= returns `u32`, comparing `< 0` is a no-op. 3. **Sleeping in atomic context** (Patch 7) =E2=80=94 `mutex_lock()` and `d= evres_alloc(GFP_KERNEL)` called from MHI DL callback which runs in tasklet = context. 4. **Data races** (Patch 7) =E2=80=94 `context->is_cmd_mode`, `receiving_tr= ng_data`, etc. accessed from both DL callback and work queue without synchr= onization. 5. **Unbounded allocation from device-controlled size** (Patch 7) =E2=80=94= `kzalloc(resp_len)` with no upper bound check. The documentation patch (1/9) has numerous typos and copy-paste errors. The= cover letter changelog for v4 still says "EDITME". --- --- Generated by Claude Code Patch Reviewer