This function logs a warning if the workqueue gets too big.
In order to save a few cycles, use 'atomic_inc_return()' instead of an
'atomic_inc()/atomic_read()' sequence.
This axes a line of code and saves a 'atomic_read()' call.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
        wd->size = size;
        memcpy(wd->params, params, size);
 
-       atomic_inc(&data->workqueue_size);
+       s = atomic_inc_return(&data->workqueue_size);
        queue_work(data->wq, &wd->work);
 
        /* warn about excessive queue size */
-       s = atomic_read(&data->workqueue_size);
        if (s >= 20 && s % 20 == 0)
                hid_warn(data->hidpp->hid_dev, "Force feedback command queue contains %d commands, causing substantial delays!", s);