aboutsummaryrefslogtreecommitdiff
path: root/drivers/ar6000/ar6000/ar6000_drv.h
diff options
context:
space:
mode:
authormerge <null@invalid>2008-11-26 21:18:18 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-26 21:18:18 +0000
commite21ce7019cc3b9495be8678ef2c41569cc03021e (patch)
tree34311d5cda8c87664ca3e368c8c82a9640d14dca /drivers/ar6000/ar6000/ar6000_drv.h
parentbcc54765697f64a6270e5e2373d41153e5f1871a (diff)
MERGE-via-balaji-tracking-hist-MERGE-via-stable-tracking-hist-ar6k-break-down-insane-allocat
balaji-tracking-hist top was MERGE-via-stable-tracking-hist-ar6k-break-down-insane-allocat / 6a9c6db399ca60d371ec6b42986608e8bc4a636f ... parent commitmessage: From: merge <null@invalid> MERGE-via-stable-tracking-hist-ar6k-break-down-insane-allocat stable-tracking-hist top was ar6k-break-down-insane-allocat / ac6b4c5fae9b497401eeb3e47cc21932839c18a2 ... parent commitmessage: From: Werner Almesberger <werner@openmoko.org> ar6k-break-down-insane-allocation.patch The Atheros WLAN stack kmallocs almost 64kB of contiguous kernel memory for a structure containing almost entirely buffers. As is commonly known , this kind of large allocation has a very high risk of failing as kernel memory fragments during the life of a system. This patch allocates the buffers indiviudually, thus shrinking the structure to a size below 4kB. Note: this is untested. These buffers are only used with Atheros' raw interface, which none of the code we have, including wmiconfig, even seems to know about. This may fix bug #2133. Code follows Atheros' style, so checkpatch hates it. Signed-off-by: Werner Almesberger <werner@openmoko.org>
Diffstat (limited to 'drivers/ar6000/ar6000/ar6000_drv.h')
-rw-r--r--drivers/ar6000/ar6000/ar6000_drv.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ar6000/ar6000/ar6000_drv.h b/drivers/ar6000/ar6000/ar6000_drv.h
index 9e8ce0216a4..d5ff7774885 100644
--- a/drivers/ar6000/ar6000/ar6000_drv.h
+++ b/drivers/ar6000/ar6000/ar6000_drv.h
@@ -268,8 +268,8 @@ typedef struct ar6_softc {
struct semaphore raw_htc_write_sem[HTC_RAW_STREAM_NUM_MAX];
wait_queue_head_t raw_htc_read_queue[HTC_RAW_STREAM_NUM_MAX];
wait_queue_head_t raw_htc_write_queue[HTC_RAW_STREAM_NUM_MAX];
- raw_htc_buffer raw_htc_read_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_READ_BUFFERS_NUM];
- raw_htc_buffer raw_htc_write_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_WRITE_BUFFERS_NUM];
+ raw_htc_buffer *raw_htc_read_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_READ_BUFFERS_NUM];
+ raw_htc_buffer *raw_htc_write_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_WRITE_BUFFERS_NUM];
A_BOOL write_buffer_available[HTC_RAW_STREAM_NUM_MAX];
A_BOOL read_buffer_available[HTC_RAW_STREAM_NUM_MAX];
#endif