pr_debug("%s: ctxid=%llu ls=0x%llx\n", __func__, ctxid, lun_size);
 
+       /* Setup the LUNs block allocator on first call */
        mutex_lock(&gli->mutex);
        if (gli->mode == MODE_NONE) {
-               /* Setup the LUN table and block allocator on first call */
-               rc = init_luntable(cfg, lli);
-               if (rc) {
-                       dev_err(dev, "%s: call to init_luntable failed "
-                               "rc=%d!\n", __func__, rc);
-                       goto err0;
-               }
-
                rc = init_vlun(lli);
                if (rc) {
                        dev_err(dev, "%s: call to init_vlun failed rc=%d!\n",
        }
        mutex_unlock(&gli->mutex);
 
+       rc = init_luntable(cfg, lli);
+       if (rc) {
+               dev_err(dev, "%s: call to init_luntable failed rc=%d!\n",
+                       __func__, rc);
+               goto err1;
+       }
+
        ctxi = get_context(cfg, rctxid, lli, 0);
        if (unlikely(!ctxi)) {
                dev_err(dev, "%s: Bad context! (%llu)\n", __func__, ctxid);