Hi,

On 05/12/2020 20:15, Sam Ravnborg wrote:
> Hi Neil,
> 
>> +
>> +static int khadas_ts050_panel_probe(struct mipi_dsi_device *dsi)
>> +{
>> +    struct khadas_ts050_panel *khadas_ts050;
>> +    int err;
>> +
>> +    dsi->lanes = 4;
>> +    dsi->format = MIPI_DSI_FMT_RGB888;
>> +    dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
>> +                      MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET;
>> +
>> +    khadas_ts050 = devm_kzalloc(&dsi->dev, sizeof(*khadas_ts050),
>> +                                GFP_KERNEL);
>> +    if (!khadas_ts050)
>> +            return -ENOMEM;
>> +
>> +    mipi_dsi_set_drvdata(dsi, khadas_ts050);
>> +    khadas_ts050->link = dsi;
>> +
>> +    err = khadas_ts050_panel_add(khadas_ts050);
>> +    if (err < 0)
>> +            return err;
>> +
>> +    return mipi_dsi_attach(dsi);
>> +}
> 
> If mipi_dsi_attach() failes then da a drm_panel_remove() like this:
> 
>       ret = mipi_dsi_attach(dsi);
>       if (ret)
>               drm_panel_remove(&khadas_ts050->base);
> 
>       return ret;
> 
> This is again something several panels gets wrong.
> 
> With this fixed:
> Reviewed-by: Sam Ravnborg <s...@ravnborg.org>
> 
> I assume you will fix it while applying.

Sure, thanks !

Neil

> 
>       Sam
> 

Reply via email to