From: Luiz Augusto von Dentz Date: Thu, 21 Oct 2021 18:44:35 +0000 (-0700) Subject: Bluetooth: vhci: Fix checking of msft_opcode X-Git-Tag: v6.6.17~8491^2~428^2~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f33b0068cdaf2b9998fa3662585858ef30bc4b9e;p=platform%2Fkernel%2Flinux-rpi.git Bluetooth: vhci: Fix checking of msft_opcode msft_opcode shall be use a vendor ogf (0x3f) but the check was swifting the bits in the wrong order due to a missing parantesis over val & 0xffff, but since the code already checks for values over 0xffff it shall not be necessary to perform that operation it now just removes which makes it work properly when setting opcodes like 0xfce1. Fixes: b8f5482c9638 ("Bluetooth: vhci: Add support for setting msft_opcode and aosp_capable") Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Marcel Holtmann --- diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c index 9cb7c8f..49ac884 100644 --- a/drivers/bluetooth/hci_vhci.c +++ b/drivers/bluetooth/hci_vhci.c @@ -200,7 +200,7 @@ static int msft_opcode_set(void *data, u64 val) { struct vhci_data *vhci = data; - if (val > 0xffff || (val & 0xffff >> 10) != 0x3f) + if (val > 0xffff || hci_opcode_ogf(val) != 0x3f) return -EINVAL; if (vhci->msft_opcode)