diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 90d0e79356652f09413017c9054a2d2ab8d81f0f..0cd42bf4c6c8166a81da274a17f6fd2d41bbda85 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -1064,10 +1064,10 @@ static void pl2303_buf_clear(struct pl2303_buf *pb)
  */
 static unsigned int pl2303_buf_data_avail(struct pl2303_buf *pb)
 {
-	if (pb != NULL)
-		return ((pb->buf_size + pb->buf_put - pb->buf_get) % pb->buf_size);
-	else
+	if (pb == NULL)
 		return 0;
+
+	return ((pb->buf_size + pb->buf_put - pb->buf_get) % pb->buf_size);
 }
 
 /*
@@ -1078,10 +1078,10 @@ static unsigned int pl2303_buf_data_avail(struct pl2303_buf *pb)
  */
 static unsigned int pl2303_buf_space_avail(struct pl2303_buf *pb)
 {
-	if (pb != NULL)
-		return ((pb->buf_size + pb->buf_get - pb->buf_put - 1) % pb->buf_size);
-	else
+	if (pb == NULL)
 		return 0;
+
+	return ((pb->buf_size + pb->buf_get - pb->buf_put - 1) % pb->buf_size);
 }
 
 /*