The default encoding for GIOChannel is UTF-8, but rfkill event is binary data. If the value is invalid UTF-8, gsd-rfkill-manager will fail to receive rfkill event.
Steps: Run suspend/resume Test (> 127 times)
Failure Rate: 100%
In some platforms, bt will be re-probed after s3. If bt is re-probed, rfkill-idx will increase. And, 128 is the first invalid UTF-8
$ rfkill list
ID TYPE DEVICE SOFT HARD
1 wlan phy0 unblocked unblocked
128 bluetooth hci0 unblocked unblocked
The default encoding for GIOChannel is UTF-8, but rfkill event is binary data. If the value is invalid UTF-8, gsd-rfkill-manager will fail to receive rfkill event.
Steps: Run suspend/resume Test (> 127 times)
Failure Rate: 100%
In some platforms, bt will be re-probed after s3. If bt is re-probed, rfkill-idx will increase. And, 128 is the first invalid UTF-8
$ rfkill list
ID TYPE DEVICE SOFT HARD
1 wlan phy0 unblocked unblocked
128 bluetooth hci0 unblocked unblocked
Error Message: daemon/ plugins/ rfkill/ rfkill- glib.c read_chars fill_buffer: cur_len=0, read_size=8 read_chars: 5 *bytes_read=8 >read_buf- >len=0 >encoded_ read_buf- >len=0 read_chars >read_buf- >len=8 read_chars >read_buf- >len=16
gnome-settings-
gsd-rfkill[2062]: event_cb: 1 g_io_channel_
gsd-rfkill[2062]: g_io_channel_
gsd-rfkill[2062]: g_io_channel_
gsd-rfkill[2062]: event_cb: 1 read=8
gsd-rfkill[2062]: event_cb: 1 source-
gsd-rfkill[2062]: event_cb: 1 source-
gsd-rfkill[2062]: RFKILL event: idx 127 type 2 (BLUETOOTH) op 1 (DEL) soft 0 hard 0
gsd-rfkill[2062]: event_cb: 2 g_io_channel_
gsd-rfkill[2062]: event_cb: 2 read=0
gsd-rfkill[2062]: event_cb: 2 source-
gsd-rfkill[2062]: event_cb: g_list_length=1
gsd-rfkill[2062]: Removed Bluetooth rfkill with ID 127
gsd-rfkill[2062]: event_cb: 1 g_io_channel_
gsd-rfkill[2062]: event_cb: 1 read=0T
gsd-rfkill[2062]: event_cb: 1 source-
gsd-rfkill[2062]: event_cb: g_list_length=0