From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: gpu: nova-core: allocate PCI MSI vector during probe Date: Tue, 05 May 2026 09:10:01 +1000 Message-ID: In-Reply-To: <20260501205825.73614-3-joelagnelf@nvidia.com> References: <20260501205825.73614-1-joelagnelf@nvidia.com> <20260501205825.73614-3-joelagnelf@nvidia.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review ```rust _: { let _irq_vector = irq::alloc_vector(pdev)?; }, ``` **Issue:** The allocated `_irq_vector` is immediately dropped via the `_` prefix. The `IrqVector` is presumably a devres-managed resource, but if the `IrqVector<'_>` carries any drop logic (e.g., freeing the vector), dropping it here would undo the allocation. Need to confirm that the PCI IRQ allocation is devres-managed independently of the `IrqVector` handle's lifetime. **Issue:** In `alloc_vector`, the return type is `Result>`: ```rust Ok(*irq_vectors.start()) ``` This dereferences the start of the range. If `IrqVector` is `Copy`, this is fine. If it isn't, this won't compile. Given that the patches were tested, it must be fine, but it's worth noting the implicit `Copy` requirement. **Design question:** The INTx fallback path: ```rust Err(_) => { dev_warn!(pdev.as_ref(), "MSI not available, falling back to INTx\n"); pdev.alloc_irq_vectors(1, 1, IrqTypes::default().with(IrqType::Intx))? } ``` INTx fallback for a GPU driver in 2026 is generous. Modern NVIDIA GPUs all support MSI. If INTx can't actually work with INTR_CTRL's edge-triggered MSI semantics (as documented in patch 7), should this just fail hard instead of silently degrading to a mode that may not function correctly? --- Generated by Claude Code Patch Reviewer