media: saa7146: add cleanup in hexium_attach()
[sfrench/cifs-2.6.git] / drivers / media / pci / saa7146 / hexium_gemini.c
index dca20a3d98e2592bed7fcdc70fce38eb01d86343..f962269306707179b992ee033d33e223c19c281a 100644 (file)
@@ -292,6 +292,9 @@ static int hexium_attach(struct saa7146_dev *dev, struct saa7146_pci_extension_d
        ret = saa7146_register_device(&hexium->video_dev, dev, "hexium gemini", VFL_TYPE_GRABBER);
        if (ret < 0) {
                pr_err("cannot register capture v4l2 device. skipping.\n");
+               saa7146_vv_release(dev);
+               i2c_del_adapter(&hexium->i2c_adapter);
+               kfree(hexium);
                return ret;
        }