From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2] USB: serial: io_edgeport: mark expected switch fall-throughs From: Johan Hovold Message-Id: <20190502135636.GT26546@localhost> Date: Thu, 2 May 2019 15:56:36 +0200 To: "Gustavo A. R. Silva" Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook List-ID: T24gVGh1LCBNYXkgMDIsIDIwMTkgYXQgMDg6MjI6MzBBTSAtMDUwMCwgR3VzdGF2byBBLiBSLiBT aWx2YSB3cm90ZToKPiAKPiAKPiBPbiA1LzIvMTkgNToyNiBBTSwgSm9oYW4gSG92b2xkIHdyb3Rl Ogo+ID4gT24gV2VkLCBNYXkgMDEsIDIwMTkgYXQgMDQ6MzM6MjlQTSAtMDUwMCwgR3VzdGF2byBB LiBSLiBTaWx2YSB3cm90ZToKPiA+PiBJbiBwcmVwYXJhdGlvbiB0byBlbmFibGluZyAtV2ltcGxp Y2l0LWZhbGx0aHJvdWdoLCBtYXJrIHN3aXRjaAo+ID4+IGNhc2VzIHdoZXJlIHdlIGFyZSBleHBl Y3RpbmcgdG8gZmFsbCB0aHJvdWdoLgo+ID4+Cj4gPj4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9s bG93aW5nIHdhcm5pbmdzOgo+ID4+Cj4gPj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0 LmM6IEluIGZ1bmN0aW9uIOKAmHByb2Nlc3NfcmN2ZF9kYXRh4oCZOgo+ID4+IGRyaXZlcnMvdXNi L3NlcmlhbC9pb19lZGdlcG9ydC5jOjE3NTA6Nzogd2FybmluZzogdGhpcyBzdGF0ZW1lbnQgbWF5 IGZhbGwgdGhyb3VnaCBbLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD1dCj4gPj4gICAgIGlmIChidWZm ZXJMZW5ndGggPT0gMCkgewo+ID4+ICAgICAgICBeCj4gPj4gZHJpdmVycy91c2Ivc2VyaWFsL2lv X2VkZ2Vwb3J0LmM6MTc1NTozOiBub3RlOiBoZXJlCj4gPj4gICAgY2FzZSBFWFBFQ1RfSERSMjoK PiA+PiAgICBefn5+Cj4gPj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6MTgxMDo4 OiB3YXJuaW5nOiB0aGlzIHN0YXRlbWVudCBtYXkgZmFsbCB0aHJvdWdoIFstV2ltcGxpY2l0LWZh bGx0aHJvdWdoPV0KPiA+PiAgICAgIGlmIChidWZmZXJMZW5ndGggPT0gMCkgewo+ID4+ICAgICAg ICAgXgo+ID4+IGRyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jOjE4MTY6Mzogbm90ZTog aGVyZQo+ID4+ICAgIGNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICovCj4gPj4gICAg Xn5+fgo+ID4+Cj4gPj4gV2FybmluZyBsZXZlbCAzIHdhcyB1c2VkOiAtV2ltcGxpY2l0LWZhbGx0 aHJvdWdoPTMKPiA+Pgo+ID4+IE5vdGljZSB0aGF0LCBpbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSwg dGhlIGNvZGUgY29tbWVudHMgYXJlIG1vZGlmaWVkCj4gPj4gaW4gYWNjb3JkYW5jZSB3aXRoIHdo YXQgR0NDIGlzIGV4cGVjdGluZyB0byBmaW5kLgo+ID4+Cj4gPj4gVGhpcyBwYXRjaCBpcyBwYXJ0 IG9mIHRoZSBvbmdvaW5nIGVmZm9ydHMgdG8gZW5hYmxlCj4gPj4gLVdpbXBsaWNpdC1mYWxsdGhy b3VnaC4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEgPGd1c3Rh dm9AZW1iZWRkZWRvci5jb20+Cj4gPj4gLS0tCj4gPj4gQ2hhbmdlcyBpbiB2MjoKPiA+PiAgLSBX YXJuaW5nIGxldmVsIDMgaXMgbm93IHVzZWQ6IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9Mwo+ID4+ ICAgIGluc3RlYWQgb2Ygd2FybmluZyBsZXZlbCAyLgo+ID4+ICAtIEFsbCB3YXJuaW5ncyBpbiB0 aGUgc3dpdGNoIHN0YXRlbWVudCBhcmUgYWRkcmVzc2VkIG5vdy4KPiA+Pgo+ID4+IE5vdGljZSB0 aGF0IHRoZXNlIGFyZSB0aGUgbGFzdCByZW1haW5pbmcgZmFsbC10aHJvdWdoIHdhcm5pbmdzCj4g Pj4gaW4gdGhlIFVTQiBzdWJzeXN0ZW0uIDopCj4gPiAKPiA+PiAgZHJpdmVycy91c2Ivc2VyaWFs L2lvX2VkZ2Vwb3J0LmMgfCAzICsrLQo+ID4+ICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2Vy aWFsL2lvX2VkZ2Vwb3J0LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwo+ID4+ IGluZGV4IDRjYTMxYzBlNDE3NC4uN2FkMTAzMjhmNGUyIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZl cnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4gPj4gKysrIGIvZHJpdmVycy91c2Ivc2VyaWFs L2lvX2VkZ2Vwb3J0LmMKPiA+PiBAQCAtMTc1MSw3ICsxNzUxLDcgQEAgc3RhdGljIHZvaWQgcHJv Y2Vzc19yY3ZkX2RhdGEoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsCj4gPj4g IAkJCQllZGdlX3NlcmlhbC0+cnhTdGF0ZSA9IEVYUEVDVF9IRFIyOwo+ID4+ICAJCQkJYnJlYWs7 Cj4gPj4gIAkJCX0KPiA+PiAtCQkJLyogb3RoZXJ3aXNlLCBkcm9wIG9uIHRocm91Z2ggKi8KPiA+ PiArCQkJLyogRmFsbCB0aHJvdWdoIC0gb3RoZXJ3aXNlLCBkcm9wIG9uIHRocm91Z2ggKi8KPiA+ PiAgCQljYXNlIEVYUEVDVF9IRFIyOgo+ID4+ICAJCQllZGdlX3NlcmlhbC0+cnhIZWFkZXIyID0g KmJ1ZmZlcjsKPiA+PiAgCQkJKytidWZmZXI7Cj4gPj4gQEAgLTE4MTMsNiArMTgxMyw3IEBAIHN0 YXRpYyB2b2lkIHByb2Nlc3NfcmN2ZF9kYXRhKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vf c2VyaWFsLAo+ID4+ICAJCQkJfQo+ID4+ICAJCQkJLyogRWxzZSwgZHJvcCB0aHJvdWdoICovCj4g Pj4gIAkJCX0KPiA+PiArCQkJLyogRmFsbCB0aHJvdWdoICovCj4gPj4gIAkJY2FzZSBFWFBFQ1Rf REFUQTogLyogRXhwZWN0IGRhdGEgKi8KPiA+IAo+ID4gTG9va3MgbGlrZSB5b3UgZm9yZ290IHRv IHRha2UgdGhlIG9yaWdpbmFsIHJldmlldyBmZWVkYmFjayB5b3UgZ290IGludG8KPiA+IGFjY291 bnQ6Cj4gPiAKPiA+IAlodHRwczovL2xrbWwua2VybmVsLm9yZy9yLzg3azF6ZjRrMjQuZnNmQG1p cmFjdWxpeC5tb3JrLm5vCj4gPiAKPiAKPiBPaCwgdGhlIHRoaW5nIGlzIHRoYXQgdGhlIGZhbGwt dGhyb3VnaCBjb21tZW50cyBoYXZlIHRvIGJlIHBsYWNlZCBhdAo+IHRoZSB2ZXJ5IGJvdHRvbSBv ZiB0aGUgY2FzZS4gQWxzbywgYmFzZWQgb24gdGhhdCBmZWVkYmFjaywgdGhpcyB0aW1lCj4gSSBs ZWZ0IHRoZSAiRWxzZSwgZHJvcCB0aHJvdWdoIiBjb21tZW50IGluIHBsYWNlLCBzbyBwZW9wbGUg Y2FuIGJlCj4gaW5mb3JtZWQgdGhhdCBzdWNoIGZhbGwtdGhyb3VnaCBpcyBjb25kaXRpb25hbC4K PiAKPiBXaGF0IGRvIHlvdSB0aGluayBhYm91dCB0aGlzOgo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdl cG9ydC5jCj4gaW5kZXggNGNhMzFjMGU0MTc0Li41MmYyN2ZjODI1NjMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKPiArKysgYi9kcml2ZXJzL3VzYi9zZXJp YWwvaW9fZWRnZXBvcnQuYwo+IEBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgdm9pZCBwcm9j ZXNzX3JjdmRfZGF0YShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2Vfc2VyaWFsLT5yeFN0YXRlID0gRVhQRUNU X0hEUjI7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgLyogb3RoZXJ3aXNl LCBkcm9wIG9uIHRocm91Z2ggKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAvKiBGYWxsIHRo cm91Z2ggLSBvdGhlcndpc2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+ICAgICAgICAgICAgICAgICBj YXNlIEVYUEVDVF9IRFIyOgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2Vfc2VyaWFsLT5y eEhlYWRlcjIgPSAqYnVmZmVyOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICsrYnVmZmVyOwo+ IEBAIC0xODEzLDYgKzE4MTMsMTEgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19yY3ZkX2RhdGEoc3Ry dWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbHNlLCBk cm9wIHRocm91Z2ggKi8KPiAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgLyogQmV3YXJlIHRoYXQsIGN1cnJlbnRseSwgdGhlcmUgYXJlIGF0IGxlYXN0 IHRocmVlCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogYnJlYWsgc3RhdGVtZW50cyBpbiB0 aGlzIGNhc2UgYmxvY2ssIHNvIHRoZQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIGZhbGwt dGhyb3VnaCBtYXJrZWQgYmVsb3cgaXMgTk9UIHVuY29uZGl0aW9uYWwuCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgLyogRmFsbCB0aHJvdWdo ICovCj4gICAgICAgICAgICAgICAgIGNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICov Cj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IGVkZ2Vfc2VyaWFs LT5yeEJ5dGVzUmVtYWluaW5nKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy eExlbiA9IGJ1ZmZlckxlbmd0aDsKCkl0J3MgYmV0dGVyIHRoYW4gdjIsIGJ1dCBJIHRob3VnaHQg eW91IHNhaWQgeW91IHdlcmUgZ29ubmEgbG9vayBpbnRvCnJlc3RydWN0dXJpbmcgdGhlIGNvZGUg dG8gbWFpbnRhaW4gKG9yIGV2ZW4gaW1wcm92ZSkgcmVhZGFiaWxpdHk/CgpKb2hhbgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, T_DKIMWL_WL_HIGH,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88515C43219 for ; Thu, 2 May 2019 13:56:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 59F9F2063F for ; Thu, 2 May 2019 13:56:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556805396; bh=bwmJRWM4rgIvmb7W4Nw2g1YBFCAM3jL/YPYGTss5OEU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=BuXuOriUxz0PN712+GLSo0yEdd/f3Uhq5Xg2KHgA3zAxO+LyK8AIwRaQHXfzXTJ2x Ktp+P0weSlq9W0rFPlV73ugaKMcUAY3wOCyZ8EsHntEvFR2i4Rt+W1aU5Q7PgUX7UE WQ8oY5tlhQ48FOjLolzzXvYNw/fwbnrxPKebIN8Q= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726308AbfEBN4b (ORCPT ); Thu, 2 May 2019 09:56:31 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:41147 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726302AbfEBN4a (ORCPT ); Thu, 2 May 2019 09:56:30 -0400 Received: by mail-lf1-f67.google.com with SMTP id d8so1942275lfb.8; Thu, 02 May 2019 06:56:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=/VM2EPbaQGkjwVj3LHXmEyZv0mSCYwQuitq78e8x8+4=; b=H6m5bt83WI7VgIZVTkwD1ttH62PtSUVQE215GE+U8PrTRo/dM2WWHvDiniWHJ0PI6h 4unbflDaJu3DrgNKv8ea4U1sz9xwqHN6S0mTBQJmgMpgKt8X3zmApkyghCMAA8Jij+TZ 0nKd6axbRd1T4Uxuh8bMq/BwuaA6me7ZykLW0cZXuZxyc3CfV3RSCmsWoorQKmFrZg1y eGXId/PmAPahkORX2HR7y0ZZlhwoXOxZJxHJHTfLT1v6KArIbGlpxP/eSG+rtDYE4Pgb rfy1ie5kUP1RA77qpLoNEmpZ8hyOI5gEMhtoaHqJxY6nOe11qROklP0WzM8kVsEudYHy oFzw== X-Gm-Message-State: APjAAAXnuZy+dTVPUUR/hreMdbbI/xAit1hutiM+FE0LZDO5yDuDGyra geGFZ4HunSCVy0YFmM2+TAE= X-Google-Smtp-Source: APXvYqz/5j7YFIF0fcF9qHJWGYVHusZfI5dnPpLYjeKOGVNBnoEJ5oH5NzA7po/x6AC+jW/IGg9myA== X-Received: by 2002:a19:7d04:: with SMTP id y4mr2112437lfc.153.1556805387716; Thu, 02 May 2019 06:56:27 -0700 (PDT) Received: from xi.terra (c-74bee655.07-184-6d6c6d4.bbcust.telenor.se. [85.230.190.116]) by smtp.gmail.com with ESMTPSA id q15sm4106884lfh.59.2019.05.02.06.56.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 May 2019 06:56:26 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.91) (envelope-from ) id 1hMCCS-0005iF-Dj; Thu, 02 May 2019 15:56:37 +0200 Date: Thu, 2 May 2019 15:56:36 +0200 From: Johan Hovold To: "Gustavo A. R. Silva" Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook Subject: Re: [PATCH v2] USB: serial: io_edgeport: mark expected switch fall-throughs Message-ID: <20190502135636.GT26546@localhost> References: <20190501213329.GA26972@embeddedor> <20190502102608.GS26546@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190502135636.o9eqVM7IWcOIrKP7RHY_11oaflyVCCuhEYdvlLElemE@z> On Thu, May 02, 2019 at 08:22:30AM -0500, Gustavo A. R. Silva wrote: > > > On 5/2/19 5:26 AM, Johan Hovold wrote: > > On Wed, May 01, 2019 at 04:33:29PM -0500, Gustavo A. R. Silva wrote: > >> In preparation to enabling -Wimplicit-fallthrough, mark switch > >> cases where we are expecting to fall through. > >> > >> This patch fixes the following warnings: > >> > >> drivers/usb/serial/io_edgeport.c: In function ‘process_rcvd_data’: > >> drivers/usb/serial/io_edgeport.c:1750:7: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> if (bufferLength == 0) { > >> ^ > >> drivers/usb/serial/io_edgeport.c:1755:3: note: here > >> case EXPECT_HDR2: > >> ^~~~ > >> drivers/usb/serial/io_edgeport.c:1810:8: warning: this statement may fall through [-Wimplicit-fallthrough=] > >> if (bufferLength == 0) { > >> ^ > >> drivers/usb/serial/io_edgeport.c:1816:3: note: here > >> case EXPECT_DATA: /* Expect data */ > >> ^~~~ > >> > >> Warning level 3 was used: -Wimplicit-fallthrough=3 > >> > >> Notice that, in this particular case, the code comments are modified > >> in accordance with what GCC is expecting to find. > >> > >> This patch is part of the ongoing efforts to enable > >> -Wimplicit-fallthrough. > >> > >> Signed-off-by: Gustavo A. R. Silva > >> --- > >> Changes in v2: > >> - Warning level 3 is now used: -Wimplicit-fallthrough=3 > >> instead of warning level 2. > >> - All warnings in the switch statement are addressed now. > >> > >> Notice that these are the last remaining fall-through warnings > >> in the USB subsystem. :) > > > >> drivers/usb/serial/io_edgeport.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c > >> index 4ca31c0e4174..7ad10328f4e2 100644 > >> --- a/drivers/usb/serial/io_edgeport.c > >> +++ b/drivers/usb/serial/io_edgeport.c > >> @@ -1751,7 +1751,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > >> edge_serial->rxState = EXPECT_HDR2; > >> break; > >> } > >> - /* otherwise, drop on through */ > >> + /* Fall through - otherwise, drop on through */ > >> case EXPECT_HDR2: > >> edge_serial->rxHeader2 = *buffer; > >> ++buffer; > >> @@ -1813,6 +1813,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > >> } > >> /* Else, drop through */ > >> } > >> + /* Fall through */ > >> case EXPECT_DATA: /* Expect data */ > > > > Looks like you forgot to take the original review feedback you got into > > account: > > > > https://lkml.kernel.org/r/87k1zf4k24.fsf@miraculix.mork.no > > > > Oh, the thing is that the fall-through comments have to be placed at > the very bottom of the case. Also, based on that feedback, this time > I left the "Else, drop through" comment in place, so people can be > informed that such fall-through is conditional. > > What do you think about this: > > diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c > index 4ca31c0e4174..52f27fc82563 100644 > --- a/drivers/usb/serial/io_edgeport.c > +++ b/drivers/usb/serial/io_edgeport.c > @@ -1751,7 +1751,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > edge_serial->rxState = EXPECT_HDR2; > break; > } > - /* otherwise, drop on through */ > + /* Fall through - otherwise, drop on through */ > case EXPECT_HDR2: > edge_serial->rxHeader2 = *buffer; > ++buffer; > @@ -1813,6 +1813,11 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > } > /* Else, drop through */ > } > + /* Beware that, currently, there are at least three > + * break statements in this case block, so the > + * fall-through marked below is NOT unconditional. > + */ > + /* Fall through */ > case EXPECT_DATA: /* Expect data */ > if (bufferLength < edge_serial->rxBytesRemaining) { > rxLen = bufferLength; It's better than v2, but I thought you said you were gonna look into restructuring the code to maintain (or even improve) readability? Johan