diff options
author | David Woodhouse <dwmw2@infradead.org> | 2007-12-17 14:41:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:07:42 -0500 |
commit | b2c57eee66592e22327bf39b42c4e3dc24708213 (patch) | |
tree | d521906845ae41d7277f78be1ee28ab5fb7f33fd /drivers/net/wireless/libertas/wext.c | |
parent | b47ef2438dea2ddad4561152aa8007a2d95e8157 (diff) |
libertas: allow for PS mode to be disabled when firmware doesn't support it
Otherwise, we go into an endless busy loop trying to enable PS mode when
the command queue is empty, dealing with the error response, and then
trying to enable PS mode again because the command queue is empty.... it
doesn't really save much power.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/wext.c')
-rw-r--r-- | drivers/net/wireless/libertas/wext.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c index b1e24723f2f9..3e8d555ba3a9 100644 --- a/drivers/net/wireless/libertas/wext.c +++ b/drivers/net/wireless/libertas/wext.c | |||
@@ -734,6 +734,13 @@ static int lbs_set_power(struct net_device *dev, struct iw_request_info *info, | |||
734 | 734 | ||
735 | lbs_deb_enter(LBS_DEB_WEXT); | 735 | lbs_deb_enter(LBS_DEB_WEXT); |
736 | 736 | ||
737 | if (!priv->ps_supported) { | ||
738 | if (vwrq->disabled) | ||
739 | return 0; | ||
740 | else | ||
741 | return -EINVAL; | ||
742 | } | ||
743 | |||
737 | /* PS is currently supported only in Infrastructure mode | 744 | /* PS is currently supported only in Infrastructure mode |
738 | * Remove this check if it is to be supported in IBSS mode also | 745 | * Remove this check if it is to be supported in IBSS mode also |
739 | */ | 746 | */ |