mirror of git://git.sysmocom.de/ofono
huaweimodem: Add error handling for too many ^DHCP failures
This commit is contained in:
parent
45a2077e67
commit
b41f354a2f
|
@ -50,6 +50,7 @@ struct gprs_context_data {
|
|||
GAtChat *chat;
|
||||
unsigned int active_context;
|
||||
unsigned int dhcp_source;
|
||||
unsigned int dhcp_count;
|
||||
union {
|
||||
ofono_gprs_context_cb_t down_cb; /* Down callback */
|
||||
ofono_gprs_context_up_cb_t up_cb; /* Up callback */
|
||||
|
@ -64,8 +65,13 @@ static gboolean dhcp_poll(gpointer user_data)
|
|||
struct ofono_gprs_context *gc = user_data;
|
||||
struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc);
|
||||
|
||||
check_dhcp(gc);
|
||||
if (gcd->dhcp_count > 10)
|
||||
CALLBACK_WITH_FAILURE(gcd->up_cb, NULL, 0, NULL, NULL,
|
||||
NULL, NULL, gcd->cb_data);
|
||||
else
|
||||
check_dhcp(gc);
|
||||
|
||||
gcd->dhcp_count++;
|
||||
gcd->dhcp_source = 0;
|
||||
|
||||
return FALSE;
|
||||
|
@ -189,6 +195,8 @@ static void at_ndisdup_up_cb(gboolean ok, GAtResult *result,
|
|||
gcd->up_cb = cb;
|
||||
gcd->cb_data = cbd->data;
|
||||
|
||||
gcd->dhcp_count = 0;
|
||||
|
||||
check_dhcp(gc);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue