summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/interface.c
diff options
context:
space:
mode:
authorDavid Lin <dtwlin@google.com>2016-07-07 22:07:00 -0500
committerAlex Elder <elder@linaro.org>2016-07-08 14:56:28 -0500
commit576bffb5a84f205c9ada777bc201b95cd8c0b868 (patch)
tree5720775ea10ebf452f392baf3d2c41e1a7edde7d /drivers/staging/greybus/interface.c
parent707a5c42ce55938de599e4461384efafd6950c37 (diff)
downloadop-kernel-dev-576bffb5a84f205c9ada777bc201b95cd8c0b868.zip
op-kernel-dev-576bffb5a84f205c9ada777bc201b95cd8c0b868.tar.gz
greybus: interface: send deactivate prepare when interface is disabled
The AP Interface shall exchange a Greybus Control Interface Deactivate Prepare Operation with the Interface being powered down. Testing Done: - Check for the return code after sending the deactivate prepare operation Signed-off-by: David Lin <dtwlin@google.com> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'drivers/staging/greybus/interface.c')
-rw-r--r--drivers/staging/greybus/interface.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/greybus/interface.c b/drivers/staging/greybus/interface.c
index 2290a9c3f..e7efc54 100644
--- a/drivers/staging/greybus/interface.c
+++ b/drivers/staging/greybus/interface.c
@@ -861,6 +861,9 @@ void gb_interface_disable(struct gb_interface *intf)
list_for_each_entry_safe(bundle, next, &intf->bundles, links)
gb_bundle_destroy(bundle);
+ if (!intf->mode_switch && !intf->disconnected)
+ gb_control_interface_deactivate_prepare(intf->control);
+
gb_timesync_interface_remove(intf);
gb_control_del(intf->control);
gb_control_disable(intf->control);
OpenPOWER on IntegriCloud