[PATCH 2/2] staging: most: avoid assignment in if

From: Sudip Mukherjee
Date: Fri Nov 27 2015 - 02:38:13 EST


checkpatch is giving a warning about an assignment in the if condition.
The assignment was there as the valid mbo pointer was used after we have
woken up from wait_event_interruptible(). Now even though we donot
assign the pointer to mbo but we will still be able to get the valid
pointer for later use.

Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
---
drivers/staging/most/aim-cdev/cdev.c | 10 +++++-----
drivers/staging/most/aim-network/networking.c | 2 +-
drivers/staging/most/aim-sound/sound.c | 4 ++--
drivers/staging/most/hdm-dim2/dim2_hdm.c | 2 +-
drivers/staging/most/mostcore/core.c | 3 ++-
drivers/staging/most/mostcore/mostcore.h | 2 +-
6 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/most/aim-cdev/cdev.c b/drivers/staging/most/aim-cdev/cdev.c
index 3f7c8bb..ff35967 100644
--- a/drivers/staging/most/aim-cdev/cdev.c
+++ b/drivers/staging/most/aim-cdev/cdev.c
@@ -168,17 +168,17 @@ static ssize_t aim_write(struct file *filp, const char __user *buf,
}
mutex_unlock(&channel->io_mutex);

- mbo = most_get_mbo(channel->iface, channel->channel_id, &cdev_aim);
+ mbo = most_get_mbo(channel->iface, channel->channel_id,
+ &cdev_aim, &mbo);

if (!mbo) {
if ((filp->f_flags & O_NONBLOCK))
return -EAGAIN;
if (wait_event_interruptible(
channel->wq,
- (mbo = most_get_mbo(channel->iface,
- channel->channel_id,
- &cdev_aim)) ||
- (!channel->dev)))
+ most_get_mbo(channel->iface, channel->channel_id,
+ &cdev_aim, &mbo)) ||
+ (!channel->dev))
return -ERESTARTSYS;
}

diff --git a/drivers/staging/most/aim-network/networking.c b/drivers/staging/most/aim-network/networking.c
index 3c7beb0..84678bb 100644
--- a/drivers/staging/most/aim-network/networking.c
+++ b/drivers/staging/most/aim-network/networking.c
@@ -241,7 +241,7 @@ static netdev_tx_t most_nd_start_xmit(struct sk_buff *skb,

BUG_ON(nd->dev != dev);

- mbo = most_get_mbo(nd->iface, nd->tx.ch_id, &aim);
+ mbo = most_get_mbo(nd->iface, nd->tx.ch_id, &aim, &mbo);

if (!mbo) {
netif_stop_queue(dev);
diff --git a/drivers/staging/most/aim-sound/sound.c b/drivers/staging/most/aim-sound/sound.c
index 9c64580..f5d5d87 100644
--- a/drivers/staging/most/aim-sound/sound.c
+++ b/drivers/staging/most/aim-sound/sound.c
@@ -240,8 +240,8 @@ static int playback_thread(void *data)
channel->playback_waitq,
kthread_should_stop() ||
(channel->is_stream_running &&
- (mbo = most_get_mbo(channel->iface, channel->id,
- &audio_aim))));
+ most_get_mbo(channel->iface, channel->id,
+ &audio_aim, &mbo)));
if (!mbo)
continue;

diff --git a/drivers/staging/most/hdm-dim2/dim2_hdm.c b/drivers/staging/most/hdm-dim2/dim2_hdm.c
index 327d738..ef0ca59 100644
--- a/drivers/staging/most/hdm-dim2/dim2_hdm.c
+++ b/drivers/staging/most/hdm-dim2/dim2_hdm.c
@@ -667,7 +667,7 @@ static void request_netinfo(struct most_interface *most_iface, int ch_idx)
return;
}

- mbo = most_get_mbo(&dev->most_iface, dev->atx_idx, NULL);
+ mbo = most_get_mbo(&dev->most_iface, dev->atx_idx, NULL, &mbo);
if (!mbo)
return;

diff --git a/drivers/staging/most/mostcore/core.c b/drivers/staging/most/mostcore/core.c
index ed1ed25..535c79b 100644
--- a/drivers/staging/most/mostcore/core.c
+++ b/drivers/staging/most/mostcore/core.c
@@ -1412,7 +1412,7 @@ EXPORT_SYMBOL_GPL(channel_has_mbo);
* Returns a pointer to MBO on success or NULL otherwise.
*/
struct mbo *most_get_mbo(struct most_interface *iface, int id,
- struct most_aim *aim)
+ struct most_aim *aim, struct mbo **mbo_p)
{
struct mbo *mbo;
struct most_c_obj *c;
@@ -1446,6 +1446,7 @@ struct mbo *most_get_mbo(struct most_interface *iface, int id,

mbo->num_buffers_ptr = num_buffers_ptr;
mbo->buffer_length = c->cfg.buffer_size;
+ *mbo_p = mbo;
return mbo;
}
EXPORT_SYMBOL_GPL(most_get_mbo);
diff --git a/drivers/staging/most/mostcore/mostcore.h b/drivers/staging/most/mostcore/mostcore.h
index bda3850..a8957f5 100644
--- a/drivers/staging/most/mostcore/mostcore.h
+++ b/drivers/staging/most/mostcore/mostcore.h
@@ -308,7 +308,7 @@ void most_resume_enqueue(struct most_interface *iface, int channel_idx);
int most_register_aim(struct most_aim *aim);
int most_deregister_aim(struct most_aim *aim);
struct mbo *most_get_mbo(struct most_interface *iface, int channel_idx,
- struct most_aim *);
+ struct most_aim *, struct mbo **);
void most_put_mbo(struct mbo *mbo);
int channel_has_mbo(struct most_interface *iface, int channel_idx);
int most_start_channel(struct most_interface *iface, int channel_idx,
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/