From 2295ba2e7c4141e864f66830b07e635245233a3d Mon Sep 17 00:00:00 2001 From: Bill Pemberton Date: Tue, 28 Jul 2009 13:46:22 -0400 Subject: [PATCH] Staging: hv: check return value of driver_for_each_device() The return value of driver_for_each_device() is now checked. A non-zero value simply generates a warning message, but it's better than not checking at all. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/hv/blkvsc_drv.c | 11 +++++++++-- drivers/staging/hv/netvsc_drv.c | 11 +++++++++-- drivers/staging/hv/storvsc_drv.c | 10 ++++++++-- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c index d595c3b9cdf6..dff950b591c1 100644 --- a/drivers/staging/hv/blkvsc_drv.c +++ b/drivers/staging/hv/blkvsc_drv.c @@ -218,8 +218,8 @@ void blkvsc_drv_exit(void) { STORVSC_DRIVER_OBJECT *storvsc_drv_obj=&g_blkvsc_drv.drv_obj; struct driver_context *drv_ctx=&g_blkvsc_drv.drv_ctx; - struct device *current_dev=NULL; + int ret; DPRINT_ENTER(BLKVSC_DRV); @@ -228,7 +228,14 @@ void blkvsc_drv_exit(void) current_dev = NULL; /* Get the device */ - driver_for_each_device(&drv_ctx->driver, NULL, (void*)¤t_dev, blkvsc_drv_exit_cb); + ret = driver_for_each_device(&drv_ctx->driver, NULL, + (void *) ¤t_dev, + blkvsc_drv_exit_cb); + + if (ret) + DPRINT_WARN(BLKVSC_DRV, + "driver_for_each_device returned %d", ret); + if (current_dev == NULL) break; diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c index f0df216028ad..9010f0e2ce68 100644 --- a/drivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c @@ -638,8 +638,8 @@ void netvsc_drv_exit(void) { NETVSC_DRIVER_OBJECT *netvsc_drv_obj=&g_netvsc_drv.drv_obj; struct driver_context *drv_ctx=&g_netvsc_drv.drv_ctx; - struct device *current_dev=NULL; + int ret; DPRINT_ENTER(NETVSC_DRV); @@ -648,7 +648,14 @@ void netvsc_drv_exit(void) current_dev = NULL; /* Get the device */ - driver_for_each_device(&drv_ctx->driver, NULL, (void*)¤t_dev, netvsc_drv_exit_cb); + ret = driver_for_each_device(&drv_ctx->driver, NULL, + (void *) ¤t_dev, + netvsc_drv_exit_cb); + + if (ret) + DPRINT_WARN(NETVSC_DRV, + "driver_for_each_device returned %d", ret); + if (current_dev == NULL) break; diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c index 385e84bd52cc..120ec52fe9fd 100644 --- a/drivers/staging/hv/storvsc_drv.c +++ b/drivers/staging/hv/storvsc_drv.c @@ -188,8 +188,8 @@ void storvsc_drv_exit(void) { STORVSC_DRIVER_OBJECT *storvsc_drv_obj=&g_storvsc_drv.drv_obj; struct driver_context *drv_ctx=&g_storvsc_drv.drv_ctx; - struct device *current_dev=NULL; + int ret; DPRINT_ENTER(STORVSC_DRV); @@ -198,7 +198,13 @@ void storvsc_drv_exit(void) current_dev = NULL; /* Get the device */ - driver_for_each_device(&drv_ctx->driver, NULL, (void*)¤t_dev, storvsc_drv_exit_cb); + ret = driver_for_each_device(&drv_ctx->driver, NULL, + (void *) ¤t_dev, + storvsc_drv_exit_cb); + + if (ret) + DPRINT_WARN(STORVSC_DRV, + "driver_for_each_device returned %d", ret); if (current_dev == NULL) break; -- 2.30.2