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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel