Hi Lizardo, >> +{ >> + Â Â Â /* Inferring the remote type based on the EIR Flags field */ >> + >> + Â Â Â if (flags & EIR_SIM_CONTROLLER && flags & EIR_SIM_HOST) >> + Â Â Â Â Â Â Â return DUALMODE_TYPE; > > Can the above be simplified to the following? > > Âif (flags & (EIR_SIM_CONTROLLER | EIR_SIM_HOST)) We are both wrong, read the last sentence for dual mode devices. >From Bluetooth SPEC(page 1744): BR/EDR/LE OPERATION MODES AND PROCEDURE 13.1.1.2 Discoverable Mode ... A device supporting both BR/EDR and LE physical links shall expose the capabilities of both physical links by performing the following steps: a) The âLE Supported (Controller)â and âLE Supported (Host)â bits in the LMP features shall be set as defined in [Vol. 2], Part C Section 3.2. b) The âBR/EDR Not Supportedâ bit in the Flags AD type shall be set to â0â as defined in Section 18.1. c) The âSimultaneous LE and BR/EDR to Same Device Capable (Controller)â and âSimultaneous LE and BR/EDR to Same Device Capable (Host)â bits in the Flags AD type shall be set to â0â as defined in Section 18.1 > > I know the semantics will change slightly, but I suppose that either > host or controller supports simultaneous LE and BR/EDR, it can be > considered dual mode. It would no be necessary to have *both* bits set > (my impression). > >> @@ -3082,6 +3098,7 @@ void adapter_update_device_from_info(struct btd_adapter *adapter, >> Â Â Â Âif (new_dev) { >> Â Â Â Â Â Â Â Âdev->le = TRUE; >> Â Â Â Â Â Â Â Âdev->evt_type = info->evt_type; >> + Â Â Â Â Â Â Â dev->type = LE_TYPE; >> Â Â Â Â} else if (dev->rssi == rssi) >> Â Â Â Â Â Â Â Âreturn; >> > > Can you remind me why both dev->le and dev->type are necessary in > struct remote_dev_info ? "le" will be removed. Thanks! Regards, Claudio -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html