diff mbox series

USB: serial: io_edgeport: fix up switch fall-through comments

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

Commit Message

Greg KH May 2, 2019, 5:35 p.m. UTC
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>

Comments

Gustavo A. R. Silva May 2, 2019, 5:45 p.m. UTC | #1
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;
>
Johan Hovold May 3, 2019, 6:09 a.m. UTC | #2
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
Gustavo A. R. Silva May 3, 2019, 2 p.m. UTC | #3
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
Johan Hovold May 3, 2019, 3:46 p.m. UTC | #4
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 mbox series

Patch

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;