From: Bart Van Assche Date: Wed, 5 Jun 2024 14:50:59 +0000 (-0600) Subject: RDMA/iwcm: Simplify cm_event_handler() X-Git-Tag: v6.11-rc1~116^2~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e1168f09b3314992f1c5251f3793102035da7237;p=thirdparty%2Fkernel%2Flinux.git RDMA/iwcm: Simplify cm_event_handler() queue_work() can test efficiently whether or not work is pending. Hence, simplify cm_event_handler() by always calling queue_work() instead of only if the list with pending work is empty. Signed-off-by: Bart Van Assche Link: https://lore.kernel.org/r/20240605145117.397751-4-bvanassche@acm.org Signed-off-by: Leon Romanovsky --- diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c index ae9c12409f8a5..3d66aec36899f 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c @@ -1093,11 +1093,8 @@ static int cm_event_handler(struct iw_cm_id *cm_id, } refcount_inc(&cm_id_priv->refcount); - if (list_empty(&cm_id_priv->work_list)) { - list_add_tail(&work->list, &cm_id_priv->work_list); - queue_work(iwcm_wq, &work->work); - } else - list_add_tail(&work->list, &cm_id_priv->work_list); + list_add_tail(&work->list, &cm_id_priv->work_list); + queue_work(iwcm_wq, &work->work); out: spin_unlock_irqrestore(&cm_id_priv->lock, flags); return ret;