@@ -2856,27 +2856,28 @@ static int bt_gatt_store_cf(struct bt_conn *conn)
2856
2856
2857
2857
cfg = find_cf_cfg (conn );
2858
2858
if (!cfg ) {
2859
- /* No cfg found just cleare it */
2859
+ /* No cfg found, just clear it */
2860
+ BT_DBG ("No config for CF" );
2860
2861
str = NULL ;
2861
2862
len = 0 ;
2862
- goto save ;
2863
- }
2863
+ } else {
2864
+ str = (char * )cfg -> data ;
2865
+ len = sizeof (cfg -> data );
2864
2866
2865
- if (conn -> id ) {
2866
- char id_str [4 ];
2867
+ if (conn -> id ) {
2868
+ char id_str [4 ];
2867
2869
2868
- snprintk (id_str , sizeof (id_str ), "%u" , conn -> id );
2869
- bt_settings_encode_key (key , sizeof (key ), "cf" ,
2870
- & conn -> le .dst , id_str );
2871
- } else {
2870
+ snprintk (id_str , sizeof (id_str ), "%u" , conn -> id );
2871
+ bt_settings_encode_key (key , sizeof (key ), "cf" ,
2872
+ & conn -> le .dst , id_str );
2873
+ }
2874
+ }
2875
+
2876
+ if (!cfg || !conn -> id ) {
2872
2877
bt_settings_encode_key (key , sizeof (key ), "cf" ,
2873
2878
& conn -> le .dst , NULL );
2874
2879
}
2875
2880
2876
- str = (char * )cfg -> data ;
2877
- len = sizeof (cfg -> data );
2878
-
2879
- save :
2880
2881
err = settings_save_one (key , str , len );
2881
2882
if (err ) {
2882
2883
BT_ERR ("Failed to store Client Features (err %d)" , err );
0 commit comments