IB/mlx4: Fix shutdown crash accessing a non-existent bitmap
authorRoland Dreier <roland@purestorage.com>
Tue, 6 Dec 2011 18:47:37 +0000 (10:47 -0800)
committerRohan Somvanshi <rsomvanshi@nvidia.com>
Wed, 11 Jan 2012 17:28:47 +0000 (09:28 -0800)
commit2976f8a85459c5a088171b9792292c2eab2d9147
tree455629e23430abd11b26682a8ba9059c9605f7b4
parent52e9df65392e5de748aa38ca21ab6475d7547722
IB/mlx4: Fix shutdown crash accessing a non-existent bitmap

commit 4af3ce0de0c12e5c17811eaefad36ab8e146c0fd upstream.

Commit cfcde11c3d7a ("IB/mlx4: Use flow counters on IBoE ports") added
code that sets elements of counters[] to -1 if no counter is allocated,
but then goes ahead and passes every entry to mlx4_counter_free() on
shutdown.  This is a bad idea, especially if MLX4_DEV_CAP_FLAG_COUNTERS
isn't set so there isn't even an underlying bitmap to free from.

Tested-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Change-Id: I8b6984422659dd49fdbf9ef3c829bd2bb3798053
Reviewed-on: http://git-master/r/74174
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
drivers/infiniband/hw/mlx4/main.c