Re: [patch] drm/i915: fix a read size argument
On Thu, 13 Oct 2016, walter harms wrote: > Am 13.10.2016 10:55, schrieb Dan Carpenter: >> We want to read 3 bytes here, but because the parenthesis are in the >> wrong place we instead read: >> >> sizeof(intel_dp->edp_dpcd) == sizeof(intel_dp->edp_dpcd) >> >> which is one byte. >> >> Fixes: fe5a66f91c88 ("drm/i915: Read PSR caps/intermediate freqs/etc. only >> once on eDP") >> Signed-off-by: Dan Carpenter Dan, good catch, thank you. Luckily we only really use the first byte currently... Cc: >> diff --git a/drivers/gpu/drm/i915/intel_dp.c >> b/drivers/gpu/drm/i915/intel_dp.c >> index 14a3cf0..ee8aa95 100644 >> --- a/drivers/gpu/drm/i915/intel_dp.c >> +++ b/drivers/gpu/drm/i915/intel_dp.c >> @@ -3551,8 +3551,8 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp) >> /* Read the eDP Display control capabilities registers */ >> if ((intel_dp->dpcd[DP_EDP_CONFIGURATION_CAP] & >> DP_DPCD_DISPLAY_CONTROL_CAPABLE) && >> drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV, >> - intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd) == >> - sizeof(intel_dp->edp_dpcd))) >> + intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd)) == >> + sizeof(intel_dp->edp_dpcd)) > > > > perhaps we can morph that into something more readable ? I would suggest: > > > if (intel_dp->dpcd[DP_EDP_CONFIGURATION_CAP] & > DP_DPCD_DISPLAY_CONTROL_CAPABLE) > { > size_t size=sizeof(intel_dp->edp_dpcd); /* == EDP_DISPLAY_CTL_CAP_SIZE */ > int ret; > > ret=drm_dp_dpcd_read(&intel_dp->aux, > DP_EDP_DPCD_REV,intel_dp->edp_dpcd,size); > > if (ret != size ) > .. > > } > > this way it improves readability and reduces line length. Not convinced, let's just take the simple brace fix now. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center
Re: [patch] drm/i915: fix a read size argument
Am 13.10.2016 10:55, schrieb Dan Carpenter: > We want to read 3 bytes here, but because the parenthesis are in the > wrong place we instead read: > > sizeof(intel_dp->edp_dpcd) == sizeof(intel_dp->edp_dpcd) > > which is one byte. > > Fixes: fe5a66f91c88 ("drm/i915: Read PSR caps/intermediate freqs/etc. only > once on eDP") > Signed-off-by: Dan Carpenter > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 14a3cf0..ee8aa95 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -3551,8 +3551,8 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp) > /* Read the eDP Display control capabilities registers */ > if ((intel_dp->dpcd[DP_EDP_CONFIGURATION_CAP] & > DP_DPCD_DISPLAY_CONTROL_CAPABLE) && > drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV, > - intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd) == > - sizeof(intel_dp->edp_dpcd))) > + intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd)) == > + sizeof(intel_dp->edp_dpcd)) perhaps we can morph that into something more readable ? I would suggest: if (intel_dp->dpcd[DP_EDP_CONFIGURATION_CAP] & DP_DPCD_DISPLAY_CONTROL_CAPABLE) { size_t size=sizeof(intel_dp->edp_dpcd); /* == EDP_DISPLAY_CTL_CAP_SIZE */ int ret; ret=drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV,intel_dp->edp_dpcd,size); if (ret != size ) .. } this way it improves readability and reduces line length. > DRM_DEBUG_KMS("EDP DPCD : %*ph\n", (int) > sizeof(intel_dp->edp_dpcd), > intel_dp->edp_dpcd); > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Re: [patch] drm/i915: fix a read size argument
On Thu, Oct 13, 2016 at 11:55:08AM +0300, Dan Carpenter wrote: > We want to read 3 bytes here, but because the parenthesis are in the > wrong place we instead read: > > sizeof(intel_dp->edp_dpcd) == sizeof(intel_dp->edp_dpcd) > > which is one byte. > > Fixes: fe5a66f91c88 ("drm/i915: Read PSR caps/intermediate freqs/etc. only > once on eDP") > Signed-off-by: Dan Carpenter Good catch! What tool did you use to find it, or did you find it by inspection? Reviewed-by: Eric Engestrom (btw, there's a missing `---` here, between the commit msg and the diff) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 14a3cf0..ee8aa95 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -3551,8 +3551,8 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp) > /* Read the eDP Display control capabilities registers */ > if ((intel_dp->dpcd[DP_EDP_CONFIGURATION_CAP] & > DP_DPCD_DISPLAY_CONTROL_CAPABLE) && > drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV, > - intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd) == > - sizeof(intel_dp->edp_dpcd))) > + intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd)) == > + sizeof(intel_dp->edp_dpcd)) > DRM_DEBUG_KMS("EDP DPCD : %*ph\n", (int) > sizeof(intel_dp->edp_dpcd), > intel_dp->edp_dpcd);