提交 998a5a7d 编写于 作者: F Frank Seidel 提交者: John W. Linville

airo: reduce stack memory footprint

Applying kernel janitors todos (reduce stack
footprint where possible) to airo wireless driver.
(Before 1124 bytes on i386, now 876)
Signed-off-by: NFrank Seidel <frank@f-seidel.de>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 b837e606
...@@ -7148,11 +7148,15 @@ static int airo_get_aplist(struct net_device *dev, ...@@ -7148,11 +7148,15 @@ static int airo_get_aplist(struct net_device *dev,
{ {
struct airo_info *local = dev->ml_priv; struct airo_info *local = dev->ml_priv;
struct sockaddr *address = (struct sockaddr *) extra; struct sockaddr *address = (struct sockaddr *) extra;
struct iw_quality qual[IW_MAX_AP]; struct iw_quality *qual;
BSSListRid BSSList; BSSListRid BSSList;
int i; int i;
int loseSync = capable(CAP_NET_ADMIN) ? 1: -1; int loseSync = capable(CAP_NET_ADMIN) ? 1: -1;
qual = kmalloc(IW_MAX_AP * sizeof(*qual), GFP_KERNEL);
if (!qual)
return -ENOMEM;
for (i = 0; i < IW_MAX_AP; i++) { for (i = 0; i < IW_MAX_AP; i++) {
u16 dBm; u16 dBm;
if (readBSSListRid(local, loseSync, &BSSList)) if (readBSSListRid(local, loseSync, &BSSList))
...@@ -7207,6 +7211,7 @@ static int airo_get_aplist(struct net_device *dev, ...@@ -7207,6 +7211,7 @@ static int airo_get_aplist(struct net_device *dev,
} }
dwrq->length = i; dwrq->length = i;
kfree(qual);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册