diff options
author | Andrey Borzenkov <arvidjaar@mail.ru> | 2008-10-19 12:06:11 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-10-31 19:02:34 -0400 |
commit | 4fb30784c720b863203957f76e3fde0d53932746 (patch) | |
tree | 9fe63bca9701dcc2a5ee6e6d492e022cbadfb6e5 /drivers/net/wireless/orinoco.h | |
parent | 0df6cbb7d8a0a8fea69138e9e463671a8ad99f16 (diff) | |
download | linux-stable-4fb30784c720b863203957f76e3fde0d53932746.tar.gz linux-stable-4fb30784c720b863203957f76e3fde0d53932746.tar.bz2 linux-stable-4fb30784c720b863203957f76e3fde0d53932746.zip |
orinoco: cache downloadable firmware image in memory for use during resume
If card is using downloadable firmware (like Agere 9.x), firmware has
to be reloaded during resume. It is not possible to use request_firmware
for that, because tasks are still frozen, so request_firmware will
just timeout and fail. So cache firmware image in memory for later
reuse in ->resume method.
Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/orinoco.h')
-rw-r--r-- | drivers/net/wireless/orinoco.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h index 981570bd3b9d..8c2953834923 100644 --- a/drivers/net/wireless/orinoco.h +++ b/drivers/net/wireless/orinoco.h @@ -66,6 +66,8 @@ struct orinoco_rx_data { struct list_head list; }; +struct firmware; + struct orinoco_private { void *card; /* Pointer to card dependent structure */ struct device *dev; @@ -164,6 +166,9 @@ struct orinoco_private { unsigned int wpa_enabled:1; unsigned int tkip_cm_active:1; unsigned int key_mgmt:3; + + /* Cached in memory firmware to use in ->resume */ + const struct firmware *cached_fw; }; #ifdef ORINOCO_DEBUG |