On 11/06/2015 08:58 AM, Greg KH wrote:
On Fri, Nov 06, 2015 at 08:45:46AM +0700, Ivan Safonov wrote:
Hi all!
How can I mark suspicious code, if I can not fix it? What do you mean by "mark"? Leave a comment in the code, write a letter to maintainer, etc. What to do? And also what do you mean by "suspicious"? This is the wrong code that needs to be corrected. And why can't you fix it?
we need more details.
thanks,
greg k-h Correction of the code will change the behavior of the program. For example:
while (1) { if (down_interruptible(&pcmdpriv->cmd_queue_sema)) break; if (padapter->bDriverStopped || padapter->bSurpriseRemoved) { ... break; } _next: if (padapter->bDriverStopped || padapter->bSurpriseRemoved) { ... break; } ... if (!pcmd) continue; ... goto _next; } ... up(&pcmdpriv->terminate_cmdthread_sema); Here down_interruptible(sem) in the loop but up(sem) only after the loop. Corrected example below: if (down_interruptible(&pcmdpriv->cmd_queue_sema)) { ... } while (1) { if (padapter->bDriverStopped || padapter->bSurpriseRemoved) { ... break; } _next: if (padapter->bDriverStopped || padapter->bSurpriseRemoved) { ... break; } ... if (!pcmd) continue; ... goto _next; } ... } up(&pcmdpriv->terminate_cmdthread_sema); I can not test the corrected code on the device.