Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2004 13:21:17 -0700 (PDT)
From:      Maksim Yevmenkin <emax@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netgraph/bluetooth/socket ng_btsocket_rfcomm.c
Message-ID:  <200404232021.i3NKLHPJ053507@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
emax        2004/04/23 13:21:17 PDT

  FreeBSD src repository

  Modified files:
    sys/netgraph/bluetooth/socket ng_btsocket_rfcomm.c 
  Log:
  Make sure RFCOMM multiplexor channel does not hang in DISCONNECTING
  state. Apparently it happens when both devices try to disconnect RFCOMM
  multiplexor channel at the same time.
  
  The scenario is as follows:
  
  - local device initiates RFCOMM connection to the remote device. This
    creates both RFCOMM multiplexor channel and data channel;
  
  - remote device terminates RFCOMM data channel (inactivity timeout);
  
  - local device acknowledges RFCOMM data channel termination. Because
    there is no more active data channels and local device has initiated
    connection it terminates RFCOMM multiplexor channel;
  
  - remote device does not acknowledges RFCOMM multiplexor channel
    termination. Instead it sends its own request to terminate RFCOMM
    multiplexor channel. Even though local device acknowledges RFCOMM
    multiplexor channel termination the remote device still keeps
    L2CAP connection open.
  
  Because of hanging RFCOMM multiplexor channel subsequent RFCOMM
  connections between local and remote devices will fail.
  
  Reported by:    Johann Hugo <jhugo@icomtek.csir.co.za>
  
  Revision  Changes    Path
  1.5       +6 -3      src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404232021.i3NKLHPJ053507>