mei: use mei_cl_is_connected consistently
authorTomas Winkler <tomas.winkler@intel.com>
Thu, 26 Mar 2015 22:27:58 +0000 (00:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 14:18:56 +0000 (16:18 +0200)
Replace open coded check for cl->state !=/== MEI_FILE_CONNECTED
with mei_cl_is_connected function.

Note that cl->state != MEI_FILE_CONNECTED is not the same
as cl->state == MEI_FILE_DISCONNECTED

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/bus.c
drivers/misc/mei/client.c
drivers/misc/mei/interrupt.c
drivers/misc/mei/main.c
drivers/misc/mei/wd.c

index 45896f95fed11313fb0880f98d3a623f36352440..b724a67696fc67b59de22f75cc64c76245cb6a14 100644 (file)
@@ -238,7 +238,7 @@ static ssize_t ___mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
        dev = cl->dev;
 
        mutex_lock(&dev->device_lock);
-       if (cl->state != MEI_FILE_CONNECTED) {
+       if (!mei_cl_is_connected(cl)) {
                rets = -ENODEV;
                goto out;
        }
@@ -474,7 +474,7 @@ int mei_cl_disable_device(struct mei_cl_device *device)
 
        mutex_lock(&dev->device_lock);
 
-       if (cl->state != MEI_FILE_CONNECTED) {
+       if (!mei_cl_is_connected(cl)) {
                dev_err(dev->dev, "Already disconnected");
                err = 0;
                goto out;
index e5aeb6fd1ba4cfad04ac296b4414d55144708562..1e99ef6a54a2b83153e6e6053e45a9a5df85bee9 100644 (file)
@@ -876,7 +876,7 @@ int mei_cl_connect(struct mei_cl *cl, struct file *file)
                        mei_secs_to_jiffies(MEI_CL_CONNECT_TIMEOUT));
        mutex_lock(&dev->device_lock);
 
-       if (cl->state != MEI_FILE_CONNECTED) {
+       if (!mei_cl_is_connected(cl)) {
                cl->state = MEI_FILE_DISCONNECTED;
                /* something went really wrong */
                if (!cl->status)
index 3f23629759db870a7df621ebef1d857295cfe818..3f84d2edcde44f1f7a06377abe903a6ca2f86fd1 100644 (file)
@@ -110,7 +110,7 @@ int mei_cl_irq_read_msg(struct mei_cl *cl,
                goto out;
        }
 
-       if (cl->state != MEI_FILE_CONNECTED) {
+       if (!mei_cl_is_connected(cl)) {
                cl_dbg(dev, cl, "not connected\n");
                cb->status = -ENODEV;
                goto out;
index a1ec450549885111522f5ac8e5addbbd4d235e5b..29fa88b6fa172b4d4c7b6f3de72a7dffa2e560ae 100644 (file)
@@ -107,7 +107,7 @@ static int mei_release(struct inode *inode, struct file *file)
                rets = mei_amthif_release(dev, file);
                goto out;
        }
-       if (cl->state == MEI_FILE_CONNECTED) {
+       if (mei_cl_is_connected(cl)) {
                cl->state = MEI_FILE_DISCONNECTING;
                cl_dbg(dev, cl, "disconnecting\n");
                rets = mei_cl_disconnect(cl);
@@ -309,9 +309,8 @@ static ssize_t mei_write(struct file *file, const char __user *ubuf,
                goto out;
        }
 
-       if (cl->state != MEI_FILE_CONNECTED) {
-               dev_err(dev->dev, "host client = %d,  is not connected to ME client = %d",
-                       cl->host_client_id, cl->me_client_id);
+       if (!mei_cl_is_connected(cl)) {
+               cl_err(dev, cl, "is not connected");
                rets = -ENODEV;
                goto out;
        }
@@ -418,7 +417,7 @@ static int mei_ioctl_connect_client(struct file *file,
         */
        if (uuid_le_cmp(data->in_client_uuid, mei_amthif_guid) == 0) {
                dev_dbg(dev->dev, "FW Client is amthi\n");
-               if (dev->iamthif_cl.state != MEI_FILE_CONNECTED) {
+               if (!mei_cl_is_connected(&dev->iamthif_cl)) {
                        rets = -ENODEV;
                        goto end;
                }
@@ -554,7 +553,9 @@ static unsigned int mei_poll(struct file *file, poll_table *wait)
 
        mutex_lock(&dev->device_lock);
 
-       if (!mei_cl_is_connected(cl)) {
+
+       if (dev->dev_state != MEI_DEV_ENABLED ||
+           !mei_cl_is_connected(cl)) {
                mask = POLLERR;
                goto out;
        }
index ac1e6235692d6bca4d1bc9d1c16391d097729347..2725f865c3d6b814ef7b532069f42c6902572e8f 100644 (file)
@@ -160,9 +160,10 @@ int mei_wd_send(struct mei_device *dev)
  */
 int mei_wd_stop(struct mei_device *dev)
 {
+       struct mei_cl *cl = &dev->wd_cl;
        int ret;
 
-       if (dev->wd_cl.state != MEI_FILE_CONNECTED ||
+       if (!mei_cl_is_connected(cl) ||
            dev->wd_state != MEI_WD_RUNNING)
                return 0;
 
@@ -170,7 +171,7 @@ int mei_wd_stop(struct mei_device *dev)
 
        dev->wd_state = MEI_WD_STOPPING;
 
-       ret = mei_cl_flow_ctrl_creds(&dev->wd_cl);
+       ret = mei_cl_flow_ctrl_creds(cl);
        if (ret < 0)
                goto err;
 
@@ -211,13 +212,16 @@ err:
  */
 static int mei_wd_ops_start(struct watchdog_device *wd_dev)
 {
-       int err = -ENODEV;
        struct mei_device *dev;
+       struct mei_cl *cl;
+       int err = -ENODEV;
 
        dev = watchdog_get_drvdata(wd_dev);
        if (!dev)
                return -ENODEV;
 
+       cl = &dev->wd_cl;
+
        mutex_lock(&dev->device_lock);
 
        if (dev->dev_state != MEI_DEV_ENABLED) {
@@ -226,8 +230,8 @@ static int mei_wd_ops_start(struct watchdog_device *wd_dev)
                goto end_unlock;
        }
 
-       if (dev->wd_cl.state != MEI_FILE_CONNECTED)     {
-               dev_dbg(dev->dev, "MEI Driver is not connected to Watchdog Client\n");
+       if (!mei_cl_is_connected(cl)) {
+               cl_dbg(dev, cl, "MEI Driver is not connected to Watchdog Client\n");
                goto end_unlock;
        }
 
@@ -282,8 +286,8 @@ static int mei_wd_ops_ping(struct watchdog_device *wd_dev)
 
        mutex_lock(&dev->device_lock);
 
-       if (cl->state != MEI_FILE_CONNECTED) {
-               dev_err(dev->dev, "wd: not connected.\n");
+       if (!mei_cl_is_connected(cl)) {
+               cl_err(dev, cl, "wd: not connected.\n");
                ret = -ENODEV;
                goto end;
        }