From b7a7e14f654c80dfd3aa514adee663c74cfa4be9 Mon Sep 17 00:00:00 2001
From: Matt Schulte <matts@commtech-fastcom.com>
Date: Tue, 20 Nov 2012 11:23:56 -0600
Subject: [PATCH] serial: Optimization: check for presence of UPF_EXAR_EFR flag
 before serial_in

Optimization: check for presence of UPF_EXAR_EFR flag before serial_in

Signed-off-by: Matt Schulte <matts@commtech-fastcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/tty/serial/8250/8250.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c
index 3624df674a311..39d970719f7db 100644
--- a/drivers/tty/serial/8250/8250.c
+++ b/drivers/tty/serial/8250/8250.c
@@ -911,9 +911,9 @@ static void autoconfig_16550a(struct uart_8250_port *up)
 	 * found at offset 0x09. Instead check the Deice ID (DVID)
 	 * register for a 2, 4 or 8 port UART.
 	 */
-	status1 = serial_in(up, UART_EXAR_DVID);
-	if (status1 == 0x82 || status1 == 0x84 || status1 == 0x88) {
-		if (up->port.flags & UPF_EXAR_EFR) {
+	if (up->port.flags & UPF_EXAR_EFR) {
+		status1 = serial_in(up, UART_EXAR_DVID);
+		if (status1 == 0x82 || status1 == 0x84 || status1 == 0x88) {
 			DEBUG_AUTOCONF("Exar XR17V35x ");
 			up->port.type = PORT_XR17V35X;
 			up->capabilities |= UART_CAP_AFE | UART_CAP_EFR |
-- 
2.30.2