[PATCH] USB: serial: ti_usb_3410_5052: Avoid goto in bulk in callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Make status handling in bulk in callback function more compact,
which renders goto pointless.

Signed-off-by: Ladislav Michl <ladis@xxxxxxxxxxxxxx>
---
 drivers/usb/serial/ti_usb_3410_5052.c | 36 ++++++++++++++---------------------
 1 file changed, 14 insertions(+), 22 deletions(-)

diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index 6b22857f6e52..2786ec7bbca2 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -1219,29 +1219,10 @@ static void ti_bulk_in_callback(struct urb *urb)
 
 	switch (status) {
 	case 0:
-		break;
-	case -ECONNRESET:
-	case -ENOENT:
-	case -ESHUTDOWN:
-		dev_dbg(dev, "%s - urb shutting down, %d\n", __func__, status);
-		return;
-	default:
-		dev_err(dev, "%s - nonzero urb status, %d\n",
-			__func__, status);
-	}
-
-	if (status == -EPIPE)
-		goto exit;
-
-	if (status) {
-		dev_err(dev, "%s - stopping read!\n", __func__);
-		return;
-	}
-
-	if (urb->actual_length) {
+		if (!urb->actual_length)
+			break;
 		usb_serial_debug_data(dev, __func__, urb->actual_length,
 				      urb->transfer_buffer);
-
 		if (!tport->tp_is_open)
 			dev_dbg(dev, "%s - port closed, dropping data\n",
 				__func__);
@@ -1250,9 +1231,20 @@ static void ti_bulk_in_callback(struct urb *urb)
 		spin_lock(&tport->tp_lock);
 		port->icount.rx += urb->actual_length;
 		spin_unlock(&tport->tp_lock);
+		break;
+	case -ECONNRESET:
+	case -ENOENT:
+	case -ESHUTDOWN:
+		dev_dbg(dev, "%s - urb shutting down, %d\n", __func__, status);
+		return;
+	case -EPIPE:
+		break;
+	default:
+		dev_err(dev, "%s - nonzero urb status, %d\n",
+			__func__, status);
+		return;
 	}
 
-exit:
 	/* continue to read unless stopping */
 	spin_lock(&tport->tp_lock);
 	if (tport->tp_read_urb_state == TI_READ_URB_RUNNING)
-- 
2.15.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux