mei: introduce host client uninitialized state
authorAlexander Usyskin <alexander.usyskin@intel.com>
Wed, 16 Nov 2016 20:51:27 +0000 (22:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Nov 2016 15:37:49 +0000 (16:37 +0100)
Introduce a new host client state, MEI_FILE_UNINITIALIZED,
to distinguish client objects that was unlinked,
but not destroyed and can be linked again.

Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/client.c
drivers/misc/mei/mei_dev.h

index c71cee8..46ee915 100644 (file)
@@ -571,7 +571,7 @@ void mei_cl_init(struct mei_cl *cl, struct mei_device *dev)
        INIT_LIST_HEAD(&cl->rd_pending);
        INIT_LIST_HEAD(&cl->link);
        cl->writing_state = MEI_IDLE;
-       cl->state = MEI_FILE_INITIALIZING;
+       cl->state = MEI_FILE_UNINITIALIZED;
        cl->dev = dev;
 }
 
@@ -672,7 +672,7 @@ int mei_cl_unlink(struct mei_cl *cl)
 
        list_del_init(&cl->link);
 
-       cl->state = MEI_FILE_INITIALIZING;
+       cl->state = MEI_FILE_UNINITIALIZED;
 
        return 0;
 }
@@ -756,7 +756,7 @@ void mei_cl_set_disconnected(struct mei_cl *cl)
        struct mei_device *dev = cl->dev;
 
        if (cl->state == MEI_FILE_DISCONNECTED ||
-           cl->state == MEI_FILE_INITIALIZING)
+           cl->state <= MEI_FILE_INITIALIZING)
                return;
 
        cl->state = MEI_FILE_DISCONNECTED;
index 93b1503..82e69a0 100644 (file)
@@ -55,7 +55,8 @@ extern const uuid_le mei_amthif_guid;
 
 /* File state */
 enum file_state {
-       MEI_FILE_INITIALIZING = 0,
+       MEI_FILE_UNINITIALIZED = 0,
+       MEI_FILE_INITIALIZING,
        MEI_FILE_CONNECTING,
        MEI_FILE_CONNECTED,
        MEI_FILE_DISCONNECTING,