msm: pil: Fix loadable segment type check

Currently, a segment's p_type value from program head is bitwise
AND with PT_LOAD type constant to determine if it's a loadable
segment. This might cause problem when the p_type value of a
non-LOAD segment has the PT_LOAD bit set. For example, the
GNU_STACK segment.

Fix this by comparing p_type value against PT_LOAD type constant.

Change-Id: Ie293dfd3ad744fc5dab3d9a6e7992f42d609b17c
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
diff --git a/arch/arm/mach-msm/peripheral-loader.c b/arch/arm/mach-msm/peripheral-loader.c
index bfbf4bc..16c21f7 100644
--- a/arch/arm/mach-msm/peripheral-loader.c
+++ b/arch/arm/mach-msm/peripheral-loader.c
@@ -226,7 +226,7 @@
 
 static int segment_is_loadable(const struct elf32_phdr *p)
 {
-	return (p->p_type & PT_LOAD) && !segment_is_hash(p->p_flags);
+	return (p->p_type == PT_LOAD) && !segment_is_hash(p->p_flags);
 }
 
 /* Sychronize request_firmware() with suspend */