summaryrefslogtreecommitdiffstats
path: root/src/gprs.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-10-26 16:59:22 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-10-26 17:00:18 -0500
commit4552b0c26a9a72579c418b7e312ce23de348a522 (patch)
tree8192f9099c402316da8f01c898c8b5d3b1c9cb30 /src/gprs.c
parentae1192ba99ced938a5053c3ad2d3a594ff71c2d8 (diff)
downloadofono-4552b0c26a9a72579c418b7e312ce23de348a522.tar.bz2
Don't cause an infinite loop
Diffstat (limited to 'src/gprs.c')
-rw-r--r--src/gprs.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gprs.c b/src/gprs.c
index 49971697..59dc57fe 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -538,13 +538,12 @@ static void gprs_attach_callback(const struct ofono_error *error, void *data)
{
struct ofono_gprs *gprs = data;
- if (error->type == OFONO_ERROR_TYPE_NO_ERROR &&
- (gprs->flags & GPRS_FLAG_ATTACHING))
- gprs->driver_attached = !gprs->driver_attached;
-
gprs->flags &= ~GPRS_FLAG_ATTACHING;
- gprs_netreg_update(gprs);
+ if (error->type == OFONO_ERROR_TYPE_NO_ERROR) {
+ gprs->driver_attached = !gprs->driver_attached;
+ gprs_attach_update(gprs);
+ }
}
static void gprs_netreg_update(struct ofono_gprs *gprs)