Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Frank Seidel <frank@f-seidel.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Frank Seidel and committed by
John W. Linville
998a5a7d b837e606

+6 -1
+6 -1
drivers/net/wireless/airo.c
··· 7148 7148 { 7149 7149 struct airo_info *local = dev->ml_priv; 7150 7150 struct sockaddr *address = (struct sockaddr *) extra; 7151 - struct iw_quality qual[IW_MAX_AP]; 7151 + struct iw_quality *qual; 7152 7152 BSSListRid BSSList; 7153 7153 int i; 7154 7154 int loseSync = capable(CAP_NET_ADMIN) ? 1: -1; 7155 + 7156 + qual = kmalloc(IW_MAX_AP * sizeof(*qual), GFP_KERNEL); 7157 + if (!qual) 7158 + return -ENOMEM; 7155 7159 7156 7160 for (i = 0; i < IW_MAX_AP; i++) { 7157 7161 u16 dBm; ··· 7211 7207 } 7212 7208 dwrq->length = i; 7213 7209 7210 + kfree(qual); 7214 7211 return 0; 7215 7212 } 7216 7213