mei: amthif: interrupt reader on link reset
In case of link reset all waiting readers should be interrupted. 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:
parent
4bddf56fc9
commit
b74d883138
|
@ -122,7 +122,8 @@ int mei_amthif_read(struct mei_device *dev, struct file *file,
|
||||||
mutex_unlock(&dev->device_lock);
|
mutex_unlock(&dev->device_lock);
|
||||||
|
|
||||||
wait_ret = wait_event_interruptible(cl->rx_wait,
|
wait_ret = wait_event_interruptible(cl->rx_wait,
|
||||||
!list_empty(&cl->rd_completed));
|
!list_empty(&cl->rd_completed) ||
|
||||||
|
!mei_cl_is_connected(cl));
|
||||||
|
|
||||||
/* Locking again the Mutex */
|
/* Locking again the Mutex */
|
||||||
mutex_lock(&dev->device_lock);
|
mutex_lock(&dev->device_lock);
|
||||||
|
@ -130,6 +131,11 @@ int mei_amthif_read(struct mei_device *dev, struct file *file,
|
||||||
if (wait_ret)
|
if (wait_ret)
|
||||||
return -ERESTARTSYS;
|
return -ERESTARTSYS;
|
||||||
|
|
||||||
|
if (!mei_cl_is_connected(cl)) {
|
||||||
|
rets = -EBUSY;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
cb = mei_cl_read_cb(cl, file);
|
cb = mei_cl_read_cb(cl, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue