fm: Update FM state as part of reset

FM TX App gets stuck and crash when it is started
after riva restart, FM state is not being updated to OFF after
getting unexpected disabled event as part of RIVA crash

Change-Id: I9c0681acd72fc364e4b127f0185f6193128dafe8
CRs-Fixed: 483428
diff --git a/qcom/fmradio/FmTransmitter.java b/qcom/fmradio/FmTransmitter.java
index 1ae356b..f13e4a7 100644
--- a/qcom/fmradio/FmTransmitter.java
+++ b/qcom/fmradio/FmTransmitter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -298,8 +298,16 @@
    */
    public boolean reset(){
       boolean status = false;
+      int state = getFMState();
 
+      if(state == FMState_Turned_Off) {
+         Log.d(TAG, "FM already turned Off.");
+         return false;
+      }
+      setFMPowerState(FMState_Turned_Off);
+      Log.v(TAG, "reset: NEW-STATE : FMState_Turned_Off");
       status = unregisterTransmitClient();
+      release("/dev/radio0");
       return status;
    }