diff options
Diffstat (limited to 'drivers/misc/mei/interrupt.c')
-rw-r--r-- | drivers/misc/mei/interrupt.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index 20c6c511f438..711cddfa9c99 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c | |||
@@ -44,8 +44,6 @@ void mei_irq_compl_handler(struct mei_device *dev, struct mei_cl_cb *compl_list) | |||
44 | list_for_each_entry_safe(cb, next, &compl_list->list, list) { | 44 | list_for_each_entry_safe(cb, next, &compl_list->list, list) { |
45 | cl = cb->cl; | 45 | cl = cb->cl; |
46 | list_del(&cb->list); | 46 | list_del(&cb->list); |
47 | if (!cl) | ||
48 | continue; | ||
49 | 47 | ||
50 | dev_dbg(dev->dev, "completing call back.\n"); | 48 | dev_dbg(dev->dev, "completing call back.\n"); |
51 | if (cl == &dev->iamthif_cl) | 49 | if (cl == &dev->iamthif_cl) |
@@ -105,7 +103,7 @@ static int mei_cl_irq_read_msg(struct mei_device *dev, | |||
105 | 103 | ||
106 | list_for_each_entry_safe(cb, next, &dev->read_list.list, list) { | 104 | list_for_each_entry_safe(cb, next, &dev->read_list.list, list) { |
107 | cl = cb->cl; | 105 | cl = cb->cl; |
108 | if (!cl || !mei_cl_is_reading(cl, mei_hdr)) | 106 | if (!mei_cl_is_reading(cl, mei_hdr)) |
109 | continue; | 107 | continue; |
110 | 108 | ||
111 | cl->reading_state = MEI_READING; | 109 | cl->reading_state = MEI_READING; |
@@ -449,8 +447,6 @@ int mei_irq_write_handler(struct mei_device *dev, struct mei_cl_cb *cmpl_list) | |||
449 | list = &dev->write_waiting_list; | 447 | list = &dev->write_waiting_list; |
450 | list_for_each_entry_safe(cb, next, &list->list, list) { | 448 | list_for_each_entry_safe(cb, next, &list->list, list) { |
451 | cl = cb->cl; | 449 | cl = cb->cl; |
452 | if (cl == NULL) | ||
453 | continue; | ||
454 | 450 | ||
455 | cl->status = 0; | 451 | cl->status = 0; |
456 | list_del(&cb->list); | 452 | list_del(&cb->list); |
@@ -489,10 +485,6 @@ int mei_irq_write_handler(struct mei_device *dev, struct mei_cl_cb *cmpl_list) | |||
489 | dev_dbg(dev->dev, "complete control write list cb.\n"); | 485 | dev_dbg(dev->dev, "complete control write list cb.\n"); |
490 | list_for_each_entry_safe(cb, next, &dev->ctrl_wr_list.list, list) { | 486 | list_for_each_entry_safe(cb, next, &dev->ctrl_wr_list.list, list) { |
491 | cl = cb->cl; | 487 | cl = cb->cl; |
492 | if (!cl) { | ||
493 | list_del(&cb->list); | ||
494 | return -ENODEV; | ||
495 | } | ||
496 | switch (cb->fop_type) { | 488 | switch (cb->fop_type) { |
497 | case MEI_FOP_DISCONNECT: | 489 | case MEI_FOP_DISCONNECT: |
498 | /* send disconnect message */ | 490 | /* send disconnect message */ |
@@ -530,8 +522,6 @@ int mei_irq_write_handler(struct mei_device *dev, struct mei_cl_cb *cmpl_list) | |||
530 | dev_dbg(dev->dev, "complete write list cb.\n"); | 522 | dev_dbg(dev->dev, "complete write list cb.\n"); |
531 | list_for_each_entry_safe(cb, next, &dev->write_list.list, list) { | 523 | list_for_each_entry_safe(cb, next, &dev->write_list.list, list) { |
532 | cl = cb->cl; | 524 | cl = cb->cl; |
533 | if (cl == NULL) | ||
534 | continue; | ||
535 | if (cl == &dev->iamthif_cl) | 525 | if (cl == &dev->iamthif_cl) |
536 | ret = mei_amthif_irq_write(cl, cb, cmpl_list); | 526 | ret = mei_amthif_irq_write(cl, cb, cmpl_list); |
537 | else | 527 | else |