nvmesensor: fix crash caused by passthruInterface during host reboot

During host power cycle or reboot, nvmesensor will crash due to the
exception `org.freedesktop.DBus.Error.FileExists: File exists` and
restart.

The original patch forgot to remove the passthruInterface in the
destructor function of NVMeControllerEnabled class. When device
warm-reboot, nvmesensor will delete and recreate NVMeControllerEnabled,
thus triggering this FileExists DBus error.

Tested:
Before the fix, nvmesensor will crash when `ipmitool chassis power cycle`
After the fix, nvmesensor doesn't crash when `ipmitool chassis power cycle`

Google-Bug-Id: 301320438
Change-Id: I970643b54a75d6160f9f873ca501bb69dc64d626
Signed-off-by: Jinliang Wang <jinliangw@google.com>
(cherry picked from commit f2dc87e4757bc78c6adbc52069340a8ae5325114)
diff --git a/recipes-phosphor/sensors/dbus-sensors/0052-nvmesensor-add-Admin-non-data-command-passthru-DBus-.patch b/recipes-phosphor/sensors/dbus-sensors/0052-nvmesensor-add-Admin-non-data-command-passthru-DBus-.patch
index e071095..8cff821 100644
--- a/recipes-phosphor/sensors/dbus-sensors/0052-nvmesensor-add-Admin-non-data-command-passthru-DBus-.patch
+++ b/recipes-phosphor/sensors/dbus-sensors/0052-nvmesensor-add-Admin-non-data-command-passthru-DBus-.patch
@@ -1,4 +1,4 @@
-From 95a3e7de6ad14af09e87f8b0cbbd68b45d926fbf Mon Sep 17 00:00:00 2001
+From efaaa4f946ed652735f8fd504edf475a7786e405 Mon Sep 17 00:00:00 2001
 From: Jinliang Wang <jinliangw@google.com>
 Date: Wed, 30 Aug 2023 15:39:30 -0700
 Subject: [PATCH] nvmesensor: add Admin non data command passthru DBus
@@ -33,16 +33,18 @@
 
 Change-Id: Ibb25ffa0c4bb3c4f675dc9a027b5f86b8022fc11
 Signed-off-by: Jinliang Wang <jinliangw@google.com>
+
+%% original patch: 0052-nvmesensor-add-Admin-non-data-command-passthru-DBus-.patch
 ---
- src/NVMeController.cpp | 68 ++++++++++++++++++++++++++++++++++++++++++
+ src/NVMeController.cpp | 69 ++++++++++++++++++++++++++++++++++++++++++
  src/NVMeController.hpp |  6 ++++
  src/NVMeIntf.hpp       |  8 ++++-
- src/NVMeMi.cpp         | 30 +++++++++++++++++++
+ src/NVMeMi.cpp         | 30 ++++++++++++++++++
  src/NVMeMi.hpp         |  7 +++++
- 5 files changed, 118 insertions(+), 1 deletion(-)
+ 5 files changed, 119 insertions(+), 1 deletion(-)
 
 diff --git a/src/NVMeController.cpp b/src/NVMeController.cpp
-index 215b2e4..6d96417 100644
+index 215b2e4..23cd04f 100644
 --- a/src/NVMeController.cpp
 +++ b/src/NVMeController.cpp
 @@ -81,6 +81,26 @@ void NVMeControllerEnabled::init()
@@ -72,7 +74,15 @@
  
      securityInterface = objServer.add_interface(
          path, "xyz.openbmc_project.Inventory.Item.StorageControllerSecurity");
-@@ -459,6 +479,54 @@ std::vector<uint8_t> NVMeControllerEnabled::securityReceiveMethod(
+@@ -332,6 +352,7 @@ void NVMeControllerEnabled::firmwareDownloadAsync(std::string pathToImage)
+ NVMeControllerEnabled::~NVMeControllerEnabled()
+ {
+     objServer.remove_interface(securityInterface);
++    objServer.remove_interface(passthruInterface);
+     NVMeAdmin::emit_removed();
+     StorageController::emit_removed();
+ }
+@@ -459,6 +480,54 @@ std::vector<uint8_t> NVMeControllerEnabled::securityReceiveMethod(
      return data;
  }
  
@@ -225,5 +235,5 @@
      // the transfer size for nvme mi messages.
      // define in github.com/linux-nvme/libnvme/blob/master/src/nvme/mi.c
 -- 
-2.42.0.283.g2d96d420d3-goog
+2.42.0.515.g380fc7ccd1-goog