RE: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-07 Thread Liu, Chuansheng
> -Original Message- > From: Ming Lei [mailto:ming@canonical.com] > Sent: Wednesday, November 07, 2012 6:40 PM > To: Liu, Chuansheng > Cc: gre...@linuxfoundation.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is > followed by

Re: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-07 Thread Ming Lei
On Thu, Nov 8, 2012 at 12:45 AM, Chuansheng Liu wrote: > > There is a race condition as below when calling request_firmware(): > > CPU1CPU2 > write 0 > loading > mutex_lock(_lock); > ... > set_bit FW_STATUS_DONE class_timeout is coming >

Re: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-07 Thread Ming Lei
On Thu, Nov 8, 2012 at 12:45 AM, Chuansheng Liu chuansheng@intel.com wrote: There is a race condition as below when calling request_firmware(): CPU1CPU2 write 0 loading mutex_lock(fw_lock); ... set_bit FW_STATUS_DONE class_timeout

RE: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-07 Thread Liu, Chuansheng
-Original Message- From: Ming Lei [mailto:ming@canonical.com] Sent: Wednesday, November 07, 2012 6:40 PM To: Liu, Chuansheng Cc: gre...@linuxfoundation.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by

[PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-06 Thread Chuansheng Liu
There is a race condition as below when calling request_firmware(): CPU1CPU2 write 0 > loading mutex_lock(_lock); ... set_bit FW_STATUS_DONE class_timeout is coming set_bit FW_STATUS_ABORT complete_all

[PATCH] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout

2012-11-06 Thread Chuansheng Liu
There is a race condition as below when calling request_firmware(): CPU1CPU2 write 0 loading mutex_lock(fw_lock); ... set_bit FW_STATUS_DONE class_timeout is coming set_bit FW_STATUS_ABORT complete_all