mirror of https://gitee.com/openkylin/linux.git
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