libertas: EHS_REMOVE_WAKEUP is not always supported
Certain firmware versions, particularly the 8388 found on the XO-1, do not support the EHS_REMOVE_WAKEUP command that is used to disable WOL. Sending this command to the card will return a failure that would get propagated up the stack and cause suspend to fail. Instead, fall back to an all-zero wakeup mask. This fixes http://dev.laptop.org/ticket/9967 Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: Daniel Drake <dsd@laptop.org> [includes fixups by Paul Fox] Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
cf43298864
commit
ae63a33ec9
@@ -844,9 +844,10 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev)
|
||||
priv->work_thread = create_singlethread_workqueue("lbs_worker");
|
||||
INIT_WORK(&priv->mcast_work, lbs_set_mcast_worker);
|
||||
|
||||
priv->wol_criteria = 0xffffffff;
|
||||
priv->wol_criteria = EHS_REMOVE_WAKEUP;
|
||||
priv->wol_gpio = 0xff;
|
||||
priv->wol_gap = 20;
|
||||
priv->ehs_remove_supported = true;
|
||||
|
||||
goto done;
|
||||
|
||||
|
Reference in New Issue
Block a user