From 2bfd63d57b650672fd953023a018240c224a978b Mon Sep 17 00:00:00 2001 From: Manorit Chawdhry Date: Fri, 14 Jul 2023 11:22:27 +0530 Subject: [PATCH] mach-k3: common: correct the calculations for determining firewalls The background firewall calculations were wrong, fix that to determine both the background and foreground correctly. Fixes: 8bfce2f9989f ("arm: mach-k3: common: reorder removal of firewalls") Signed-off-by: Manorit Chawdhry --- arch/arm/mach-k3/common.c | 3 +-- arch/arm/mach-k3/common.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index 450c7b7e4c..a35110429b 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -497,8 +497,7 @@ static void remove_fwl_regions(struct fwl_data fwl_data, size_t num_regions, /* Don't disable the background regions */ if (region.control != 0 && - ((region.control & K3_FIREWALL_BACKGROUND_BIT) == - fwl_type)) { + ((region.control >> K3_FIREWALL_BACKGROUND_BIT) & 1) == fwl_type) { pr_debug("Attempting to disable firewall %5d (%25s)\n", region.fwl_id, fwl_data.name); region.control = 0; diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h index 6cffbd444b..9bd9ad6d1a 100644 --- a/arch/arm/mach-k3/common.h +++ b/arch/arm/mach-k3/common.h @@ -9,7 +9,7 @@ #include #include -#define K3_FIREWALL_BACKGROUND_BIT BIT(8) +#define K3_FIREWALL_BACKGROUND_BIT (8) struct fwl_data { const char *name; -- 2.39.5