libertas: fix sleep confirmation
authorHolger Schurig <hs4233@mail.mn-solutions.de>
Wed, 4 Jun 2008 09:10:40 +0000 (11:10 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Jun 2008 19:50:20 +0000 (15:50 -0400)
commita01f5450401f081f07a866612121e780e0730cfd
tree389abf34647f84c9bcb33d22dcd4b1d12d535470
parent507b06d0622480f8026d49a94f86068bb0fd6ed6
libertas: fix sleep confirmation

This fixes an issus that made "iwconfig eth1 power on" non-working.
When we get a "PS sleep" event, we have to confirm this to the firmware.
The confirm happens with a command, but this command is special: the
firmware won't send us a response. if_cs_host_to_card() is setting
priv->dnld_sent anyway, so this variable stayed at DNLD_DATA_SENT and
was never cleared back.

Now I put the special knowledge that the CMD_802_11_PS_MODE with
CMD_SUBCMD_SLEEP_CONFIRMED doesn't need to need a response by directly
clearing the dnld_sent state in lbs_send_confirmsleep().

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/main.c