aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.h
diff options
context:
space:
mode:
authorJames Ketrenos <jketreno@linux.intel.com>2005-08-12 10:36:32 -0400
committerJames Ketrenos <jketreno@linux.intel.com>2005-11-07 18:50:55 -0500
commitb39860c60b135ef16c1c16a3e2a757ff8070c5ad (patch)
treedde06d69fb792a0993e3a756d35a0cc9509388cf /drivers/net/wireless/ipw2200.h
parente666619e232308c8ee2aba6b87f28ad26b38d905 (diff)
Switched firmware error dumping so that it will capture a log available
via sysfs even if debugging disabled. When a firmware error is captured, it will be dumped to the kernel log (if debug enabled) and captured in memory to be retrieved via sysfs. If an error has already been captured, subsequent errors will be dropped. The existing error can be cleared by writing to the error log entry. Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r--drivers/net/wireless/ipw2200.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h
index 9bf8aa427d8c..9bf03ac55390 100644
--- a/drivers/net/wireless/ipw2200.h
+++ b/drivers/net/wireless/ipw2200.h
@@ -1085,6 +1085,32 @@ struct ipw_ibss_seq {
1085 struct list_head list; 1085 struct list_head list;
1086}; 1086};
1087 1087
1088struct ipw_error_elem {
1089 u32 desc;
1090 u32 time;
1091 u32 blink1;
1092 u32 blink2;
1093 u32 link1;
1094 u32 link2;
1095 u32 data;
1096};
1097
1098struct ipw_event {
1099 u32 event;
1100 u32 time;
1101 u32 data;
1102} __attribute__ ((packed));
1103
1104struct ipw_fw_error {
1105 u32 status;
1106 u32 config;
1107 u32 elem_len;
1108 u32 log_len;
1109 struct ipw_error_elem *elem;
1110 struct ipw_event *log;
1111 u8 payload[0];
1112} __attribute__ ((packed));
1113
1088struct ipw_priv { 1114struct ipw_priv {
1089 /* ieee device used by generic ieee processing code */ 1115 /* ieee device used by generic ieee processing code */
1090 struct ieee80211_device *ieee; 1116 struct ieee80211_device *ieee;
@@ -1245,6 +1271,8 @@ struct ipw_priv {
1245 u32 pm_state[16]; 1271 u32 pm_state[16];
1246#endif 1272#endif
1247 1273
1274 struct ipw_fw_error *error;
1275
1248 /* network state */ 1276 /* network state */
1249 1277
1250 /* Used to pass the current INTA value from ISR to Tasklet */ 1278 /* Used to pass the current INTA value from ISR to Tasklet */
@@ -1803,7 +1831,7 @@ enum {
1803 IPW_ORD_TABLE_7_LAST 1831 IPW_ORD_TABLE_7_LAST
1804}; 1832};
1805 1833
1806#define IPWSTATUS_ERROR_LOG (IPW_SHARED_LOWER_BOUND + 0x410) 1834#define IPW_ERROR_LOG (IPW_SHARED_LOWER_BOUND + 0x410)
1807#define IPW_EVENT_LOG (IPW_SHARED_LOWER_BOUND + 0x414) 1835#define IPW_EVENT_LOG (IPW_SHARED_LOWER_BOUND + 0x414)
1808#define IPW_ORDINALS_TABLE_LOWER (IPW_SHARED_LOWER_BOUND + 0x500) 1836#define IPW_ORDINALS_TABLE_LOWER (IPW_SHARED_LOWER_BOUND + 0x500)
1809#define IPW_ORDINALS_TABLE_0 (IPW_SHARED_LOWER_BOUND + 0x180) 1837#define IPW_ORDINALS_TABLE_0 (IPW_SHARED_LOWER_BOUND + 0x180)