summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index c7747435..da584f4d 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -187,7 +187,12 @@ void gpsd_deactivate(struct gps_device_t *session)
#endif /* RECONFIGURE_ENABLE */
gpsd_report(LOG_INF, "closing GPS=%s (%d)\n",
session->gpsdata.dev.path, session->gpsdata.gps_fd);
- (void)gpsd_close(session);
+#if defined(NMEA2000_ENABLE)
+ if (session->sourcetype == source_can)
+ (void)nmea2000_close(session);
+ else
+#endif /* of defined(NMEA2000_ENABLE) */
+ (void)gpsd_close(session);
gpsd_run_device_hook(session->gpsdata.dev.path, "DEACTIVATE");
}