aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco.h
diff options
context:
space:
mode:
authorAndrey Borzenkov <arvidjaar@mail.ru>2008-10-19 04:06:11 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:02:34 -0400
commit4fb30784c720b863203957f76e3fde0d53932746 (patch)
tree9fe63bca9701dcc2a5ee6e6d492e022cbadfb6e5 /drivers/net/wireless/orinoco.h
parent0df6cbb7d8a0a8fea69138e9e463671a8ad99f16 (diff)
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.h5
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 {
66 struct list_head list; 66 struct list_head list;
67}; 67};
68 68
69struct firmware;
70
69struct orinoco_private { 71struct orinoco_private {
70 void *card; /* Pointer to card dependent structure */ 72 void *card; /* Pointer to card dependent structure */
71 struct device *dev; 73 struct device *dev;
@@ -164,6 +166,9 @@ struct orinoco_private {
164 unsigned int wpa_enabled:1; 166 unsigned int wpa_enabled:1;
165 unsigned int tkip_cm_active:1; 167 unsigned int tkip_cm_active:1;
166 unsigned int key_mgmt:3; 168 unsigned int key_mgmt:3;
169
170 /* Cached in memory firmware to use in ->resume */
171 const struct firmware *cached_fw;
167}; 172};
168 173
169#ifdef ORINOCO_DEBUG 174#ifdef ORINOCO_DEBUG