static int rfkill_resume(struct device *dev)
 {
        struct rfkill *rfkill = to_rfkill(dev);
+       enum rfkill_state newstate;
 
        if (dev->power.power_state.event != PM_EVENT_ON) {
                mutex_lock(&rfkill->mutex);
 
                dev->power.power_state.event = PM_EVENT_ON;
 
+               /*
+                * rfkill->state could have been modified before we got
+                * called, and won't be updated by rfkill_toggle_radio()
+                * in force mode.  Sync it FIRST.
+                */
+               if (rfkill->get_state &&
+                   !rfkill->get_state(rfkill->data, &newstate))
+                       rfkill->state = newstate;
+
                /*
                 * If we are under EPO, kick transmitter offline,
                 * otherwise restore to pre-suspend state.