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>
This commit is contained in:
Johan Hovold 2016-04-23 18:47:26 +02:00 committed by Greg Kroah-Hartman
parent 36602a2981
commit 1e1565e5fe
2 changed files with 8 additions and 0 deletions

View File

@ -409,6 +409,8 @@ int gb_interface_activate(struct gb_interface *intf)
if (ret) if (ret)
return ret; return ret;
intf->active = true;
return 0; return 0;
} }
@ -419,7 +421,12 @@ int gb_interface_activate(struct gb_interface *intf)
*/ */
void gb_interface_deactivate(struct gb_interface *intf) void gb_interface_deactivate(struct gb_interface *intf)
{ {
if (!intf->active)
return;
gb_interface_route_destroy(intf); gb_interface_route_destroy(intf);
intf->active = false;
} }
/* /*

View File

@ -43,6 +43,7 @@ struct gb_interface {
bool disconnected; bool disconnected;
bool ejected; bool ejected;
bool active;
bool enabled; bool enabled;
}; };
#define to_gb_interface(d) container_of(d, struct gb_interface, dev) #define to_gb_interface(d) container_of(d, struct gb_interface, dev)