On Tue, Jun 17, 2014 at 11:17:03AM -0300, Guido Martínez wrote: > Currently tda998x_encoder_destroy() calls cec_write() and reg_clear(), > as part of the release procedure. Such calls need to access the I2C bus > and therefore, we need to call them before drm_i2c_encoder_destroy() > which unregisters the I2C device. > > This commit moves the latter so it's done afterwards. > > Signed-off-by: Guido Martínez <guido@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ezequiel García <ezequiel@xxxxxxxxxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> #v3.9+ You really should have sent this with me in the To: header as I'm now the maintainer of this driver. Yes, this is a valid fix, and I'll apply it shortly. Thanks. > --- > drivers/gpu/drm/i2c/tda998x_drv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c > index 240c331..db9515f 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -1183,7 +1183,6 @@ static void > tda998x_encoder_destroy(struct drm_encoder *encoder) > { > struct tda998x_priv *priv = to_tda998x_priv(encoder); > - drm_i2c_encoder_destroy(encoder); > > /* disable all IRQs and free the IRQ handler */ > cec_write(priv, REG_CEC_RXSHPDINTENA, 0); > @@ -1193,6 +1192,7 @@ tda998x_encoder_destroy(struct drm_encoder *encoder) > > if (priv->cec) > i2c_unregister_device(priv->cec); > + drm_i2c_encoder_destroy(encoder); > kfree(priv); > } > > -- > 2.0.0 > -- FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel