diff options
author | Zhu Yi <yi.zhu@intel.com> | 2006-08-20 23:38:28 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-08-29 17:06:33 -0400 |
commit | b9bec768c321e51a8da00d56230bc795464992b2 (patch) | |
tree | 563e306ba574d80a8ffc2515937dde3ff0971c50 /drivers/net/wireless/ipw2200.h | |
parent | d5f7ac203924a51d0e678338a11be42135fa7996 (diff) |
[PATCH] ipw2200: Fix kernel Oops if cmdlog debug is enabled
When command error log debug is enabled, we write every host command and
parameters into a buffer. But we didn't alloc the parameter buffer for this
case. The patch adds struct cmdlog_host_cmd so that the buffer is allocated
from the stack.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r-- | drivers/net/wireless/ipw2200.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h index 32b4ef883aa1..a1df67f3ede8 100644 --- a/drivers/net/wireless/ipw2200.h +++ b/drivers/net/wireless/ipw2200.h | |||
@@ -1950,10 +1950,17 @@ struct host_cmd { | |||
1950 | u32 *param; | 1950 | u32 *param; |
1951 | } __attribute__ ((packed)); | 1951 | } __attribute__ ((packed)); |
1952 | 1952 | ||
1953 | struct cmdlog_host_cmd { | ||
1954 | u8 cmd; | ||
1955 | u8 len; | ||
1956 | u16 reserved; | ||
1957 | char param[124]; | ||
1958 | } __attribute__ ((packed)); | ||
1959 | |||
1953 | struct ipw_cmd_log { | 1960 | struct ipw_cmd_log { |
1954 | unsigned long jiffies; | 1961 | unsigned long jiffies; |
1955 | int retcode; | 1962 | int retcode; |
1956 | struct host_cmd cmd; | 1963 | struct cmdlog_host_cmd cmd; |
1957 | }; | 1964 | }; |
1958 | 1965 | ||
1959 | /* SysConfig command parameters ... */ | 1966 | /* SysConfig command parameters ... */ |