summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2015-03-19 12:44:34 -0400
committerEric S. Raymond <esr@thyrsus.com>2015-03-19 12:44:34 -0400
commitf6f94c9fbd3f988e063409ba6a66c04d32cf95fc (patch)
tree8beb3551287a906039683e36c8611d00c5b36b61 /libgpsd_core.c
parent1e4c93363feadb0450220dd0625a067c2783751f (diff)
downloadgpsd-f6f94c9fbd3f988e063409ba6a66c04d32cf95fc.tar.gz
Narrow the driver-type-reversion logic a bit. All regression tests pass.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 6811b663..d4fdfec0 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -1392,7 +1392,8 @@ gps_mask_t gpsd_poll(struct gps_device_t *session)
*/
/*@-mustfreeonly@*/
if (!STICKY(session->device_type)
- && session->last_controller != NULL)
+ && session->last_controller != NULL
+ && STICKY(session->last_controller))
{
session->device_type = session->last_controller;
gpsd_log(&session->context->errout, LOG_PROG,