Date: Mon, 3 Jan 2011 15:20:06 GMT From: Iain Hibbert <plunky@rya-online.net> To: freebsd-bluetooth@FreeBSD.org Subject: Re: kern/140590: [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej warnings Message-ID: <201101031520.p03FK6IM027615@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/140590; it has been noted by GNATS. From: Iain Hibbert <plunky@rya-online.net> To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/140590: [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej warnings Date: Mon, 3 Jan 2011 14:40:47 +0000 (GMT) On Mon, 3 Jan 2011, FreeBSD bugmaster wrote: > p kern/140590 bluetooth [bluetooth] ng_ubt(4) ng_l2cap_process_cmd_rej warning the final piece of this PR is that a ng_btsocket_rfcomm_receive_dm: Got DM for non-existing dlci=18 warning is produced.. looking at the dump given: < ACL data: handle 42 flags 0x02 dlen 11 L2CAP(d): cid 0x0041 len 7 [psm 3] RFCOMM(d): UIH: cr 1 dlci 18 pf 0 ilen 3 fcs 0xce OBEX: Disconnect cmd(f): len 3 > ACL data: handle 42 flags 0x02 dlen 12 L2CAP(d): cid 0x0047 len 8 [psm 3] RFCOMM(d): UIH: cr 0 dlci 18 pf 1 ilen 3 fcs 0x8 credits 1 OBEX: Disconnect rsp(f): status 200 len 3 OBEX is disconnected < ACL data: handle 42 flags 0x02 dlen 8 L2CAP(d): cid 0x0041 len 4 [psm 3] RFCOMM(s): DISC: cr 1 dlci 18 pf 1 ilen 0 fcs 0xd3 we send a DISC(18) request to disconnect the channel > ACL data: handle 42 flags 0x02 dlen 8 L2CAP(d): cid 0x0047 len 4 [psm 3] RFCOMM(s): DISC: cr 0 dlci 18 pf 1 ilen 0 fcs 0xb2 < ACL data: handle 42 flags 0x02 dlen 8 L2CAP(d): cid 0x0041 len 4 [psm 3] RFCOMM(s): UA: cr 0 dlci 18 pf 1 ilen 0 fcs 0x98 they also do that, and we send a UA in response as is proper < ACL data: handle 42 flags 0x02 dlen 8 L2CAP(d): cid 0x0041 len 4 [psm 3] RFCOMM(s): DISC: cr 1 dlci 0 pf 1 ilen 0 fcs 0xfd and then we send DISC(0) to disconnect the session > ACL data: handle 42 flags 0x02 dlen 8 L2CAP(d): cid 0x0047 len 4 [psm 3] RFCOMM(s): DM: cr 1 dlci 18 pf 1 ilen 0 fcs 0x18 and this is the rogue DM - I guess that the other side had deleted the dlci handle when it sent the DISC so this is their response to our DISC(18) message.. The warning is printed because FreeBSD had legitimately decided that dlci 18 was closed (received DISC, sent UA) and therefore this DM is addressed to a vacant channel.. IMO FreeBSD did nothing really wrong there except warn about something that was not really a dire situation.. perhaps the _WARN should just be changed to _INFO to supress that in normal use? iain PS what was the remote device?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101031520.p03FK6IM027615>