mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
USB: cdc-wdm: poll must return POLLHUP if device is gone
Else the poll will be restarted indefinitely in a tight loop, preventing final device cleanup. Cc: Oliver Neukum <oliver@neukum.org> Cc: stable <stable@vger.kernel.org> Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b8cacf33f0
commit
616b6937e3
@ -548,7 +548,7 @@ static unsigned int wdm_poll(struct file *file, struct poll_table_struct *wait)
|
||||
|
||||
spin_lock_irqsave(&desc->iuspin, flags);
|
||||
if (test_bit(WDM_DISCONNECTING, &desc->flags)) {
|
||||
mask = POLLERR;
|
||||
mask = POLLHUP | POLLERR;
|
||||
spin_unlock_irqrestore(&desc->iuspin, flags);
|
||||
goto desc_out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user