Fix deadlock in cuttlefish/default implementation

Bug: 150830099

Test: atest LocationManagerFineTest#testRegisterGnssMeasurementsCallback
-c --iterations 100

Change-Id: I70aec19a481781d924ed3008765ca624a7eeb950
Merged-In: I70aec19a481781d924ed3008765ca624a7eeb950

(cherry picked from commit 3d652709ed40f8070c990bb275d3709d603d318e)
diff --git a/gnss/2.1/default/GnssMeasurement.cpp b/gnss/2.1/default/GnssMeasurement.cpp
index 34e20e5..63bbc0a 100644
--- a/gnss/2.1/default/GnssMeasurement.cpp
+++ b/gnss/2.1/default/GnssMeasurement.cpp
@@ -47,8 +47,8 @@
 
 Return<void> GnssMeasurement::close() {
     ALOGD("close");
-    std::unique_lock<std::mutex> lock(mMutex);
     stop();
+    std::unique_lock<std::mutex> lock(mMutex);
     sCallback_2_1 = nullptr;
     sCallback_2_0 = nullptr;
     return Void();