mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
sensor:sometimes avc error after reboot
sync sx933x patch to sx9310 and sx9325:
(CR) sensor:sometimes avc error after reboot
Issue:
Sometimes avc error after reboot:
avc: denied { write } for comm="capsense_reset" name="reset"
dev="sysfs" ino=54780 scontext=u:r:capsense_reset:s0 tcontext
=u:object_r:sysfs:s0 tclass=file permissive=0 pkg=""
Rootcause:
class_register logic:
-create sysfs dir 'capsense'
-send uevent 'add' to hal
-create sysfs file 'reset'
Most of times sysfs file haven't create while ueventd monitor 'ADD'
to fresh sys/class/capsense label as 'sysfs_capsense',file under
capsense will inherit /sys label ,which is 'sysfs'.
Fix:
Send uevent 'CHANGE' again to HAL,so that relabeling
'/sys/class/capsense/*'.
Change-Id: Ibe356ce4670bc33874f351b4371aec5e9d0c80fb
Signed-off-by: Wen Xie <xiewen3@motorola.com>
Reviewed-on: https://gerrit.mot.com/1436726
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Submit-Approved: Lu Lu <lulu2@lenovo.com>
Reviewed-by: Jiacheng Ou <oujc1@motorola.com>
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
This commit is contained in:
parent
efbe0ec3fa
commit
4d7ceac3fc
4 changed files with 28 additions and 1 deletions
|
|
@ -1,7 +1,17 @@
|
|||
KERNEL_DIR_PATH = $(shell find $(TOP)/kernel/ -name "msm-*" | head -1 | grep -i "kernel/msm-*")
|
||||
|
||||
KERNEL_VERSION_NAME = $(shell basename $(KERNEL_DIR_PATH))
|
||||
|
||||
# add -Wall to try to catch everything we can.
|
||||
EXTRA_CFLAGS += -Wall
|
||||
EXTRA_CFLAGS += -I$(TOP)/motorola/kernel/modules/include
|
||||
|
||||
ifneq (,$(KERNEL_DIR_PATH))
|
||||
EXTRA_CFLAGS += -I$(TOP)/kernel/$(KERNEL_VERSION_NAME)/drivers/base
|
||||
else
|
||||
EXTRA_CFLAGS += -I$(TOP)/kernel/drivers/base
|
||||
endif
|
||||
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../../sensors/Module.symvers
|
||||
|
||||
sx931x_triple-y := sx9310_triple.o
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
|
||||
/* main struct, interrupt,init,pointers */
|
||||
#include <linux/input/sx9310_triple.h>
|
||||
#include "base.h"
|
||||
|
||||
#define IDLE 0
|
||||
#define ACTIVE 1
|
||||
|
|
@ -1296,6 +1297,9 @@ static int sx9310_probe(struct i2c_client *client,
|
|||
LOG_ERR("Create reg file failed (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*restore sys/class/capsense label*/
|
||||
kobject_uevent(&capsense_class.p->subsys.kobj, KOBJ_CHANGE);
|
||||
#ifdef USE_SENSORS_CLASS
|
||||
sensors_capsensor_top_cdev.sensors_enable =
|
||||
capsensor_set_enable;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,17 @@
|
|||
KERNEL_DIR_PATH = $(shell find $(TOP)/kernel/ -name "msm-*" | head -1 | grep -i "kernel/msm-*")
|
||||
|
||||
KERNEL_VERSION_NAME = $(shell basename $(KERNEL_DIR_PATH))
|
||||
|
||||
# add -Wall to try to catch everything we can.
|
||||
EXTRA_CFLAGS += -Wall
|
||||
EXTRA_CFLAGS += -I$(TOP)/motorola/kernel/modules/include
|
||||
|
||||
ifneq (,$(KERNEL_DIR_PATH))
|
||||
EXTRA_CFLAGS += -I$(TOP)/kernel/$(KERNEL_VERSION_NAME)/drivers/base
|
||||
else
|
||||
EXTRA_CFLAGS += -I$(TOP)/kernel/drivers/base
|
||||
endif
|
||||
|
||||
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../../sensors/Module.symvers
|
||||
|
||||
sx932x_sar-y := sx9325_sar.o
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
/* main struct, interrupt,init,pointers */
|
||||
#include <linux/input/sx9325_sar.h>
|
||||
|
||||
#include "base.h"
|
||||
|
||||
#define IDLE 0
|
||||
#define ACTIVE 1
|
||||
|
|
@ -1193,6 +1193,9 @@ static int sx9325_probe(struct i2c_client *client,
|
|||
LOG_ERR("Create fsys class failed (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*restore sys/class/capsense label*/
|
||||
kobject_uevent(&capsense_class.p->subsys.kobj, KOBJ_CHANGE);
|
||||
#ifdef USE_SENSORS_CLASS
|
||||
sensors_capsensor_top_cdev.sensors_enable =
|
||||
capsensor_set_enable;
|
||||
|
|
|
|||
Loading…
Reference in a new issue