diff options
author | Alexander Usyskin <alexander.usyskin@intel.com> | 2014-08-14 10:22:20 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-24 01:56:16 -0400 |
commit | 5456796b1a2aedd2d6345944b73ac41aeb8cb589 (patch) | |
tree | 958f8335ef341fa67b416f0bcc96a3e19f2c2f44 /drivers/misc/mei | |
parent | 2c2b93ecace25c3720e68e6cd7ee47f38c1d2e90 (diff) |
mei: amthif: use service function to flush amthif queue
Replace open coded loop with an existing service function:
mei_io_list_flush
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei')
-rw-r--r-- | drivers/misc/mei/client.c | 2 | ||||
-rw-r--r-- | drivers/misc/mei/client.h | 2 | ||||
-rw-r--r-- | drivers/misc/mei/interrupt.c | 13 |
3 files changed, 5 insertions, 12 deletions
diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index 2da05c0e113d..3c5a1d328977 100644 --- a/drivers/misc/mei/client.c +++ b/drivers/misc/mei/client.c | |||
@@ -117,7 +117,7 @@ static void __mei_io_list_flush(struct mei_cl_cb *list, | |||
117 | * @list: An instance of our list structure | 117 | * @list: An instance of our list structure |
118 | * @cl: host client | 118 | * @cl: host client |
119 | */ | 119 | */ |
120 | static inline void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl) | 120 | void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl) |
121 | { | 121 | { |
122 | __mei_io_list_flush(list, cl, false); | 122 | __mei_io_list_flush(list, cl, false); |
123 | } | 123 | } |
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h index 96d5de0389f9..bf2b0b1b493d 100644 --- a/drivers/misc/mei/client.h +++ b/drivers/misc/mei/client.h | |||
@@ -45,6 +45,8 @@ static inline void mei_io_list_init(struct mei_cl_cb *list) | |||
45 | { | 45 | { |
46 | INIT_LIST_HEAD(&list->list); | 46 | INIT_LIST_HEAD(&list->list); |
47 | } | 47 | } |
48 | void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl); | ||
49 | |||
48 | /* | 50 | /* |
49 | * MEI Host Client Functions | 51 | * MEI Host Client Functions |
50 | */ | 52 | */ |
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index 4e3cba6da3f5..19709b70874e 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c | |||
@@ -556,8 +556,6 @@ void mei_timer(struct work_struct *work) | |||
556 | { | 556 | { |
557 | unsigned long timeout; | 557 | unsigned long timeout; |
558 | struct mei_cl *cl; | 558 | struct mei_cl *cl; |
559 | struct mei_cl_cb *cb_pos = NULL; | ||
560 | struct mei_cl_cb *cb_next = NULL; | ||
561 | 559 | ||
562 | struct mei_device *dev = container_of(work, | 560 | struct mei_device *dev = container_of(work, |
563 | struct mei_device, timer_work.work); | 561 | struct mei_device, timer_work.work); |
@@ -632,15 +630,8 @@ void mei_timer(struct work_struct *work) | |||
632 | 630 | ||
633 | dev_dbg(&dev->pdev->dev, "freeing AMTHI for other requests\n"); | 631 | dev_dbg(&dev->pdev->dev, "freeing AMTHI for other requests\n"); |
634 | 632 | ||
635 | list_for_each_entry_safe(cb_pos, cb_next, | 633 | mei_io_list_flush(&dev->amthif_rd_complete_list, |
636 | &dev->amthif_rd_complete_list.list, list) { | 634 | &dev->iamthif_cl); |
637 | |||
638 | cl = cb_pos->file_object->private_data; | ||
639 | |||
640 | /* Finding the AMTHI entry. */ | ||
641 | if (cl == &dev->iamthif_cl) | ||
642 | list_del(&cb_pos->list); | ||
643 | } | ||
644 | mei_io_cb_free(dev->iamthif_current_cb); | 635 | mei_io_cb_free(dev->iamthif_current_cb); |
645 | dev->iamthif_current_cb = NULL; | 636 | dev->iamthif_current_cb = NULL; |
646 | 637 | ||