struct cx8802_dev *dev;
        struct cx88_core  *core;
        int err;
-#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE)
-       struct videobuf_dvb_frontend *demod;
-       int i;
-#endif
 
        /* general setup */
        core = cx88_core_get(pci_dev);
        mutex_init(&dev->frontends.lock);
        INIT_LIST_HEAD(&dev->frontends.felist);
 
-       if (core->board.num_frontends)
-               printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, core->board.num_frontends);
-
-       for (i = 1; i <= core->board.num_frontends; i++) {
-               demod = videobuf_dvb_alloc_frontend(&dev->frontends, i);
-               if(demod == NULL) {
-                       printk(KERN_ERR "%s() failed to alloc\n", __func__);
-                       err = -ENOMEM;
-                       goto fail_free;
+       if (core->board.num_frontends) {
+               struct videobuf_dvb_frontend *fe;
+               int i;
+
+               printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__,
+                       core->board.num_frontends);
+               for (i = 1; i <= core->board.num_frontends; i++) {
+                       fe = videobuf_dvb_alloc_frontend(&dev->frontends, i);
+                       if(fe == NULL) {
+                               printk(KERN_ERR "%s() failed to alloc\n",
+                                       __func__);
+                               videobuf_dvb_dealloc_frontends(&dev->frontends);
+                               err = -ENOMEM;
+                               goto fail_free;
+                       }
                }
        }
 #endif