diff --git a/file.te b/file.te
index 24420e9300d9c707938cd84aeae347b1be87c9e6..51684f3243af4274e11b55b618c95414ca630833 100644
--- a/file.te
+++ b/file.te
@@ -49,6 +49,7 @@ type shell_data_file, file_type, data_file_type;
 # /data/gps
 type gps_data_file, file_type, data_file_type;
 # /data/misc subdirectories
+type audio_firmware_file, file_type, data_file_type;
 type bluetooth_data_file, file_type, data_file_type;
 type keystore_data_file, file_type, data_file_type;
 type vpn_data_file, file_type, data_file_type;
diff --git a/file_contexts b/file_contexts
index 89a8cf7b1ebe620bfd25b16ebdec0e43b3f2db22..d09d427434e7dfd78339b19fcb781febce71e948 100644
--- a/file_contexts
+++ b/file_contexts
@@ -168,6 +168,7 @@
 /data/tombstones(/.*)?	u:object_r:tombstone_data_file:s0
 /data/local/tmp(/.*)?	u:object_r:shell_data_file:s0
 # Misc data
+/data/misc/audio(/.*)?          u:object_r:audio_firmware_file:s0
 /data/misc/bluetooth(/.*)?	u:object_r:bluetooth_data_file:s0
 /data/misc/bluedroid(/.*)?	u:object_r:bluetooth_data_file:s0
 /data/misc/keystore(/.*)?	u:object_r:keystore_data_file:s0
diff --git a/mediaserver.te b/mediaserver.te
index 1a065b070740981d7fe4ff20d7b12bcb839b867b..6904f821cf16073ac2596768c5af60d974961925 100644
--- a/mediaserver.te
+++ b/mediaserver.te
@@ -49,6 +49,10 @@ allow mediaserver system_server:fifo_file r_file_perms;
 allow mediaserver camera_calibration_file:dir r_dir_perms;
 allow mediaserver camera_calibration_file:file r_file_perms;
 
+# Grant access to audio firmware files to mediaserver
+allow mediaserver audio_firmware_file:dir ra_dir_perms;
+allow mediaserver audio_firmware_file:file create_file_perms;
+
 # Read/[write] to /proc/net/xt_qtaguid/ctrl and /dev/xt_qtaguid
 allow mediaserver qtaguid_proc:file rw_file_perms;
 allow mediaserver qtaguid_device:chr_file r_file_perms;