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>
This commit is contained in:
Родитель
2c2b93ecac
Коммит
5456796b1a
|
@ -117,7 +117,7 @@ static void __mei_io_list_flush(struct mei_cl_cb *list,
|
|||
* @list: An instance of our list structure
|
||||
* @cl: host client
|
||||
*/
|
||||
static inline void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl)
|
||||
void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl)
|
||||
{
|
||||
__mei_io_list_flush(list, cl, false);
|
||||
}
|
||||
|
|
|
@ -45,6 +45,8 @@ static inline void mei_io_list_init(struct mei_cl_cb *list)
|
|||
{
|
||||
INIT_LIST_HEAD(&list->list);
|
||||
}
|
||||
void mei_io_list_flush(struct mei_cl_cb *list, struct mei_cl *cl);
|
||||
|
||||
/*
|
||||
* MEI Host Client Functions
|
||||
*/
|
||||
|
|
|
@ -556,8 +556,6 @@ void mei_timer(struct work_struct *work)
|
|||
{
|
||||
unsigned long timeout;
|
||||
struct mei_cl *cl;
|
||||
struct mei_cl_cb *cb_pos = NULL;
|
||||
struct mei_cl_cb *cb_next = NULL;
|
||||
|
||||
struct mei_device *dev = container_of(work,
|
||||
struct mei_device, timer_work.work);
|
||||
|
@ -632,15 +630,8 @@ void mei_timer(struct work_struct *work)
|
|||
|
||||
dev_dbg(&dev->pdev->dev, "freeing AMTHI for other requests\n");
|
||||
|
||||
list_for_each_entry_safe(cb_pos, cb_next,
|
||||
&dev->amthif_rd_complete_list.list, list) {
|
||||
|
||||
cl = cb_pos->file_object->private_data;
|
||||
|
||||
/* Finding the AMTHI entry. */
|
||||
if (cl == &dev->iamthif_cl)
|
||||
list_del(&cb_pos->list);
|
||||
}
|
||||
mei_io_list_flush(&dev->amthif_rd_complete_list,
|
||||
&dev->iamthif_cl);
|
||||
mei_io_cb_free(dev->iamthif_current_cb);
|
||||
dev->iamthif_current_cb = NULL;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче