Hi Luiz, > 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. please add Fixes: tag here. > > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > --- > drivers/bluetooth/hci_vhci.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c > index 9cb7c8fafbf9..0eb90e7c3c82 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 || (val >> 10) != 0x3f) Then lets use hci_opcode_ogf(val) != 0x3f. Regards Marcel