lkml.org 
[lkml]   [2015]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/2] drivers: staging: wilc1000: Move spin lock to the start of critical section
From
Date


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



\
 
 \ /
  Last update: 2015-10-05 05:41    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog