diff --git a/service_contexts b/service_contexts
index 08bf3fea2a1737c73fbb2535d172968d6ae4063c..41ba10923ee24489b3d6acab91e891ae0e2e6e20 100644
--- a/service_contexts
+++ b/service_contexts
@@ -66,6 +66,7 @@ media_projection                          u:object_r:system_server_service:s0
 media_router                              u:object_r:system_server_service:s0
 media_session                             u:object_r:system_server_service:s0
 meminfo                                   u:object_r:system_server_service:s0
+midi                                      u:object_r:system_server_service:s0
 mount                                     u:object_r:system_server_service:s0
 netpolicy                                 u:object_r:system_server_service:s0
 netstats                                  u:object_r:system_server_service:s0
diff --git a/system_server.te b/system_server.te
index 19ff19711befde7bfa2a9167fb4b321d8ae4c2f9..f3ab201da487480a9007baca8372d63d139e2ea3 100644
--- a/system_server.te
+++ b/system_server.te
@@ -169,7 +169,9 @@ allow system_server video_device:dir r_dir_perms;
 allow system_server video_device:chr_file rw_file_perms;
 allow system_server adbd_socket:sock_file rw_file_perms;
 allow system_server audio_device:dir r_dir_perms;
-allow system_server audio_device:chr_file r_file_perms;
+
+# write access needed for MIDI
+allow system_server audio_device:chr_file rw_file_perms;
 
 # tun device used for 3rd party vpn apps
 allow system_server tun_device:chr_file rw_file_perms;