Messages in this thread |  | | Subject | Re: [PATCH 1/2] drivers: staging: wilc1000: Move spin lock to the start of critical section | | From | Tony Cho <> | | Date | Mon, 5 Oct 2015 12:23:50 +0900 |
| |
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@gmail.com> >> --- >> 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
|  |