From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/i915/display/intel_sdvo: Fix double connector destroy in error paths Date: Thu, 04 Jun 2026 11:52:28 +1000 Message-ID: In-Reply-To: <20260603-fix_i915-v1-1-7479ff64e705@bootlin.com> References: <20260603-fix_i915-v1-0-7479ff64e705@bootlin.com> <20260603-fix_i915-v1-1-7479ff64e705@bootlin.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Patch Review **Verdict: Correct.** The analysis is sound. Looking at the code: 1. `intel_sdvo_connector_init()` calls `drm_connector_init_with_ddc()` with= `intel_sdvo_connector_funcs`, which has `.destroy =3D intel_connector_dest= roy` (line 2514 of `intel_sdvo.c`). 2. Once `drm_connector_init_with_ddc()` succeeds, the connector is register= ed with the DRM core. 3. In `intel_sdvo_tv_init()` and `intel_sdvo_lvds_init()`, the `err:` label= s call `intel_connector_destroy(connector)` explicitly, but the DRM core wi= ll also invoke it via the `.destroy` callback =E2=80=94 a genuine double-fr= ee. 4. The caller `intel_sdvo_output_setup()` at line 3049 returns false on fai= lure, and the cleanup path at `intel_sdvo_output_cleanup()` (line 3058) ite= rates all connectors attached to this encoder and calls `intel_connector_de= stroy()` on each =E2=80=94 so the cleanup IS handled properly by the caller. The fix to just `return false` is correct. No concerns. --- Generated by Claude Code Patch Reviewer