Message ID | 20190502173515.GA13801@kroah.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | deb55e40ced4109c53d92af1bc07e1e998979792 |
Headers | show |
Series | USB: serial: io_edgeport: fix up switch fall-through comments | expand |
On 5/2/19 12:35 PM, Greg Kroah-Hartman wrote: > Gustavo has been working to fix up all of the switch statements that > "fall through" such that we can eventually turn on > -Wimplicit-fallthrough. As part of that, the io_edgeport.c driver is a > bit "messy" with the parsing logic of a data packet. Clean that logic > up a bit by unindenting one level of the logic, and properly label > /* Fall through */ to make gcc happy. > > Reported-by: Gustavo A. R. Silva <gustavo@embeddedor.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Acked-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Thanks, Greg. -- Gustavo > diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c > index 4ca31c0e4174..48a439298a68 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 */ > case EXPECT_HDR2: > edge_serial->rxHeader2 = *buffer; > ++buffer; > @@ -1790,29 +1790,20 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > edge_serial->rxHeader2, 0); > edge_serial->rxState = EXPECT_HDR1; > break; > - } else { > - edge_serial->rxPort = > - IOSP_GET_HDR_PORT(edge_serial->rxHeader1); > - edge_serial->rxBytesRemaining = > - IOSP_GET_HDR_DATA_LEN( > - edge_serial->rxHeader1, > - edge_serial->rxHeader2); > - dev_dbg(dev, "%s - Data for Port %u Len %u\n", > - __func__, > - edge_serial->rxPort, > - edge_serial->rxBytesRemaining); > - > - /* ASSERT(DevExt->RxPort < DevExt->NumPorts); > - * ASSERT(DevExt->RxBytesRemaining < > - * IOSP_MAX_DATA_LENGTH); > - */ > - > - if (bufferLength == 0) { > - edge_serial->rxState = EXPECT_DATA; > - break; > - } > - /* Else, drop through */ > } > + > + edge_serial->rxPort = IOSP_GET_HDR_PORT(edge_serial->rxHeader1); > + edge_serial->rxBytesRemaining = IOSP_GET_HDR_DATA_LEN(edge_serial->rxHeader1, > + edge_serial->rxHeader2); > + dev_dbg(dev, "%s - Data for Port %u Len %u\n", __func__, > + edge_serial->rxPort, > + edge_serial->rxBytesRemaining); > + > + if (bufferLength == 0) { > + edge_serial->rxState = EXPECT_DATA; > + break; > + } > + /* Fall through */ > case EXPECT_DATA: /* Expect data */ > if (bufferLength < edge_serial->rxBytesRemaining) { > rxLen = bufferLength; >
On Thu, May 02, 2019 at 07:35:15PM +0200, Greg Kroah-Hartman wrote: > Gustavo has been working to fix up all of the switch statements that > "fall through" such that we can eventually turn on > -Wimplicit-fallthrough. As part of that, the io_edgeport.c driver is a > bit "messy" with the parsing logic of a data packet. Clean that logic > up a bit by unindenting one level of the logic, and properly label > /* Fall through */ to make gcc happy. > > Reported-by: Gustavo A. R. Silva <gustavo@embeddedor.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Now applied, thanks. Gustavo, how many of these warnings are there left in the kernel now that the last one in USB is gone? :) Johan
On 5/3/19 1:09 AM, Johan Hovold wrote: > On Thu, May 02, 2019 at 07:35:15PM +0200, Greg Kroah-Hartman wrote: >> Gustavo has been working to fix up all of the switch statements that >> "fall through" such that we can eventually turn on >> -Wimplicit-fallthrough. As part of that, the io_edgeport.c driver is a >> bit "messy" with the parsing logic of a data packet. Clean that logic >> up a bit by unindenting one level of the logic, and properly label >> /* Fall through */ to make gcc happy. >> >> Reported-by: Gustavo A. R. Silva <gustavo@embeddedor.com> >> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Now applied, thanks. > > Gustavo, how many of these warnings are there left in the kernel now > that the last one in USB is gone? :) > Today, we woke up with 37 of these warnings left in linux-next. :) There were more than 2000 when I first started auditing them. Thanks -- Gustavo
On Fri, May 03, 2019 at 09:00:44AM -0500, Gustavo A. R. Silva wrote: > On 5/3/19 1:09 AM, Johan Hovold wrote: > > Gustavo, how many of these warnings are there left in the kernel now > > that the last one in USB is gone? :) > > > > Today, we woke up with 37 of these warnings left in linux-next. :) > > There were more than 2000 when I first started auditing them. Nice work! Hope the remaining ones aren't all super tricky to address. Johan
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c index 4ca31c0e4174..48a439298a68 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 */ case EXPECT_HDR2: edge_serial->rxHeader2 = *buffer; ++buffer; @@ -1790,29 +1790,20 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, edge_serial->rxHeader2, 0); edge_serial->rxState = EXPECT_HDR1; break; - } else { - edge_serial->rxPort = - IOSP_GET_HDR_PORT(edge_serial->rxHeader1); - edge_serial->rxBytesRemaining = - IOSP_GET_HDR_DATA_LEN( - edge_serial->rxHeader1, - edge_serial->rxHeader2); - dev_dbg(dev, "%s - Data for Port %u Len %u\n", - __func__, - edge_serial->rxPort, - edge_serial->rxBytesRemaining); - - /* ASSERT(DevExt->RxPort < DevExt->NumPorts); - * ASSERT(DevExt->RxBytesRemaining < - * IOSP_MAX_DATA_LENGTH); - */ - - if (bufferLength == 0) { - edge_serial->rxState = EXPECT_DATA; - break; - } - /* Else, drop through */ } + + edge_serial->rxPort = IOSP_GET_HDR_PORT(edge_serial->rxHeader1); + edge_serial->rxBytesRemaining = IOSP_GET_HDR_DATA_LEN(edge_serial->rxHeader1, + edge_serial->rxHeader2); + dev_dbg(dev, "%s - Data for Port %u Len %u\n", __func__, + edge_serial->rxPort, + edge_serial->rxBytesRemaining); + + if (bufferLength == 0) { + edge_serial->rxState = EXPECT_DATA; + break; + } + /* Fall through */ case EXPECT_DATA: /* Expect data */ if (bufferLength < edge_serial->rxBytesRemaining) { rxLen = bufferLength;
Gustavo has been working to fix up all of the switch statements that "fall through" such that we can eventually turn on -Wimplicit-fallthrough. As part of that, the io_edgeport.c driver is a bit "messy" with the parsing logic of a data packet. Clean that logic up a bit by unindenting one level of the logic, and properly label /* Fall through */ to make gcc happy. Reported-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>