offset += ret_size;
        wilc->cfg_frame_offset = offset;
 
-       if (commit) {
-               wilc->cfg_frame_in_use = 1;
+       if (!commit)
+               return ret_size;
 
-               if (wilc_wlan_cfg_commit(vif, WILC_CFG_QUERY, drv_handler))
-                       ret_size = 0;
+       wilc->cfg_frame_in_use = 1;
 
-               if (!wait_for_completion_timeout(&wilc->cfg_event,
-                                       msecs_to_jiffies(CFG_PKTS_TIMEOUT))) {
-                       netdev_dbg(vif->ndev, "Get Timed Out\n");
-                       ret_size = 0;
-               }
-               wilc->cfg_frame_in_use = 0;
-               wilc->cfg_frame_offset = 0;
-               wilc->cfg_seq_no += 1;
+       if (wilc_wlan_cfg_commit(vif, WILC_CFG_QUERY, drv_handler))
+               ret_size = 0;
+
+       if (!wait_for_completion_timeout(&wilc->cfg_event,
+                                        msecs_to_jiffies(CFG_PKTS_TIMEOUT))) {
+               netdev_dbg(vif->ndev, "Get Timed Out\n");
+               ret_size = 0;
        }
+       wilc->cfg_frame_in_use = 0;
+       wilc->cfg_frame_offset = 0;
+       wilc->cfg_seq_no += 1;
 
        return ret_size;
 }