diff --git a/drivers/platform/msm/msm_bus/msm_bus_arb.c b/drivers/platform/msm/msm_bus/msm_bus_arb.c
index df5d331a1530fd71482a962ae974bcbb33a6c7a8..c33874e67d4cd3ebf5b77cae6007599f963ac72a 100644
--- a/drivers/platform/msm/msm_bus/msm_bus_arb.c
+++ b/drivers/platform/msm/msm_bus/msm_bus_arb.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -343,8 +343,11 @@ static uint64_t get_vfe_bw(void)
 
 	fabid = GET_FABID(iid);
 	fabdev = msm_bus_get_fabric_device(fabid);
+	if (!fabdev) {
+		MSM_BUS_ERR("Fabric not found for: %d\n", fabid);
+		goto exit_get_vfe_bw;
+	}
 	info = fabdev->algo->find_node(fabdev, iid);
-
 	if (!info) {
 		MSM_BUS_ERR("%s: Can't find node %d", __func__,
 						vfe_id);
@@ -373,8 +376,11 @@ static uint64_t get_mdp_bw(void)
 
 		fabid = GET_FABID(iid);
 		fabdev = msm_bus_get_fabric_device(fabid);
+		if (!fabdev) {
+			MSM_BUS_ERR("Fabric not found for: %d\n", fabid);
+			continue;
+		}
 		info = fabdev->algo->find_node(fabdev, iid);
-
 		if (!info) {
 			MSM_BUS_ERR("%s: Can't find node %d", __func__,
 								ids[i]);