Re: [PATCH 1/2] drivers: staging: wilc1000: Move spin lock to the start of critical section

From: Tony Cho
Date: Sun Oct 04 2015 - 23:24:20 EST




On 2015ë 10ì 04ì 17:43, Greg KH wrote:
On Sat, Oct 03, 2015 at 02:57:29PM +0530, Chandra S Gorentla wrote:
The spin_lock_irqsave is moved to just beginning of critical section.
This change moves a couple of return statements out of the lock.

Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx>
---
drivers/staging/wilc1000/wilc_msgqueue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wilc1000/wilc_msgqueue.c b/drivers/staging/wilc1000/wilc_msgqueue.c
index d5ebd6d..284a3f5 100644
--- a/drivers/staging/wilc1000/wilc_msgqueue.c
+++ b/drivers/staging/wilc1000/wilc_msgqueue.c
@@ -72,8 +72,6 @@ int wilc_mq_send(WILC_MsgQueueHandle *pHandle,
goto ERRORHANDLER;
}
- spin_lock_irqsave(&pHandle->strCriticalSection, flags);
-
/* construct a new message */
pstrMessage = kmalloc(sizeof(Message), GFP_ATOMIC);
As you have moved the lock, can you also change this to GFP_KERNEL as
well because we do not have a lock held?

And how have you tested that this is ok? What is this lock trying to
protect?

This function is called even in interrupt context, so GFP_ATOMIC should be called. The spinlock
also should protect pstrMessage from allocating the memory, so we don't place it to the beginning
of critical section as Chandra said.

Thanks,
Tony.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/