dev_dbg(isp->dev, "open device %s\n", vdev->name);
 
-       /*
-        * Ensure that if we are still loading we block. Once the loading
-        * is over we can proceed. We can't blindly hold the lock until
-        * that occurs as if the load fails we'll deadlock the unload
-        */
-       rt_mutex_lock(&isp->loading);
-       /*
-        * FIXME: revisit this with a better check once the code structure
-        * is cleaned up a bit more
-        */
        ret = v4l2_fh_open(file);
        if (ret) {
                dev_err(isp->dev,
                        "%s: v4l2_fh_open() returned error %d\n",
                       __func__, ret);
-               rt_mutex_unlock(&isp->loading);
                return ret;
        }
-       if (!isp->ready) {
-               rt_mutex_unlock(&isp->loading);
-               return -ENXIO;
-       }
-       rt_mutex_unlock(&isp->loading);
 
        rt_mutex_lock(&isp->mutex);
 
 
        /* Purpose of mutex is to protect and serialize use of isp data
         * structures and css API calls. */
        struct rt_mutex mutex;
-       /*
-        * This mutex ensures that we don't allow an open to succeed while
-        * the initialization process is incomplete
-        */
-       struct rt_mutex loading;
-       /* Set once the ISP is ready to allow opens */
-       bool ready;
        /*
         * Serialise streamoff: mutex is dropped during streamoff to
         * cancel the watchdog queue. MUST be acquired BEFORE
 
        dev_dbg(&pdev->dev, "atomisp mmio base: %p\n", isp->base);
 
        rt_mutex_init(&isp->mutex);
-       rt_mutex_init(&isp->loading);
        mutex_init(&isp->streamoff_mutex);
        spin_lock_init(&isp->lock);
 
                pci_write_config_dword(pdev, MRFLD_PCI_CSI_AFE_TRIM_CONTROL, csi_afe_trim);
        }
 
-       rt_mutex_lock(&isp->loading);
-
        err = atomisp_initialize_modules(isp);
        if (err < 0) {
                dev_err(&pdev->dev, "atomisp_initialize_modules (%d)\n", err);
        release_firmware(isp->firmware);
        isp->firmware = NULL;
        isp->css_env.isp_css_fw.data = NULL;
-       isp->ready = true;
-
-       rt_mutex_unlock(&isp->loading);
 
        err = atomisp_register_device_nodes(isp);
        if (err)
 register_entities_fail:
        atomisp_uninitialize_modules(isp);
 initialize_modules_fail:
-       rt_mutex_unlock(&isp->loading);
        cpu_latency_qos_remove_request(&isp->pm_qos);
        atomisp_msi_irq_uninit(isp);
        pci_free_irq_vectors(pdev);