Module Name: src Committed By: plunky Date: Wed Nov 17 20:19:25 UTC 2010
Modified Files: src/sys/netbt: l2cap_signal.c rfcomm_session.c Log Message: do not produce an error when connections are closed normally for L2CAP sockets, this solves an irritating error message from sdpd(8), which can now differentiate between normal closure and error. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/netbt/l2cap_signal.c cvs rdiff -u -r1.16 -r1.17 src/sys/netbt/rfcomm_session.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/netbt/l2cap_signal.c diff -u src/sys/netbt/l2cap_signal.c:1.10 src/sys/netbt/l2cap_signal.c:1.11 --- src/sys/netbt/l2cap_signal.c:1.10 Fri Sep 25 19:44:57 2009 +++ src/sys/netbt/l2cap_signal.c Wed Nov 17 20:19:25 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: l2cap_signal.c,v 1.10 2009/09/25 19:44:57 plunky Exp $ */ +/* $NetBSD: l2cap_signal.c,v 1.11 2010/11/17 20:19:25 plunky Exp $ */ /*- * Copyright (c) 2005 Iain Hibbert. @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: l2cap_signal.c,v 1.10 2009/09/25 19:44:57 plunky Exp $"); +__KERNEL_RCSID(0, "$NetBSD: l2cap_signal.c,v 1.11 2010/11/17 20:19:25 plunky Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -814,7 +814,7 @@ sizeof(rp), &rp); if (chan->lc_state != L2CAP_CLOSED) - l2cap_close(chan, ECONNRESET); + l2cap_close(chan, 0); } /* Index: src/sys/netbt/rfcomm_session.c diff -u src/sys/netbt/rfcomm_session.c:1.16 src/sys/netbt/rfcomm_session.c:1.17 --- src/sys/netbt/rfcomm_session.c:1.16 Sun Jan 3 16:38:15 2010 +++ src/sys/netbt/rfcomm_session.c Wed Nov 17 20:19:25 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rfcomm_session.c,v 1.16 2010/01/03 16:38:15 plunky Exp $ */ +/* $NetBSD: rfcomm_session.c,v 1.17 2010/11/17 20:19:25 plunky Exp $ */ /*- * Copyright (c) 2006 Itronix Inc. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rfcomm_session.c,v 1.16 2010/01/03 16:38:15 plunky Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rfcomm_session.c,v 1.17 2010/11/17 20:19:25 plunky Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -389,6 +389,13 @@ DPRINTF("Disconnected\n"); + /* + * If we have any DLCs outstanding in the unlikely case that the + * L2CAP channel disconnected normally, close them with an error + */ + if (err == 0) + err = ECONNRESET; + rs->rs_state = RFCOMM_SESSION_CLOSED; while (!LIST_EMPTY(&rs->rs_dlcs)) { @@ -816,7 +823,7 @@ return; } - rfcomm_dlc_close(dlc, ECONNRESET); + rfcomm_dlc_close(dlc, 0); rfcomm_session_send_frame(rs, RFCOMM_FRAME_UA, dlci); }