snsc: restore IRQs on error path in scdrv_write()
This bug is as old as git. We need to be calling spin_unlock_irqrestore() instead of regular spin_unlock() here. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
dd5c472a60
commit
da191c28f5
|
@ -285,7 +285,7 @@ scdrv_write(struct file *file, const char __user *buf,
|
||||||
DECLARE_WAITQUEUE(wait, current);
|
DECLARE_WAITQUEUE(wait, current);
|
||||||
|
|
||||||
if (file->f_flags & O_NONBLOCK) {
|
if (file->f_flags & O_NONBLOCK) {
|
||||||
spin_unlock(&sd->sd_wlock);
|
spin_unlock_irqrestore(&sd->sd_wlock, flags);
|
||||||
up(&sd->sd_wbs);
|
up(&sd->sd_wbs);
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue