diff options
author | Frank Seidel <frank@f-seidel.de> | 2009-03-01 20:25:38 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:37 -0500 |
commit | a412c8040d83366dcc24962207b8beed52f29344 (patch) | |
tree | f5a3c04cc85662f01ec32790df3c6dbc6f0f18b0 /drivers/net/wireless/iwlwifi/iwl-3945-rs.c | |
parent | 64abd80330baba9d87df2b952a7eec5af5158470 (diff) |
iwlwifi: reduce stack size
Reduce stack memory footprint of iwlwifi.
(From >1000 bytes for each *_table_read
on i386 down to 32)
Signed-off-by: Frank Seidel <frank@f-seidel.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945-rs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945-rs.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-rs.c b/drivers/net/wireless/iwlwifi/iwl-3945-rs.c index 7db8198c6253..a2664589c884 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945-rs.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945-rs.c @@ -846,11 +846,16 @@ static ssize_t iwl3945_sta_dbgfs_stats_table_read(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) { - char buff[1024]; + char *buff; int desc = 0; int j; + ssize_t ret; struct iwl3945_rs_sta *lq_sta = file->private_data; + buff = kmalloc(1024, GFP_KERNEL); + if (!buff) + return -ENOMEM; + desc += sprintf(buff + desc, "tx packets=%d last rate index=%d\n" "rate=0x%X flush time %d\n", lq_sta->tx_packets, @@ -863,7 +868,9 @@ static ssize_t iwl3945_sta_dbgfs_stats_table_read(struct file *file, lq_sta->win[j].success_counter, lq_sta->win[j].success_ratio); } - return simple_read_from_buffer(user_buf, count, ppos, buff, desc); + ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc); + kfree(buff); + return ret; } static const struct file_operations rs_sta_dbgfs_stats_table_ops = { |