Skip to content

Commit a1babdb

Browse files
bvanasscherleon
authored andcommitted
RDMA/iwcm: Simplify cm_work_handler()
Instead of complicating the code to avoid a spin_lock_irqsave() / spin_lock_irqrestore() pair before returning, simplify the code by removing the local variable 'empty'. Signed-off-by: Bart Van Assche <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Leon Romanovsky <[email protected]>
1 parent e1168f0 commit a1babdb

File tree

1 file changed

+1
-6
lines changed

1 file changed

+1
-6
lines changed

drivers/infiniband/core/iwcm.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,16 +1017,13 @@ static void cm_work_handler(struct work_struct *_work)
10171017
struct iw_cm_event levent;
10181018
struct iwcm_id_private *cm_id_priv = work->cm_id;
10191019
unsigned long flags;
1020-
int empty;
10211020
int ret = 0;
10221021

10231022
spin_lock_irqsave(&cm_id_priv->lock, flags);
1024-
empty = list_empty(&cm_id_priv->work_list);
1025-
while (!empty) {
1023+
while (!list_empty(&cm_id_priv->work_list)) {
10261024
work = list_first_entry(&cm_id_priv->work_list,
10271025
struct iwcm_work, list);
10281026
list_del_init(&work->list);
1029-
empty = list_empty(&cm_id_priv->work_list);
10301027
levent = work->event;
10311028
put_work(work);
10321029
spin_unlock_irqrestore(&cm_id_priv->lock, flags);
@@ -1039,8 +1036,6 @@ static void cm_work_handler(struct work_struct *_work)
10391036
pr_debug("dropping event %d\n", levent.event);
10401037
if (iwcm_deref_id(cm_id_priv))
10411038
return;
1042-
if (empty)
1043-
return;
10441039
spin_lock_irqsave(&cm_id_priv->lock, flags);
10451040
}
10461041
spin_unlock_irqrestore(&cm_id_priv->lock, flags);

0 commit comments

Comments
 (0)