Hi Forest, > +static int sierra_cdma_netreg_probe(struct ofono_cdma_netreg *netreg, > + unsigned int vendor, void *chat) > +{ > + struct sierra_netreg_data *data; > + > + data = g_try_new0(struct sierra_netreg_data, 1); > + if (data == NULL) > + return -ENOMEM; > + > + ofono_cdma_netreg_set_data(netreg, data); > + > + data->chat = g_at_chat_clone(chat); > + > + ofono_cdma_netreg_register(netreg); In general one cannot call register from the probe function. You should be using an idle callback here > + > + return 0; > +} Regards, -Denis