[PATCH] drivers/usb/serial: looping issue: avoid the return valueoverriden by looping

From: Chen Gang
Date: Sun Mar 31 2013 - 23:51:28 EST



inside the 'for' looping:
the return value 'rv' may override if not have a check in time.

next checking, outside the 'for' looping:
can not find failure which generated during the 'for' looping

so need let outside know about the failure.


Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>
---
drivers/usb/serial/mos7840.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index a0d5ea5..13aae1e 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -651,7 +651,9 @@ static void mos7840_interrupt_callback(struct urb *urb)
wreg = MODEM_STATUS_REGISTER;
break;
}
- rv = mos7840_get_reg(mos7840_port, wval, wreg, &Data);
+ if (mos7840_get_reg(mos7840_port, wval,
+ wreg, &Data) < 0)
+ rv = -1;
}
}
}
--
1.7.7.6
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/