diff options
Diffstat (limited to 'drivers/misc/mei/init.c')
| -rw-r--r-- | drivers/misc/mei/init.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c index cfb1cdf176fa..13c55b8f9261 100644 --- a/drivers/misc/mei/init.c +++ b/drivers/misc/mei/init.c @@ -124,8 +124,6 @@ int mei_reset(struct mei_device *dev)  	mei_clear_interrupts(dev); -	mei_synchronize_irq(dev); -  	/* we're already in reset, cancel the init timer  	 * if the reset was called due the hbm protocol error  	 * we need to call it before hw start @@ -304,6 +302,9 @@ static void mei_reset_work(struct work_struct *work)  		container_of(work, struct mei_device,  reset_work);  	int ret; +	mei_clear_interrupts(dev); +	mei_synchronize_irq(dev); +  	mutex_lock(&dev->device_lock);  	ret = mei_reset(dev); @@ -328,6 +329,9 @@ void mei_stop(struct mei_device *dev)  	mei_cancel_work(dev); +	mei_clear_interrupts(dev); +	mei_synchronize_irq(dev); +  	mutex_lock(&dev->device_lock);  	dev->dev_state = MEI_DEV_POWER_DOWN;  | 
