Commit 86587b67 authored by Larry Finger's avatar Larry Finger Committed by Greg Kroah-Hartman
Browse files

staging: r8712u: Simplify semaphores



I am preparing to convert this driver from semaphore to mutex locking,
The first step has been to eliminate a number of semaphores that were
initialized but never used, and one whose only use was a single "up"
after initialization. A total of 9 semaphores were removed in this process.

One other change was to remove some inline semaphore routines that were
unused.

In addition, several cases had the following structure:

down()
if () {
   ...
}
up()

The locking overhead was reduced by moving the up/down inside the if
block.

Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d8e4cd99
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -138,7 +138,6 @@ struct dvobj_priv {
	u8   ishighspeed;
	uint(*inirp_init)(struct _adapter *adapter);
	uint(*inirp_deinit)(struct _adapter *adapter);
	struct semaphore usb_suspend_sema;
	struct usb_device *pusbdev;
};

+0 −1
Original line number Diff line number Diff line
@@ -329,7 +329,6 @@ u8 r8712_init_drv_sw(struct _adapter *padapter)
	padapter->stapriv.padapter = padapter;
	r8712_init_bcmc_stainfo(padapter);
	r8712_init_pwrctrl_priv(padapter);
	sema_init(&(padapter->pwrctrlpriv.pnp_pwr_mgnt_sema), 0);
	mp871xinit(padapter);
	if (init_default_value(padapter) != _SUCCESS)
		return _FAIL;
+0 −17
Original line number Diff line number Diff line
@@ -72,18 +72,6 @@ static inline struct list_head *get_list_head(struct __queue *queue)
#define LIST_CONTAINOR(ptr, type, member) \
	((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))

static inline void _enter_hwio_critical(struct semaphore *prwlock,
					unsigned long *pirqL)
{
	down(prwlock);
}

static inline void _exit_hwio_critical(struct semaphore *prwlock,
				       unsigned long *pirqL)
{
	up(prwlock);
}

static inline void list_delete(struct list_head *plist)
{
	list_del_init(plist);
@@ -152,11 +140,6 @@ static inline u32 _down_sema(struct semaphore *sema)
		return _SUCCESS;
}

static inline void _rtl_rwlock_init(struct semaphore *prwlock)
{
	sema_init(prwlock, 1);
}

static inline void _init_listhead(struct list_head *list)
{
	INIT_LIST_HEAD(list);
+0 −2
Original line number Diff line number Diff line
@@ -55,8 +55,6 @@ int r8712_init_recv_priv(struct recv_priv *precvpriv, struct _adapter *padapter)
	int alignment = 0;
	struct sk_buff *pskb = NULL;

	sema_init(&precvpriv->recv_sema, 0);
	sema_init(&precvpriv->terminate_recvthread_sema, 0);
	/*init recv_buf*/
	_init_queue(&precvpriv->free_recv_buf_queue);
	precvpriv->pallocated_recv_buf = _malloc(NR_RECVBUFF *
+0 −1
Original line number Diff line number Diff line
@@ -131,7 +131,6 @@ uint r8712_alloc_io_queue(struct _adapter *adapter)
	pio_req = (struct io_req *)(pio_queue->free_ioreqs_buf);
	for (i = 0; i < NUM_IOREQ; i++) {
		_init_listhead(&pio_req->list);
		sema_init(&pio_req->sema, 0);
		list_insert_tail(&pio_req->list, &pio_queue->free_ioreqs);
		pio_req++;
	}
Loading