From 5c76801df38f5873dad5c0a70ee3aa9b793ef3ff Mon Sep 17 00:00:00 2001 From: leonidk Date: Sun, 5 Apr 2009 13:19:55 +0000 Subject: [PATCH] [MLX4] fix in error flow. git-svn-id: svn://openib.tc.cornell.edu/gen1@2078 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/hw/mlx4/kernel/bus/net/catas.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/trunk/hw/mlx4/kernel/bus/net/catas.c b/trunk/hw/mlx4/kernel/bus/net/catas.c index 0fe6011e..6c78ac6e 100644 --- a/trunk/hw/mlx4/kernel/bus/net/catas.c +++ b/trunk/hw/mlx4/kernel/bus/net/catas.c @@ -345,7 +345,6 @@ int mlx4_reset_request( struct ib_event_handler *event_handler ) { struct ib_device *ibdev; struct mlx4_dev *dev; - int err = 0; unsigned long flags; @@ -359,6 +358,7 @@ int mlx4_reset_request( struct ib_event_handler *event_handler ) spin_lock_irqsave(&ibdev->event_handler_lock, &flags); + // set device to RESET_PENDING mode if (!(dev->flags & (MLX4_FLAG_RESET_CLIENT | MLX4_FLAG_RESET_DRIVER))) { PIO_WORKITEM reset_work; @@ -372,16 +372,16 @@ int mlx4_reset_request( struct ib_event_handler *event_handler ) if (!reset_work) { spin_unlock_irqrestore(&ibdev->event_handler_lock, flags); mlx4_err(dev, "mlx4_reset_request IoAllocateWorkItem failed, reset will not be propagated\n"); - err = -EFAULT; - goto err_workitem; + return -EFAULT; } event_handler->rsrv_ptr = reset_work; IoQueueWorkItem( reset_work, card_reset_wi, DelayedWorkQueue, event_handler ); } -err_workitem: spin_unlock_irqrestore(&ibdev->event_handler_lock, flags); - return err; + + + return 0; } int mlx4_reset_cb_register( struct ib_event_handler *event_handler ) -- 2.46.0