A firmware control management device in a wireless communication system for determining whether or not to push a current firmware upgrade to a machine-to-machine (M2M) device (112 1, 112 2...112 n, 116 1, 116 2...116 n, 118 1, 118 2...118 n, and 120 1, 120 2...120 n), the firmware control management device comprising: a processor; and a memory that stores processor-executable instructions where the processor interfaces with the memory and executes the processor-executable instructions to enable operations as follows: receive a notification from the M2M device (116 1); retrieve M2M configuration information associated with the M2M device, wherein said M2M configuration information comprises at least a current loaded firmware in the M2M device; obtain information related to the current firmware upgrade associated with the M2M device; obtain information which indicates a network (106 1) currently connected to the M2M device, wherein the network currently connected to the M2M device is a visited network of the M2M device rather than a home network of the M2M device; obtain information related to the visited network currently connected to the M2M device, further characterized by: wherein the information related to the visited network currently connected to the M2M device comprises data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device; and determine whether or not to push the current firmware upgrade to the M2M device based at least on the current loaded firmware in the M2M device, the current firmware upgrade associated with the M2M device, and the data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device. a processor; and a memory that stores processor-executable instructions where the processor interfaces with the memory and executes the processor-executable instructions to enable operations as follows: receive a notification from the M2M device (116 1); retrieve M2M configuration information associated with the M2M device, wherein said M2M configuration information comprises at least a current loaded firmware in the M2M device; obtain information related to the current firmware upgrade associated with the M2M device; obtain information which indicates a network (106 1) currently connected to the M2M device, wherein the network currently connected to the M2M device is a visited network of the M2M device rather than a home network of the M2M device; obtain information related to the visited network currently connected to the M2M device, further characterized by: wherein the information related to the visited network currently connected to the M2M device comprises data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device; and determine whether or not to push the current firmware upgrade to the M2M device based at least on the current loaded firmware in the M2M device, the current firmware upgrade associated with the M2M device, and the data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device. receive a notification from the M2M device (116 1); retrieve M2M configuration information associated with the M2M device, wherein said M2M configuration information comprises at least a current loaded firmware in the M2M device; obtain information related to the current firmware upgrade associated with the M2M device; obtain information which indicates a network (106 1) currently connected to the M2M device, wherein the network currently connected to the M2M device is a visited network of the M2M device rather than a home network of the M2M device; obtain information related to the visited network currently connected to the M2M device, further characterized by: wherein the information related to the visited network currently connected to the M2M device comprises data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device; and wherein the information related to the visited network currently connected to the M2M device comprises data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device; and determine whether or not to push the current firmware upgrade to the M2M device based at least on the current loaded firmware in the M2M device, the current firmware upgrade associated with the M2M device, and the data costs associated with using the currently connected visited network to push the current firmware upgrade to the M2M device.