Hi Hans, On Tuesday 11 March 2014 17:11:07 Hans Verkuil wrote: > On 03/11/2014 05:08 PM, Laurent Pinchart wrote: > > Hi Hans, > > > > On Tuesday 11 March 2014 16:44:27 Hans Verkuil wrote: > >> On 03/11/2014 04:09 PM, Laurent Pinchart wrote: > >>> The subdev EDID ioctls receive a pad field that must reference an > >>> existing pad and an EDID field that must point to a buffer. Validate > >>> both fields in the core code instead of duplicating validation in all > >>> drivers. > >>> > >>> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > >>> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > >> > >> Here is my: > >> > >> Reviewed-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > >> > >> But take note: the adv7604 driver does not handle a get_edid with > >> edid->blocks == 0 correctly: it should fill in the blocks field with the > >> real number of blocks and return 0 instead of returning EINVAL. > > > > Should it also set edid->start_block to 0 ? > > I don't think so. It makes sense to just set blocks to the total number of > available blocks - edid->start_block. OK. > Note that if edid->start_block >= total number of EDID blocks, then -ENODATA > should be returned. What if S_EDID hasn't been called yet ? Should the driver set edid->blocks to 0 and return success ? Or should it return -ENODATA ? There's quite a few possible combinations, we should probably start by clarifying the spec. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html