Loading drivers/platform/msm/ipa/ipa_v2/ipa_hdr.c +21 −7 Original line number Diff line number Diff line Loading @@ -910,8 +910,17 @@ int __ipa_del_hdr(u32 hdr_hdl, bool by_user) return -EINVAL; } if (by_user) if (by_user) { if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to delete hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { IPAERR("User cannot delete default header\n"); return -EPERM; } } entry->user_deleted = true; } if (--entry->ref_cnt) { IPADBG("hdr_hdl %x ref_cnt %d\n", hdr_hdl, entry->ref_cnt); Loading Loading @@ -1234,14 +1243,19 @@ int ipa2_reset_hdr(void) /* do not remove the default header */ if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to remove hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { if (entry->is_hdr_proc_ctx) { mutex_unlock(&ipa_ctx->lock); WARN_ON(1); IPAERR("default header is proc ctx\n"); return -EFAULT; } IPADBG("skip default header\n"); continue; } } if (ipa_id_find(entry->id) == NULL) { mutex_unlock(&ipa_ctx->lock); Loading drivers/platform/msm/ipa/ipa_v3/ipa_hdr.c +21 −7 Original line number Diff line number Diff line Loading @@ -692,8 +692,17 @@ int __ipa3_del_hdr(u32 hdr_hdl, bool by_user) return -EINVAL; } if (by_user) if (by_user) { if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to delete hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { IPAERR("User cannot delete default header\n"); return -EPERM; } } entry->user_deleted = true; } if (--entry->ref_cnt) { IPADBG("hdr_hdl %x ref_cnt %d\n", hdr_hdl, entry->ref_cnt); Loading Loading @@ -992,14 +1001,19 @@ int ipa3_reset_hdr(void) /* do not remove the default header */ if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to remove hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { if (entry->is_hdr_proc_ctx) { IPAERR("default header is proc ctx\n"); mutex_unlock(&ipa3_ctx->lock); WARN_ON(1); return -EFAULT; } IPADBG("skip default header\n"); continue; } } if (ipa3_id_find(entry->id) == NULL) { mutex_unlock(&ipa3_ctx->lock); Loading Loading
drivers/platform/msm/ipa/ipa_v2/ipa_hdr.c +21 −7 Original line number Diff line number Diff line Loading @@ -910,8 +910,17 @@ int __ipa_del_hdr(u32 hdr_hdl, bool by_user) return -EINVAL; } if (by_user) if (by_user) { if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to delete hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { IPAERR("User cannot delete default header\n"); return -EPERM; } } entry->user_deleted = true; } if (--entry->ref_cnt) { IPADBG("hdr_hdl %x ref_cnt %d\n", hdr_hdl, entry->ref_cnt); Loading Loading @@ -1234,14 +1243,19 @@ int ipa2_reset_hdr(void) /* do not remove the default header */ if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to remove hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { if (entry->is_hdr_proc_ctx) { mutex_unlock(&ipa_ctx->lock); WARN_ON(1); IPAERR("default header is proc ctx\n"); return -EFAULT; } IPADBG("skip default header\n"); continue; } } if (ipa_id_find(entry->id) == NULL) { mutex_unlock(&ipa_ctx->lock); Loading
drivers/platform/msm/ipa/ipa_v3/ipa_hdr.c +21 −7 Original line number Diff line number Diff line Loading @@ -692,8 +692,17 @@ int __ipa3_del_hdr(u32 hdr_hdl, bool by_user) return -EINVAL; } if (by_user) if (by_user) { if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to delete hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { IPAERR("User cannot delete default header\n"); return -EPERM; } } entry->user_deleted = true; } if (--entry->ref_cnt) { IPADBG("hdr_hdl %x ref_cnt %d\n", hdr_hdl, entry->ref_cnt); Loading Loading @@ -992,14 +1001,19 @@ int ipa3_reset_hdr(void) /* do not remove the default header */ if (!strcmp(entry->name, IPA_LAN_RX_HDR_NAME)) { IPADBG("Trying to remove hdr %s offset=%u\n", entry->name, entry->offset_entry->offset); if (!entry->offset_entry->offset) { if (entry->is_hdr_proc_ctx) { IPAERR("default header is proc ctx\n"); mutex_unlock(&ipa3_ctx->lock); WARN_ON(1); return -EFAULT; } IPADBG("skip default header\n"); continue; } } if (ipa3_id_find(entry->id) == NULL) { mutex_unlock(&ipa3_ctx->lock); Loading