block: Rearrange block_init and block_exit sequence. 45/161045/2
authorpr.jung <pr.jung@samsung.com>
Tue, 21 Nov 2017 07:14:43 +0000 (16:14 +0900)
committerpr.jung <pr.jung@samsung.com>
Tue, 21 Nov 2017 07:26:01 +0000 (16:26 +0900)
- Get internal storage number on block_init().
- Call pipe_exit() after threads stop.

Change-Id: I2bbcc296448a907052d96a2486700be37a92087f
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/block/block.c

index a069460..79fb798 100644 (file)
@@ -2505,13 +2505,6 @@ static int block_init_from_udev_enumerate(void)
                return -EPERM;
        }
 
-       if ((dev_internal < 0 && !is_emulator() && dev_internal_scsi == '\0') ||
-               (is_emulator() && dev_internal_emul == '\0')) {
-               r = get_internal_storage_number();
-               if (r < 0)
-                       return -EPERM;
-       }
-
        udev_enumerate_add_match_subsystem(enumerate, BLOCK_SUBSYSTEM);
        udev_enumerate_add_match_property(enumerate,
                        UDEV_DEVTYPE, BLOCK_DEVTYPE_DISK);
@@ -3712,6 +3705,10 @@ static void block_init(void *data)
                if (ret < 0)
                        _E("Fail to change permissions of a file");
        }
+
+       ret = get_internal_storage_number();
+       if (ret < 0)
+               _E("Failed to get internal storage number");
 }
 
 static void block_exit(void *data)
@@ -3732,9 +3729,6 @@ static void block_exit(void *data)
                        DEVICED_INTERFACE_POWEROFF,
                        SIGNAL_POWEROFF_STATE, block_poweroff);
 
-       /* exit pipe */
-       pipe_exit();
-
        /* unregister mmc uevent control routine */
        ret = unregister_udev_uevent_control(&uh);
        if (ret < 0)
@@ -3752,6 +3746,9 @@ static void block_exit(void *data)
                }
        }
 
+       /* exit pipe */
+       pipe_exit();
+
        block_control = false;
 }