greybus: interface: send deactivate prepare when interface is disabled
authorDavid Lin <dtwlin@google.com>
Fri, 8 Jul 2016 03:07:00 +0000 (22:07 -0500)
committerAlex Elder <elder@linaro.org>
Fri, 8 Jul 2016 19:56:28 +0000 (14:56 -0500)
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>
drivers/staging/greybus/interface.c

index 2290a9c..e7efc54 100644 (file)
@@ -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);