list_for_each_entry_safe(pos, next, &head, list) if (pos) { .... } This check isn't needed. The list cursor in a list_for_each() loop is always a valid pointer Cc: Oren Weil <oren.jer.weil@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> --- drivers/staging/mei/init.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/staging/mei/init.c b/drivers/staging/mei/init.c index 32cf05e..ce10224 100644 --- a/drivers/staging/mei/init.c +++ b/drivers/staging/mei/init.c @@ -48,11 +48,11 @@ void mei_io_list_init(struct mei_io_list *list) */ void mei_io_list_flush(struct mei_io_list *list, struct mei_cl *cl) { - struct mei_cl_cb *pos = NULL; - struct mei_cl_cb *next = NULL; + struct mei_cl_cb *pos; + struct mei_cl_cb *next; list_for_each_entry_safe(pos, next, &list->mei_cb.cb_list, cb_list) { - if (pos) { + if (pos->file_private) { struct mei_cl *cl_tmp; cl_tmp = (struct mei_cl *)pos->file_private; if (mei_cl_cmp_id(cl, cl_tmp)) @@ -332,11 +332,8 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) /* remove all waiting requests */ list_for_each_entry_safe(cb_pos, cb_next, &dev->write_list.mei_cb.cb_list, cb_list) { - if (cb_pos) { - list_del(&cb_pos->cb_list); - mei_free_cb_private(cb_pos); - cb_pos = NULL; - } + list_del(&cb_pos->cb_list); + mei_free_cb_private(cb_pos); } } -- 1.7.4.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel