Hi Manish, > During system suspend, advertisement monitoring is disabled by setting > the HCI_VS_MSFT_LE_Set_Advertisement_Filter_Enable to False. This > disables the monitoring during suspend, however, if the controller is > monitoring a device, it sends HCI_VS_MSFT_LE_Monitor_Device_Event to > indicate that the monitoring has been stopped for that particular > device. This event may occur after suspend depending on the > low_threshold_timeout and peer device advertisement frequency, which > causes early wake up. > > Right way to disable the monitoring for suspend is by removing all the > monitors before suspend and re-monitor after resume to ensure no events > are received during suspend. This patch fixes this suspend/resume issue. > > Following tests are performed: > - Add monitors before suspend and make sure DeviceFound gets triggered > - Suspend the system and verify that all monitors are removed by kernel > but not Released by bluetoothd > - Wake up and verify that all monitors are added again and DeviceFound > gets triggered > > Signed-off-by: Manish Mandlik <mmandlik@xxxxxxxxxx> > Reviewed-by: Archie Pusaka <apusaka@xxxxxxxxxx> > Reviewed-by: Miao-chen Chou <mcchou@xxxxxxxxxx> > --- > > Changes in v3: > - Updated the msft_{suspend/resume} function names > > Changes in v2: > - Updated the Reviewd-by names > > net/bluetooth/hci_request.c | 15 +++-- > net/bluetooth/msft.c | 117 +++++++++++++++++++++++++++++++----- > net/bluetooth/msft.h | 5 ++ > 3 files changed, 116 insertions(+), 21 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel