|
@@ -468,7 +468,7 @@ static int rfcomm_get_dev_list(void __user *arg)
|
|
|
spin_lock(&rfcomm_dev_lock);
|
|
|
|
|
|
list_for_each_entry(dev, &rfcomm_dev_list, list) {
|
|
|
- if (test_bit(RFCOMM_TTY_RELEASED, &dev->flags))
|
|
|
+ if (!tty_port_get(&dev->port))
|
|
|
continue;
|
|
|
(di + n)->id = dev->id;
|
|
|
(di + n)->flags = dev->flags;
|
|
@@ -476,6 +476,7 @@ static int rfcomm_get_dev_list(void __user *arg)
|
|
|
(di + n)->channel = dev->channel;
|
|
|
bacpy(&(di + n)->src, &dev->src);
|
|
|
bacpy(&(di + n)->dst, &dev->dst);
|
|
|
+ tty_port_put(&dev->port);
|
|
|
if (++n >= dev_num)
|
|
|
break;
|
|
|
}
|