summaryrefslogtreecommitdiff
path: root/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c')
-rw-r--r--drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c
index 4e171f2..b16e5d1 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c
@@ -2853,19 +2853,19 @@ static int ipa_fltrt_generate_hw_rule_bdy_from_eq_5_5(
} else if (extra_bytes > IPA3_0_HW_TBL_HDR_WIDTH) {
/* two extra words */
extra = *buf;
- rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH * 2;
+ rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH * 2 - ext_hdr * 2;
} else if (extra_bytes > 0) {
/* single exra word */
extra = *buf;
/* With ext_hdr, 2 bytes are already occupied. */
if (ext_hdr && extra_bytes > (IPA3_0_HW_TBL_HDR_WIDTH - 2))
- rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH * 2;
+ rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH * 2 - ext_hdr * 2;
else
- rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH;
+ rest = *buf + IPA3_0_HW_TBL_HDR_WIDTH - ext_hdr * 2;
} else {
/* no extra words */
- extra = NULL;
- rest = *buf;
+ extra = ext_hdr ? *buf : NULL;
+ rest = *buf - ext_hdr * 2 + ext_hdr * IPA3_0_HW_TBL_HDR_WIDTH;
}
/*