Message ID | 20240605145117.397751-2-bvanassche@acm.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | iWARP Connection Manager patches | expand |
在 2024/6/5 16:50, Bart Van Assche 写道: > Improve source code readability by using list_first_entry() where appropriate. > > Signed-off-by: Bart Van Assche <bvanassche@acm.org> > --- > drivers/infiniband/core/iwcm.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c > index 0301fcad4b48..90d8f3d66990 100644 > --- a/drivers/infiniband/core/iwcm.c > +++ b/drivers/infiniband/core/iwcm.c > @@ -143,8 +143,8 @@ static struct iwcm_work *get_work(struct iwcm_id_private *cm_id_priv) > > if (list_empty(&cm_id_priv->work_free_list)) > return NULL; > - work = list_entry(cm_id_priv->work_free_list.next, struct iwcm_work, > - free_list); > + work = list_first_entry(&cm_id_priv->work_free_list, struct iwcm_work, > + free_list); The followings are the definitions of list_entry and list_first_entry. #define list_entry(ptr, type, member) \ container_of(ptr, type, member) #define list_first_entry(ptr, type, member) \ list_entry((ptr)->next, type, member)F From the above, IMO, this commit is fine. Thanks. Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Zhu Yanjun > list_del_init(&work->free_list); > return work; > } > @@ -1023,8 +1023,8 @@ static void cm_work_handler(struct work_struct *_work) > spin_lock_irqsave(&cm_id_priv->lock, flags); > empty = list_empty(&cm_id_priv->work_list); > while (!empty) { > - work = list_entry(cm_id_priv->work_list.next, > - struct iwcm_work, list); > + work = list_first_entry(&cm_id_priv->work_list, > + struct iwcm_work, list); > list_del_init(&work->list); > empty = list_empty(&cm_id_priv->work_list); > levent = work->event;
diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c index 0301fcad4b48..90d8f3d66990 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c @@ -143,8 +143,8 @@ static struct iwcm_work *get_work(struct iwcm_id_private *cm_id_priv) if (list_empty(&cm_id_priv->work_free_list)) return NULL; - work = list_entry(cm_id_priv->work_free_list.next, struct iwcm_work, - free_list); + work = list_first_entry(&cm_id_priv->work_free_list, struct iwcm_work, + free_list); list_del_init(&work->free_list); return work; } @@ -1023,8 +1023,8 @@ static void cm_work_handler(struct work_struct *_work) spin_lock_irqsave(&cm_id_priv->lock, flags); empty = list_empty(&cm_id_priv->work_list); while (!empty) { - work = list_entry(cm_id_priv->work_list.next, - struct iwcm_work, list); + work = list_first_entry(&cm_id_priv->work_list, + struct iwcm_work, list); list_del_init(&work->list); empty = list_empty(&cm_id_priv->work_list); levent = work->event;
Improve source code readability by using list_first_entry() where appropriate. Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- drivers/infiniband/core/iwcm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)