summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/interface.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@hovoldconsulting.com>2016-04-23 18:47:26 +0200
committerGreg Kroah-Hartman <gregkh@google.com>2016-04-25 11:08:30 -0700
commit1e1565e5fee47362baee92506749d80167a1456e (patch)
treeaa5dddbd45fd29f5a244d70298aeec2dfef8a22f /drivers/staging/greybus/interface.c
parent36602a2981c85de7b0b8600eb12cbad3d80eacd9 (diff)
downloadop-kernel-dev-1e1565e5fee47362baee92506749d80167a1456e.zip
op-kernel-dev-1e1565e5fee47362baee92506749d80167a1456e.tar.gz
greybus: interface: add active state flag
Add active state flag to avoid deactivating an interface which is already off. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/interface.c')
-rw-r--r--drivers/staging/greybus/interface.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/staging/greybus/interface.c b/drivers/staging/greybus/interface.c
index 2553312..e0c38f1 100644
--- a/drivers/staging/greybus/interface.c
+++ b/drivers/staging/greybus/interface.c
@@ -409,6 +409,8 @@ int gb_interface_activate(struct gb_interface *intf)
if (ret)
return ret;
+ intf->active = true;
+
return 0;
}
@@ -419,7 +421,12 @@ int gb_interface_activate(struct gb_interface *intf)
*/
void gb_interface_deactivate(struct gb_interface *intf)
{
+ if (!intf->active)
+ return;
+
gb_interface_route_destroy(intf);
+
+ intf->active = false;
}
/*
OpenPOWER on IntegriCloud