modem: Improve handling of errors in dbus_call_dismiss_error

Change-Id: I25d08c74608c3ec5c6e46c36c161e777b2ed337a
diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py
index e8f57cc..bff62bb 100644
--- a/src/osmo_gsm_tester/modem.py
+++ b/src/osmo_gsm_tester/modem.py
@@ -145,11 +145,11 @@
 def dbus_call_dismiss_error(log_obj, err_str, method):
     try:
         method()
-    except Exception as e:
-        if isinstance(e, GLib.Error) and err_str in e.domain:
+    except GLib.Error as e:
+        if Gio.DBusError.is_remote_error(e) and Gio.DBusError.get_remote_error(e) == err_str:
             log_obj.log('Dismissed Dbus method error: %r' % e)
             return
-        raise log.Error('dbus_call_dismiss_error raised error %r' % e)
+        raise e
 
 class ModemDbusInteraction(log.Origin):
     '''Work around inconveniences specific to pydbus and ofono.