Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a4c9f6f authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

Merge branch 'cupcake'

parents 1b634589 dcf3ce24
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ static struct perms_ devperms[] = {
        /* these should not be world writable */
    { "/dev/android_adb",   0660,   AID_ADB,        AID_ADB,        0 },
    { "/dev/android_adb_enable",   0660,   AID_ADB,        AID_ADB,        0 },
    /* TODO: remove legacy ttyMSM0 */
    { "/dev/ttyMSM0",       0600,   AID_BLUETOOTH,  AID_BLUETOOTH,  0 },
    { "/dev/ttyHS0",        0600,   AID_BLUETOOTH,  AID_BLUETOOTH,  0 },
    { "/dev/uinput",        0600,   AID_BLUETOOTH,  AID_BLUETOOTH,  0 },
+15 −10
Original line number Diff line number Diff line
@@ -78,9 +78,9 @@ static void volume_setstate(volume_t *vol, volume_state_t state);
static char *conv_volstate_to_eventstr(volume_state_t state);
static char *conv_volstate_to_propstr(volume_state_t state);
static int volume_send_state(volume_t *vol);
static void _cb_volstopped_for_ums_enable(volume_t *v);
static void _cb_volstopped_for_ums_enable(volume_t *v, void *arg);
static int _volmgr_enable_ums(volume_t *);
static int volmgr_shutdown_volume(volume_t *v, void (* cb) (volume_t *));
static int volmgr_shutdown_volume(volume_t *v, void (* cb) (volume_t *, void *arg));
static int volmgr_stop_volume(volume_t *v, void (*cb) (volume_t *, void *), void *arg, int emit_statechange);
static void _cb_volume_stopped_for_eject(volume_t *v, void *arg);
static void _cb_volume_stopped_for_shutdown(volume_t *v, void *arg);
@@ -171,7 +171,7 @@ int volmgr_stop_volume_by_mountpoint(char *mount_point)
    while(v) {
        if (!strcmp(v->mount_point, mount_point)) {
            pthread_mutex_lock(&v->lock);
            if (volmgr_shutdown_volume(v, _cb_volstopped_for_ums_enable) < 0)
            if (volmgr_shutdown_volume(v, NULL) < 0)
                LOGE("unable to shutdown volume '%s'\n", v->mount_point);
            pthread_mutex_unlock(&v->lock);
            return 0;
@@ -229,13 +229,14 @@ int volmgr_enable_ums(boolean enable)
        if (v->ums_path) {
            int rc;

            pthread_mutex_lock(&v->lock);
            if (enable) {
                pthread_mutex_lock(&v->lock);
                // Stop the volume, and enable UMS in the callback
                if ((rc = volmgr_shutdown_volume(v, _cb_volstopped_for_ums_enable)) < 0)
                    LOGE("unable to shutdown volume '%s'\n", v->mount_point);
            } else {
                // Disable UMS
                pthread_mutex_lock(&v->lock);
                if ((rc = ums_disable(v->ums_path)) < 0) {
                    LOGE("unable to disable ums on '%s'\n", v->mount_point);
                    pthread_mutex_unlock(&v->lock);
@@ -248,9 +249,9 @@ int volmgr_enable_ums(boolean enable)
                if ((rc = _volmgr_consider_disk_and_vol(v, v->dev->disk)) < 0) {
                    LOGE("volmgr failed to consider disk '%s'\n", v->dev->disk->dev_fspath);
                }
            }
                pthread_mutex_unlock(&v->lock);
            }
        }
        v = v->next;
    }
    return 0;
@@ -269,7 +270,9 @@ static int _volmgr_consider_disk_and_vol(volume_t *vol, blkdev_t *dev)
    LOG_VOL("volmgr_consider_disk_and_vol(%s, %s):\n", vol->mount_point, dev->dev_fspath);
#endif

    if (vol->state != volstate_nomedia && vol->state != volstate_unmounted) {
    if (vol->state != volstate_nomedia &&
        vol->state != volstate_unmounted &&
        vol->state != volstate_badremoval) {
        LOGE("Volume manager is already handling volume '%s' (currently in state %d)\n", vol->mount_point, vol->state);
        return -EADDRINUSE;
    }
@@ -467,9 +470,9 @@ static int volmgr_stop_volume(volume_t *v, void (*cb) (volume_t *, void *), void
/*
 * Gracefully stop a volume
 */
static int volmgr_shutdown_volume(volume_t *v, void (* cb) (volume_t *))
static int volmgr_shutdown_volume(volume_t *v, void (* cb) (volume_t *, void *))
{
    return volmgr_stop_volume(v, NULL, cb, true);
    return volmgr_stop_volume(v, cb, NULL, true);
}

static void _cb_volume_stopped_for_shutdown(volume_t *v, void *arg)
@@ -483,15 +486,17 @@ static void _cb_volume_stopped_for_shutdown(volume_t *v, void *arg)
/*
 * Called when a volume is sucessfully unmounted for UMS enable
 */
static void _cb_volstopped_for_ums_enable(volume_t *v)
static void _cb_volstopped_for_ums_enable(volume_t *v, void *arg)
{
    int rc;

    if ((rc = ums_enable(v->dev->dev_fspath, v->ums_path)) < 0) {
    LOG_VOL("_cb_volstopped_for_ums_enable(%s):\n", v->dev->dev_fspath);
    if ((rc = ums_enable(v->dev->disk->dev_fspath, v->ums_path)) < 0) {
        LOGE("Error enabling ums (%d)\n", rc);
        return;
    }
    volume_setstate(v, volstate_ums);
    pthread_mutex_unlock(&v->lock);
}

static int volmgr_readconfig(char *cfg_path)