[ovs-dev] [PATCH] datapath-windows: Proper cleanup in case of driver init failure
Nithin Raju
nithin at vmware.com
Tue Sep 1 14:40:52 UTC 2015
Sorin,
Unless I’m missing something here, what is the new cleanup added in this patch? It seems more of code refactoring. Is that right?
-- Nithin
> On Sep 1, 2015, at 5:16 AM, Sorin Vinturis <svinturis at cloudbasesolutions.com> wrote:
>
> Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
> ---
> datapath-windows/ovsext/Driver.c | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/datapath-windows/ovsext/Driver.c b/datapath-windows/ovsext/Driver.c
> index 13fcde2..853886e 100644
> --- a/datapath-windows/ovsext/Driver.c
> +++ b/datapath-windows/ovsext/Driver.c
> @@ -139,18 +139,26 @@ DriverEntry(PDRIVER_OBJECT driverObject,
> driverObject->DriverUnload = OvsExtUnload;
>
> status = NdisFRegisterFilterDriver(driverObject,
> - (NDIS_HANDLE) gOvsExtDriverObject,
> - &driverChars, &gOvsExtDriverHandle);
> + (NDIS_HANDLE)gOvsExtDriverObject,
> + &driverChars,
> + &gOvsExtDriverHandle);
> if (status != NDIS_STATUS_SUCCESS) {
> - return status;
> + goto cleanup;
> }
>
> - /* Create the communication channel for usersapce. */
> + /* Create the communication channel for userspace. */
> status = OvsCreateDeviceObject(gOvsExtDriverHandle);
> if (status != NDIS_STATUS_SUCCESS) {
> + goto cleanup;
> + }
> +
> +cleanup:
> + if (status != NDIS_STATUS_SUCCESS){
> OvsCleanup();
> - NdisFDeregisterFilterDriver(gOvsExtDriverHandle);
> - gOvsExtDriverHandle = NULL;
> + if (gOvsExtDriverHandle) {
> + NdisFDeregisterFilterDriver(gOvsExtDriverHandle);
> + gOvsExtDriverHandle = NULL;
> + }
> }
>
> return status;
> --
> 1.9.0.msysgit.0
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailman_listinfo_dev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=pNHQcdr7B40b4h6Yb7FIedI1dnBsxdDuTLBYD3JqV80&m=UwM9RbSBfs6QT8UYqjkZr3xJUSmm5djIml87xTIB1WI&s=tQaG105CKQjdDBWZXvRzD9eqd2rsnJDji_xikpq6S7A&e=
More information about the dev
mailing list