Commit 6ebce447 authored by Jason Gunthorpe's avatar Jason Gunthorpe
Browse files

RDMA/uverbs: Remove is_closed from ib_uverbs_file



This does nothing but indicate if the uverbs_file is in the device's list,
use list_del_init instead.

Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
parent 9a59739b
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -147,7 +147,6 @@ struct ib_uverbs_file {
	struct ib_event_handler			event_handler;
	struct ib_event_handler			event_handler;
	struct ib_uverbs_async_event_file       *async_file;
	struct ib_uverbs_async_event_file       *async_file;
	struct list_head			list;
	struct list_head			list;
	int					is_closed;


	/*
	/*
	 * To access the uobjects list hw_destroy_rwsem must be held for write
	 * To access the uobjects list hw_destroy_rwsem must be held for write
+2 −6
Original line number Original line Diff line number Diff line
@@ -905,10 +905,7 @@ static int ib_uverbs_close(struct inode *inode, struct file *filp)
	uverbs_destroy_ufile_hw(file, RDMA_REMOVE_CLOSE);
	uverbs_destroy_ufile_hw(file, RDMA_REMOVE_CLOSE);


	mutex_lock(&file->device->lists_mutex);
	mutex_lock(&file->device->lists_mutex);
	if (!file->is_closed) {
	list_del_init(&file->list);
		list_del(&file->list);
		file->is_closed = 1;
	}
	mutex_unlock(&file->device->lists_mutex);
	mutex_unlock(&file->device->lists_mutex);


	if (file->async_file)
	if (file->async_file)
@@ -1104,8 +1101,7 @@ static void ib_uverbs_free_hw_resources(struct ib_uverbs_device *uverbs_dev,
	while (!list_empty(&uverbs_dev->uverbs_file_list)) {
	while (!list_empty(&uverbs_dev->uverbs_file_list)) {
		file = list_first_entry(&uverbs_dev->uverbs_file_list,
		file = list_first_entry(&uverbs_dev->uverbs_file_list,
					struct ib_uverbs_file, list);
					struct ib_uverbs_file, list);
		file->is_closed = 1;
		list_del_init(&file->list);
		list_del(&file->list);
		kref_get(&file->ref);
		kref_get(&file->ref);


		/* We must release the mutex before going ahead and calling
		/* We must release the mutex before going ahead and calling