From 17ce33835a0b582d87343fab331d80342f268d4d Mon Sep 17 00:00:00 2001 From: Jon Smirl Date: Wed, 20 Oct 2004 16:23:42 +0000 Subject: Don't release an i2c channel that has not initialized correctly --- linux-2.6/radeon_i2c.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'linux-2.6') diff --git a/linux-2.6/radeon_i2c.c b/linux-2.6/radeon_i2c.c index df51581c..9fdb2b4f 100644 --- a/linux-2.6/radeon_i2c.c +++ b/linux-2.6/radeon_i2c.c @@ -122,19 +122,23 @@ int radeon_create_i2c_busses(drm_device_t * dev) dev_priv->i2c[0].ddc_reg = GPIO_MONID; /* Don't return the error from setup. It is not fatal */ /* if the bus can not be initialized */ - setup_i2c_bus(&dev_priv->i2c[0], "monid"); + if (!setup_i2c_bus(&dev_priv->i2c[0], "monid")) + dev_priv->i2c[0].dev = NULL; dev_priv->i2c[1].dev = dev; dev_priv->i2c[1].ddc_reg = GPIO_DVI_DDC; - setup_i2c_bus(&dev_priv->i2c[1], "dvi"); + if (!setup_i2c_bus(&dev_priv->i2c[1], "dvi")) + dev_priv->i2c[1].dev = NULL; dev_priv->i2c[2].dev = dev; dev_priv->i2c[2].ddc_reg = GPIO_VGA_DDC; - setup_i2c_bus(&dev_priv->i2c[2], "vga"); + if (!setup_i2c_bus(&dev_priv->i2c[2], "vga")) + dev_priv->i2c[2].dev = NULL; dev_priv->i2c[3].dev = dev; dev_priv->i2c[3].ddc_reg = GPIO_CRT2_DDC; - setup_i2c_bus(&dev_priv->i2c[3], "crt2"); + if (!setup_i2c_bus(&dev_priv->i2c[3], "crt2")) + dev_priv->i2c[0].dev = NULL; return 0; } -- cgit v1.2.3