diff options
-rw-r--r-- | net/bluetooth/rfcomm/tty.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c index 788c70321858..e4c779bb8d76 100644 --- a/net/bluetooth/rfcomm/tty.c +++ b/net/bluetooth/rfcomm/tty.c | |||
@@ -429,7 +429,8 @@ static int rfcomm_release_dev(void __user *arg) | |||
429 | if (dev->tty) | 429 | if (dev->tty) |
430 | tty_vhangup(dev->tty); | 430 | tty_vhangup(dev->tty); |
431 | 431 | ||
432 | rfcomm_dev_del(dev); | 432 | if (!test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags)) |
433 | rfcomm_dev_del(dev); | ||
433 | rfcomm_dev_put(dev); | 434 | rfcomm_dev_put(dev); |
434 | return 0; | 435 | return 0; |
435 | } | 436 | } |