[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bluetooth-dev] Possible bug in 10/31 version of rfcomm.c - CRC errors

I believe there are two bugs in the src/rfcomm.c file for the
AXIS Bluetooth stack Oct-31 distribution:

1) Source file rfcomm.c, line 1826
  The source line:

  rfcomm_frame_size = sizeof(nsc_msg) + FCS_SIZE;

  The problem is that the "fcs" field is getting added twice since it
  already exists within the "nsc_msg" structure.  I suggest changing the
  source to read:

  rfcomm_frame_size = sizeof(nsc_msg);

2) Source file rfcomm.c, line 1838-1839
   The source lines:

   set_uih_hdr((void *)nsc_pkt, CTRL_CHAN, sizeof(nsc_msg) -
     sizeof(short_frame), ....

   The problem is the "fcs" field is getting added to the rfcomm
   "len" field for the packet - this causes the fcs value to be placed
   in the wrong octect of the pkt.  I suggest changing this line to

   set_uih_hdr((void *)nsc_pkt, CTRL_CHAN, sizeof(nsc_msg) -
     (sizeof(short_frame) + FCS_SIZE), ...

These edits seem to get rid of the problem whereby a CRC error
is printed on the btd client side when using the "send" btd.c command.

This may be a cousin of some another CRC error issue I have seen when
starting up ppp....investigating....

System: Red Hat 7.0
Linux kernel: 2.4.0-test7

Craig Gwydir

To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to majordomo@xxxxxxx.com