title: Can't create RFCOMM TTY: Address already in use
body: <p>I listen for a Bluetooth connection in my server doing:</p>
  
  <pre><code>rfcomm listen rfcomm1 1
  </code></pre>
  
  <p>Then I connect with my Bluetooth client and this message appears:</p>
  
  <pre><code>Connection from XX:XX:XX:XX:XX:XX to /dev/rfcomm1
  Press CTRL-C for hangup
  </code></pre>
  
  <p>This means that everything is alright...</p>
  
  <p>Then I finish my connection by doing Ctrl+C in the server or in the client.</p>
  
  <p>After this, I do again:</p>
  
  <pre><code>rfcomm listen rfcomm1 1
  </code></pre>
  
  <p>But this time, when I connect the client I receive this message:</p>
  
  <pre><code>Can't create RFCOMM TTY: Address already in use
  </code></pre>
  
  <p>So I go and I check which connections are open:</p>
  
  <pre><code>rfcomm -a
  </code></pre>
  
  <p>And I can see that the connection appears, as closed, but should not appear once disconnected...</p>
  
  <pre><code>rfcomm1: XX:XX:XX:XX:XX:XX -&gt; XX:XX:XX:XX:XX:XX channel 1 closed [reuse-dlc release-on-hup ]
  </code></pre>
  
  <p>The strangest thing is that sometimes, disconnection is successful and I can reconnect without any problem at all.</p>
  
  <blockquote>
    <p><strong>EDIT</strong></p>
  </blockquote>
  
  <p>I realized that when the device keeps connected about 10 seconds or more, then the disconnection is successful. But when this time is shorter (fast connection/disconnection), the problem occurs. </p>
  
  <p>And if while the failure is taking place, I do:</p>
  
  <pre><code>dmesg
  </code></pre>
  
  <p>This is printed:</p>
  
  <pre><code>[11800.001527] Bluetooth: TIOCGSERIAL is not supported
  [11800.033063] Bluetooth: TIOCGSERIAL is not supported
  [11926.708438] Bluetooth: TIOCGSERIAL is not supported
  [11934.918197] Bluetooth: TIOCGSERIAL is not supported
  [11934.926194] Bluetooth: TIOCGSERIAL is not supported
  [11934.926284] ------------[ cut here ]------------
  [11934.926297] WARNING: CPU: 1 PID: 2316 at /build/linux-Pcn0xK/linux-4.4.0/drivers/tty/tty_port.c:143 tty_port_destructor+0x7a/0x80()
  [11934.926300] Modules linked in: minidriver(OE) nls_utf8 isofs rfcomm bnep arc4 ath5k snd_hda_codec_realtek uvcvideo ath mac80211 snd_hda_codec_hdmi snd_hda_codec_generic snd_hda_intel videobuf2_vmalloc snd_hda_codec samsung_laptop videobuf2_memops snd_hda_core btusb videobuf2_v4l2 btrtl snd_hwdep videobuf2_core coretemp btbcm cfg80211 snd_pcm v4l2_common btintel snd_seq_midi joydev videodev bluetooth snd_seq_midi_event serio_raw media snd_rawmidi input_leds snd_seq snd_seq_device snd_timer snd soundcore shpchp lpc_ich mac_hid binfmt_misc parport_pc ppdev lp parport autofs4 hid_logitech ff_memless uas usb_storage hid_generic usbhid hid amdkfd amd_iommu_v2 radeon psmouse pata_acpi i2c_algo_bit ttm sky2 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops video fjes drm [last unloaded: minidriver]
  
  [11934.926401] CPU: 1 PID: 2316 Comm: kworker/1:1 Tainted: G        W  OE   4.4.0-97-generic #120-Ubuntu
  [11934.926404] Hardware name: SAMSUNG ELECTRONICS CO., LTD. R520/R522/R620               /R520/R522/R620               , BIOS 05LL.M025.20090916.Jay 09/16/20
  [11934.926410] Workqueue: events release_one_tty
  [11934.926413]  0000000000000286 c977cef9c84bca31 ffff88012ea3fd48 ffffffff813fabe3
  [11934.926419]  0000000000000000 ffffffff81d386c0 ffff88012ea3fd80 ffffffff810812e2
  [11934.926425]  ffff8800b5153800 ffff8800b67f6400 ffff8800b67f6400 ffffffffc06dc840
  [11934.926430] Call Trace:
  [11934.926438]  [&lt;ffffffff813fabe3&gt;] dump_stack+0x63/0x90
  [11934.926445]  [&lt;ffffffff810812e2&gt;] warn_slowpath_common+0x82/0xc0
  [11934.926450]  [&lt;ffffffff8108142a&gt;] warn_slowpath_null+0x1a/0x20
  [11934.926455]  [&lt;ffffffff8150357a&gt;] tty_port_destructor+0x7a/0x80
  [11934.926460]  [&lt;ffffffff81503ce8&gt;] tty_port_put+0x28/0x30
  [11934.926471]  [&lt;ffffffffc06d5fa8&gt;] rfcomm_tty_cleanup+0x68/0x70 [rfcomm]
  [11934.926475]  [&lt;ffffffff814f91fb&gt;] release_one_tty+0x3b/0xc0
  [11934.926481]  [&lt;ffffffff8109a635&gt;] process_one_work+0x165/0x480
  [11934.926486]  [&lt;ffffffff8109a99b&gt;] worker_thread+0x4b/0x4c0
  [11934.926491]  [&lt;ffffffff8109a950&gt;] ? process_one_work+0x480/0x480
  [11934.926496]  [&lt;ffffffff810a0c75&gt;] kthread+0xe5/0x100
  [11934.926500]  [&lt;ffffffff810a0b90&gt;] ? kthread_create_on_node+0x1e0/0x1e0
  [11934.926507]  [&lt;ffffffff81843b8f&gt;] ret_from_fork+0x3f/0x70
  [11934.926511]  [&lt;ffffffff810a0b90&gt;] ? kthread_create_on_node+0x1e0/0x1e0
  [11934.926515] ---[ end trace a33c33d1fdbe410d ]---
  [11936.001325] Bluetooth: TIOCGSERIAL is not supported
  [11936.033194] Bluetooth: TIOCGSERIAL is not supported
  </code></pre>
  
  <p>When everything works fine (10 or more sec), only these messages are shown:</p>
  
  <pre><code>[11936.001325] Bluetooth: TIOCGSERIAL is not supported
  [11936.033194] Bluetooth: TIOCGSERIAL is not supported
  [11936.001325] Bluetooth: TIOCGSERIAL is not supported
  [11936.033194] Bluetooth: TIOCGSERIAL is not supported
  </code></pre>