diff options
author | Ed Tam <etam@google.com> | 2014-10-30 11:09:21 -0700 |
---|---|---|
committer | Ed Tam <etam@google.com> | 2014-10-30 12:07:52 -0700 |
commit | 58d40445c1caba95a168e29dc3dfe5e39c4282da (patch) | |
tree | 224d91d0e3b2776cfb4ba9b94bf21f45d5d02bcd | |
parent | f46c8b81b08fb6c4acefc94b8ae6f41a7163f562 (diff) | |
download | mako-58d40445c1caba95a168e29dc3dfe5e39c4282da.tar.gz |
Fix wifi startup timing issue
Bug: 17358965
Change-Id: Iacafcf1a1a9fed9755912b591eacdefd6992b088
-rw-r--r-- | device.mk | 3 | ||||
-rw-r--r-- | init.mako.rc | 11 | ||||
-rw-r--r-- | init.mako.wifi.sh | 10 | ||||
-rw-r--r-- | sepolicy/conn_init.te | 12 | ||||
-rw-r--r-- | sepolicy/device.te | 2 | ||||
-rw-r--r-- | sepolicy/file_contexts | 3 |
6 files changed, 30 insertions, 11 deletions
@@ -57,7 +57,8 @@ PRODUCT_COPY_FILES := \ PRODUCT_COPY_FILES += \ device/lge/mako/WCNSS_cfg.dat:system/vendor/firmware/wlan/prima/WCNSS_cfg.dat \ device/lge/mako/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini \ - device/lge/mako/WCNSS_qcom_wlan_nv.bin:system/etc/wifi/WCNSS_qcom_wlan_nv.bin + device/lge/mako/WCNSS_qcom_wlan_nv.bin:system/etc/wifi/WCNSS_qcom_wlan_nv.bin \ + device/lge/mako/init.mako.wifi.sh:system/etc/init.mako.wifi.sh PRODUCT_COPY_FILES += \ device/lge/mako/audio_policy.conf:system/etc/audio_policy.conf diff --git a/init.mako.rc b/init.mako.rc index 85babc8..67a80d8 100644 --- a/init.mako.rc +++ b/init.mako.rc @@ -147,16 +147,12 @@ on post-fs-data # to observe dnsmasq.leases file for dhcp information of soft ap. chown dhcp system /data/misc/dhcp - write /dev/wcnss_wlan 1 + chown system system /dev/wcnss_wlan write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1 # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio - # Workaround for conn_init not copying the updated firmware - rm /data/misc/wifi/WCNSS_qcom_cfg.ini - rm /data/misc/wifi/WCNSS_qcom_wlan_nv.bin - # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults chown system system /persist @@ -395,10 +391,11 @@ service qcamerasvr /system/bin/mm-qcamera-daemon user camera group camera system inet input -service conn_init /system/bin/conn_init - class late_start +service wcnss_init /system/bin/sh /system/etc/init.mako.wifi.sh + class main user system group system wifi + seclabel u:r:conn_init:s0 oneshot service bdAddrLoader /system/bin/bdAddrLoader -f /persist/bluetooth/.bdaddr -h -x diff --git a/init.mako.wifi.sh b/init.mako.wifi.sh new file mode 100644 index 0000000..e586e96 --- /dev/null +++ b/init.mako.wifi.sh @@ -0,0 +1,10 @@ +#!/system/bin/sh + +# Workaround for conn_init not copying the updated firmware +rm /data/misc/wifi/WCNSS_qcom_cfg.ini +rm /data/misc/wifi/WCNSS_qcom_wlan_nv.bin + +/system/bin/conn_init + +echo 1 > /dev/wcnss_wlan + diff --git a/sepolicy/conn_init.te b/sepolicy/conn_init.te index 33f0cab..6491888 100644 --- a/sepolicy/conn_init.te +++ b/sepolicy/conn_init.te @@ -2,10 +2,11 @@ type conn_init, domain; type conn_init_exec, exec_type, file_type; -# Started by logwrapper in init -domain_auto_trans(init, conn_init_exec, conn_init) +init_daemon_domain(conn_init) -allow conn_init devpts:chr_file { read write }; +# Runs init.mako.wifi.sh +allow conn_init shell_exec:file { entrypoint read }; +allow conn_init conn_init_exec:file rx_file_perms; # Allow /persist/wifi access allow conn_init { persist_file persist_wifi_file }:dir search; @@ -14,3 +15,8 @@ allow conn_init persist_wifi_file:file r_file_perms; # Allow /data/misc/wifi access for firmware files allow conn_init wifi_data_file:dir w_dir_perms; allow conn_init wifi_data_file:file create_file_perms; + +allow conn_init wlan_device:chr_file rw_file_perms; + +# init.mako.wifi.sh runs toolbox +allow conn_init system_file:file execute_no_trans; diff --git a/sepolicy/device.te b/sepolicy/device.te index 81caeca..b6e993a 100644 --- a/sepolicy/device.te +++ b/sepolicy/device.te @@ -1,3 +1,5 @@ +type wlan_device, dev_type; + type diag_device, dev_type; # Kickstart device used by QC qcks diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index ca7e215..4944f75 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -2,6 +2,9 @@ /dev/kgsl-3d0 u:object_r:gpu_device:s0 /dev/kgsl u:object_r:gpu_device:s0 +# WLAN +/dev/wcnss_wlan u:object_r:wlan_device:s0 + # Image Rotator Driver /dev/msm_rotator u:object_r:video_device:s0 |