|
@@ -1393,11 +1393,20 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state)
|
|
|
|
|
|
exit:
|
|
|
/*
|
|
|
- * Set device mode to sleep for power management.
|
|
|
+ * Set device mode to sleep for power management,
|
|
|
+ * on some hardware this call seems to consistently fail.
|
|
|
+ * From the specifications it is hard to tell why it fails,
|
|
|
+ * and if this is a "bad thing".
|
|
|
+ * Overall it is safe to just ignore the failure and
|
|
|
+ * continue suspending. The only downside is that the
|
|
|
+ * device will not be in optimal power save mode, but with
|
|
|
+ * the radio and the other components already disabled the
|
|
|
+ * device is as good as disabled.
|
|
|
*/
|
|
|
retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP);
|
|
|
if (retval)
|
|
|
- return retval;
|
|
|
+ WARNING(rt2x00dev, "Device failed to enter sleep state, "
|
|
|
+ "continue suspending.\n");
|
|
|
|
|
|
return 0;
|
|
|
}
|