Received: by 2002:a25:1104:0:0:0:0:0 with SMTP id 4csp417842ybr; Fri, 22 May 2020 09:38:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8PWOUrocu1aiTKIaXbPkzjz0tqvJbMcAiWH0PFjiggeDFo1tJr2cV9tBd7N9YUQ/6cm04 X-Received: by 2002:a17:906:8694:: with SMTP id g20mr9253155ejx.75.1590165521396; Fri, 22 May 2020 09:38:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590165521; cv=none; d=google.com; s=arc-20160816; b=fBHGaLkdI/C9WlaWbqKVToNgqmaCIi9k1lK9g1IxC2yaxXKV3Qn6HwOaH5OCLipe+H XNzejn3i2E3E5pfiqaLpkZEiVKYr/L3c9SMYdkyArbNqjPR2QsQL9Wn8rzAL63khQmnE eqF1S2AOEB+TlXtROO66E0Qq/s8uSmXV07OyLAS76x8/H3YuzWxhVx5YnLmbxhSvD3th +/CKQ4o6QgxeIZqAbF+LS2BMil7kqwEOhPLwyvj10bbUMX0yAqZLfumIpj0nfXLSU4Nr kWBuibGH8idvuDrRCZQi49EOzHv40ro2EJMrChmN1uhlBxFi4F5sjdq9Nz10qybCBKUw qppg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=FcFVf9DXmnqy2xc1eV687yeBDjRdyXr55132WJJ1OtU=; b=IA0eKDAzYS9OUKUCdZVM1ylkuMN4xrqzDiRg1LugixueL6XAnGFGrGN6MG2Nd7BMPX GbGGOuvQIEEe8faAlrQlqGCVKb/S8sCmMwjBkDVseOek9e0PmsT9Ltd88TIA/merdaXv I9164WvDIc/bAakDapGQ4QFt3wK4Mz+gQgzqCXP0NAMLDYPiijv0mvv7gOxJJS5yCwpx cI4BQI7FaciTyUvrwZDgQdsSxwZfFQF+qeoWRcB4UrDmouuMLLOARoODkLRs2Eu/2IjR egcHfg3Xa0b0Mufb+Husk0tWVfIP+51yQCbX+QBxHt7CIhDbxjzM2gUTisduBitEtOkW I/mA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r14si5355809ejs.548.2020.05.22.09.38.17; Fri, 22 May 2020 09:38:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730449AbgEVQgJ (ORCPT + 99 others); Fri, 22 May 2020 12:36:09 -0400 Received: from smtprelay0061.hostedemail.com ([216.40.44.61]:54824 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726762AbgEVQgI (ORCPT ); Fri, 22 May 2020 12:36:08 -0400 Received: from filter.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay05.hostedemail.com (Postfix) with ESMTP id E613418028231; Fri, 22 May 2020 16:36:07 +0000 (UTC) X-Session-Marker: 6A6F6540706572636865732E636F6D X-Spam-Summary: 10,1,0,,d41d8cd98f00b204,joe@perches.com,,RULES_HIT:41:355:379:599:800:960:968:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2198:2199:2393:2553:2559:2562:2693:2828:3138:3139:3140:3141:3142:3353:3622:3865:3866:3867:3868:3870:3871:3872:3874:4031:4321:4419:5007:6119:7514:8909:8957:10007:10400:10848:11026:11232:11658:11914:12043:12296:12297:12555:12740:12760:12895:13069:13311:13357:13439:14096:14097:14181:14659:14721:21080:21324:21451:21611:21627:21740:21939:30012:30020:30029:30054:30056:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:,MSBL:0,DNSBL:none,Custom_rules:0:1:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: pan16_100eb4426d28 X-Filterd-Recvd-Size: 3024 Received: from XPS-9350.home (unknown [47.151.136.130]) (Authenticated sender: joe@perches.com) by omf06.hostedemail.com (Postfix) with ESMTPA; Fri, 22 May 2020 16:36:06 +0000 (UTC) Message-ID: <6ab4139ec78928961a19e5fdbda139bb8cff9cb5.camel@perches.com> Subject: Re: [PATCH] taging: speakup: remove volatile From: Joe Perches To: Dan Carpenter , MugilRaj Cc: devel@driverdev.osuosl.org, Kirk Reiser , Greg Kroah-Hartman , speakup@linux-speakup.org, linux-kernel@vger.kernel.org, Samuel Thibault , Chris Brannon Date: Fri, 22 May 2020 09:36:05 -0700 In-Reply-To: <20200522103406.GK30374@kadam> References: <1590138989-6091-1-git-send-email-dmugil2000@gmail.com> <20200522103406.GK30374@kadam> Content-Type: text/plain; charset="ISO-8859-1" User-Agent: Evolution 3.36.2-0ubuntu1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2020-05-22 at 13:34 +0300, Dan Carpenter wrote: > On Fri, May 22, 2020 at 02:46:28PM +0530, MugilRaj wrote: > > fix checkpatch.pl warning, which is Use of volatile is usually wrong: see > > Documentation/process/volatile-considered-harmful.rst > > Signed-off-by: MugilRaj > > Please put a blank before the Signed-off-by line. > > Probably there should be a space between your first and last name. It's > supposed to your legal name like for signing a legal document so use > whatever is appropriate legal documents in your country. > > Also the Documentation/process/volatile-considered-harmful.rst explains > that people often use "volatile" when they should be using locking for > synchronization. That seems to be the case here. So the correct fix is > to add locking. That's a little bit complicated to do and requires > testing. > > If we apply this patch, then we have silenced the warning so now someone > will have to look for the bug. But if we leave it as-is, then everyone > will know that the code is buggy. So let's leave it as-is until we are > able to fix the bug. > > It's always better to have easy to find bugs, than hidden bugs. And better still to comment known opportunities to improve the code so the next time someone tries to remove this volatile, there's a comment right there showing what's necessary instead. Something like: --- drivers/staging/speakup/speakup_decext.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/speakup/speakup_decext.c b/drivers/staging/speakup/speakup_decext.c index 7408eb29cf38..e68e6046bb51 100644 --- a/drivers/staging/speakup/speakup_decext.c +++ b/drivers/staging/speakup/speakup_decext.c @@ -21,6 +21,7 @@ #define SYNTH_CLEAR 0x03 #define PROCSPEECH 0x0b +/* TODO: Remove volatile, maybe add locks to read_buff_add and synth_full() ? */ static volatile unsigned char last_char; static void read_buff_add(u_char ch)