cdma: simplify finding the right serial port for commands
This commit is contained in:
@@ -274,23 +274,14 @@ query_registration_state (MMGenericCdma *cdma,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMCallbackInfo *info;
|
||||
MMAtSerialPort *primary, *secondary, *port;
|
||||
|
||||
port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY);
|
||||
secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY);
|
||||
MMAtSerialPort *port;
|
||||
|
||||
info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data);
|
||||
|
||||
if (mm_port_get_connected (MM_PORT (primary))) {
|
||||
if (!secondary) {
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED,
|
||||
"Cannot get query registration state while connected");
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Use secondary port if primary is connected */
|
||||
port = secondary;
|
||||
port = mm_generic_cdma_get_best_at_port (cdma, &info->error);
|
||||
if (!port) {
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
mm_at_serial_port_queue_command (port, "*STATE?", 3, state_done, info);
|
||||
|
||||
@@ -239,23 +239,14 @@ query_registration_state (MMGenericCdma *cdma,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMCallbackInfo *info;
|
||||
MMAtSerialPort *primary, *secondary, *port;
|
||||
|
||||
port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY);
|
||||
secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY);
|
||||
MMAtSerialPort *port;
|
||||
|
||||
info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data);
|
||||
|
||||
if (mm_port_get_connected (MM_PORT (primary))) {
|
||||
if (!secondary) {
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED,
|
||||
"Cannot get query registration state while connected");
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Use secondary port if primary is connected */
|
||||
port = secondary;
|
||||
port = mm_generic_cdma_get_best_at_port (cdma, &info->error);
|
||||
if (!port) {
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
mm_at_serial_port_queue_command (port, "^SYSINFO", 3, sysinfo_done, info);
|
||||
|
||||
@@ -141,25 +141,15 @@ get_signal_quality (MMModemCdma *modem,
|
||||
MMModemUIntFn callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMGenericCdma *cdma = MM_GENERIC_CDMA (modem);
|
||||
MMCallbackInfo *info;
|
||||
MMAtSerialPort *primary, *secondary, *port;
|
||||
|
||||
port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY);
|
||||
secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY);
|
||||
MMAtSerialPort *port;
|
||||
|
||||
info = mm_callback_info_uint_new (MM_MODEM (modem), callback, user_data);
|
||||
|
||||
if (mm_port_get_connected (MM_PORT (primary))) {
|
||||
if (!secondary) {
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED,
|
||||
"Cannot query signal quality while connected");
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Use secondary port if primary is connected */
|
||||
port = secondary;
|
||||
port = mm_generic_cdma_get_best_at_port (MM_GENERIC_CDMA (modem), &info->error);
|
||||
if (!port) {
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Many Novatel CDMA cards don't report CSQ in standard 0 - 31 and the CSQ
|
||||
|
||||
@@ -293,24 +293,14 @@ query_registration_state (MMGenericCdma *cdma,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMCallbackInfo *info;
|
||||
MMAtSerialPort *primary, *secondary;
|
||||
MMAtSerialPort *port;
|
||||
|
||||
port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY);
|
||||
secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY);
|
||||
|
||||
info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data);
|
||||
|
||||
if (mm_port_get_connected (MM_PORT (primary))) {
|
||||
if (!secondary) {
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED,
|
||||
"Cannot get query registration state while connected");
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Use secondary port if primary is connected */
|
||||
port = secondary;
|
||||
port = mm_generic_cdma_get_best_at_port (cdma, &info->error);
|
||||
if (!port) {
|
||||
mm_callback_info_schedule (info);
|
||||
return;
|
||||
}
|
||||
|
||||
mm_at_serial_port_queue_command (port, "!STATUS", 3, status_done, info);
|
||||
|
||||
Reference in New Issue
Block a user