aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei
diff options
context:
space:
mode:
authorAlexander Usyskin <alexander.usyskin@intel.com>2014-08-14 10:22:20 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-09-24 01:56:16 -0400
commit5456796b1a2aedd2d6345944b73ac41aeb8cb589 (patch)
tree958f8335ef341fa67b416f0bcc96a3e19f2c2f44 /drivers/misc/mei
parent2c2b93ecace25c3720e68e6cd7ee47f38c1d2e90 (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.c2
-rw-r--r--drivers/misc/mei/client.h2
-rw-r--r--drivers/misc/mei/interrupt.c13
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 */
120static inline void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl) 120void 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}
48void 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