diff options
author | Loic Poulain <loic.poulain@intel.com> | 2014-08-08 21:07:16 +0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-08-14 10:49:19 +0400 |
commit | 4807b51895dce8aa650ebebc51fa4a795ed6b8b8 (patch) | |
tree | 8030a32684c78cb7b03939e640ef58c522bd49a7 /drivers/powercap | |
parent | 5d88cc73dded31a93fcc4821f33a8c3d755bf454 (diff) | |
download | linux-4807b51895dce8aa650ebebc51fa4a795ed6b8b8.tar.xz |
Bluetooth: Fix HCI H5 corrupted ack value
In this expression: seq = (seq - 1) % 8
seq (u8) is implicitly converted to an int in the arithmetic operation.
So if seq value is 0, operation is ((0 - 1) % 8) => (-1 % 8) => -1.
The new seq value is 0xff which is an invalid ACK value, we expect 0x07.
It leads to frequent dropped ACK and retransmission.
Fix this by using '&' binary operator instead of '%'.
Signed-off-by: Loic Poulain <loic.poulain@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/powercap')
0 files changed, 0 insertions, 0 deletions