Re: [PATCH] drm/bridge/synopsys: dsi: Don't blindly call post_disable
From: Laurent Pinchart
Date: Thu Apr 25 2019 - 05:20:48 EST
Hi Matt,
Thank you for the patch.
On Wed, Apr 24, 2019 at 02:22:00PM +0000, Matt Redfearn wrote:
> The DRM documentation states that post_disable is an optional callback.
> As such an implementing device may not populate it. To avoid panicing
> the kernel by calling a NULL function pointer, we should NULL check it
> before blindy calling it.
>
> Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx>
Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>
> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index 38e88071363..0ee440216b8 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -805,7 +805,8 @@ static void dw_mipi_dsi_bridge_post_disable(struct drm_bridge *bridge)
> * This needs to be fixed in the drm_bridge framework and the API
> * needs to be updated to manage our own call chains...
> */
> - dsi->panel_bridge->funcs->post_disable(dsi->panel_bridge);
> + if (dsi->panel_bridge->funcs->post_disable)
> + dsi->panel_bridge->funcs->post_disable(dsi->panel_bridge);
>
> if (dsi->slave) {
> dw_mipi_dsi_disable(dsi->slave);
--
Regards,
Laurent Pinchart