From 4ea827a3a11767081d1c055d694ce644e6723cef Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 3 Apr 2013 11:05:36 +0200 Subject: [PATCH] sierra: too many timeout errors during custom init means non-AT port Reduces probing time of the modem in ~10s. --- plugins/sierra/mm-plugin-sierra.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/sierra/mm-plugin-sierra.c b/plugins/sierra/mm-plugin-sierra.c index 0e4eceb0..8712c088 100644 --- a/plugins/sierra/mm-plugin-sierra.c +++ b/plugins/sierra/mm-plugin-sierra.c @@ -80,6 +80,13 @@ gcap_ready (MMAtSerialPort *port, SierraCustomInitContext *ctx) { if (error) { + /* If consumed all tries and the last error was a timeout, assume the + * port is not AT */ + if (ctx->retries == 0 && + g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) { + mm_port_probe_set_result_at (ctx->probe, FALSE); + } + /* Just retry... */ sierra_custom_init_step (ctx); return;