aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
diff options
context:
space:
mode:
authorFrank Seidel <frank@f-seidel.de>2009-03-01 14:25:38 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-03-05 14:39:37 -0500
commita412c8040d83366dcc24962207b8beed52f29344 (patch)
treef5a3c04cc85662f01ec32790df3c6dbc6f0f18b0 /drivers/net/wireless/iwlwifi/iwl-3945-rs.c
parent64abd80330baba9d87df2b952a7eec5af5158470 (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.c11
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,
846 char __user *user_buf, 846 char __user *user_buf,
847 size_t count, loff_t *ppos) 847 size_t count, loff_t *ppos)
848{ 848{
849 char buff[1024]; 849 char *buff;
850 int desc = 0; 850 int desc = 0;
851 int j; 851 int j;
852 ssize_t ret;
852 struct iwl3945_rs_sta *lq_sta = file->private_data; 853 struct iwl3945_rs_sta *lq_sta = file->private_data;
853 854
855 buff = kmalloc(1024, GFP_KERNEL);
856 if (!buff)
857 return -ENOMEM;
858
854 desc += sprintf(buff + desc, "tx packets=%d last rate index=%d\n" 859 desc += sprintf(buff + desc, "tx packets=%d last rate index=%d\n"
855 "rate=0x%X flush time %d\n", 860 "rate=0x%X flush time %d\n",
856 lq_sta->tx_packets, 861 lq_sta->tx_packets,
@@ -863,7 +868,9 @@ static ssize_t iwl3945_sta_dbgfs_stats_table_read(struct file *file,
863 lq_sta->win[j].success_counter, 868 lq_sta->win[j].success_counter,
864 lq_sta->win[j].success_ratio); 869 lq_sta->win[j].success_ratio);
865 } 870 }
866 return simple_read_from_buffer(user_buf, count, ppos, buff, desc); 871 ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
872 kfree(buff);
873 return ret;
867} 874}
868 875
869static const struct file_operations rs_sta_dbgfs_stats_table_ops = { 876static const struct file_operations rs_sta_dbgfs_stats_table_ops = {