question about drivers/gpu/drm/gma500/oaktrail_lvds.c
Julia Lawall
julia.lawall at lip6.fr
Sun Jul 8 22:16:19 PDT 2012
On Mon, 9 Jul 2012, Patrik Jakobsson wrote:
> On Sun, Jul 8, 2012 at 10:16 PM, Alan Cox <alan at lxorguk.ukuu.org.uk> wrote:
>> On Sun, 8 Jul 2012 10:39:43 +0200 (CEST)
>> Julia Lawall <julia.lawall at lip6.fr> wrote:
>>
>>> In the function oaktrail_lvds_mode_set, I don't think that the following
>>> code makes any sense:
>>>
>>> /* Find the connector we're trying to set up */
>>> list_for_each_entry(connector, &mode_config->connector_list, head) {
>>> if (!connector->encoder || connector->encoder->crtc != crtc)
>>> continue;
>>> }
>>>
>>> if (!connector) {
>>> DRM_ERROR("Couldn't find connector when setting mode");
>>> return;
>>> }
>>>
>>> drm_connector_property_get_value(
>>> connector,
>>> dev->mode_config.scaling_mode_property,
>>> &v);
>>>
>>> The initial loop is a no-op, because it always continues. The test
>>> !connector can never be true, because at the end of a list_for_each_entry
>>> connector points to the list head, and calling
>>> drm_connector_property_get_value on the list head probably does not make
>>> sense.
>>
>> We test !connector->encoder rather than !connector ?
>
> It seems we should break on :
> if (connector->encoder && connector->encoder == encoder)
>
> Then do a check after list iteration:
> if (!connector || connector->encoder != encoder)
> DRM_ERROR("Couldn't find connector when setting mode");
Possible. The !connector is still not needed, but the overall logic seems
better.
julia
More information about the dri-devel
mailing list