Hi Nishanth, Helen, Thanks for the review. On Aug 31, 2023 at 07:25:31 -0500, Nishanth Menon wrote: > On 16:35-20230828, Helen Mae Koike Fornazier wrote: > > On Friday, August 25, 2023 08:02 -03, Jai Luthra <j-luthra@xxxxxx> wrote: > > > > > Fix the NULL pointer dereference when no monitor is connected, and the > > > sound card is opened from userspace. > > > > > > Instead return an error as EDID information cannot be provided to > > > the sound framework if there is no connector attached. > > > > > > Fixes: e0fd83dbe924 ("drm: bridge: it66121: Add audio support") > > > Reported-by: Nishanth Menon <nm@xxxxxx> > > > Closes: https://lore.kernel.org/all/20230825105849.crhon42qndxqif4i@gondola/ > > > Signed-off-by: Jai Luthra <j-luthra@xxxxxx> > > > > Reviewed-by: Helen Koike <helen.koike@xxxxxxxxxxxxx> > > > Occurs on today's master: v6.5-8894-gb97d64c72259 > https://gist.github.com/nmenon/6c7166171729342ee0be7de90b65c5c6#file-v6-5-8894-gb97d64c72259-L821 > > My only complaint with the patch is - yes, it does'nt crash, but I see > this spam on my console: > https://gist.github.com/nmenon/6c7166171729342ee0be7de90b65c5c6#file-with-patch-on-top-L236 > Aradhya suggested an alternative approach [1] used by some bridges, where we return a buffer of 0s instead of an error here. That will fix the spam, but more importantly will also allow playback if the HDMI monitor is hot-plugged later (after probe). I will send a new revision of this patch that uses that approach. [1] https://lore.kernel.org/dri-devel/d2deac24-d5ab-e1c4-81c5-4874c2f5ea07@xxxxxx/ > > > > > > --- > > > drivers/gpu/drm/bridge/ite-it66121.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c > > > index 466641c77fe9..d6fa00dea464 100644 > > > --- a/drivers/gpu/drm/bridge/ite-it66121.c > > > +++ b/drivers/gpu/drm/bridge/ite-it66121.c > > > @@ -1446,6 +1446,11 @@ static int it66121_audio_get_eld(struct device *dev, void *data, > > > { > > > struct it66121_ctx *ctx = dev_get_drvdata(dev); > > > > > > + if (!ctx->connector) { > > > + dev_dbg(dev, "No connector present, cannot provide EDID data"); > > > + return -EINVAL; > > > + } > > > + > > > mutex_lock(&ctx->lock); > > > > > > memcpy(buf, ctx->connector->eld, > > > > > > --- > > > base-commit: 6269320850097903b30be8f07a5c61d9f7592393 > > > change-id: 20230825-it66121_edid-6ee98517808b > > > > > > Best regards, > > > -- > > > Jai Luthra <j-luthra@xxxxxx> > > > > > > > -- > Regards, > Nishanth Menon > Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D -- Thanks, Jai GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145
Attachment:
signature.asc
Description: PGP signature