--- /home/csm/pbuf.c Sun Feb 26 14:57:46 2006 +++ /home/csm/pbuf-new.c Sun Feb 26 15:09:27 2006 @@ -73,7 +73,9 @@ #include "lwip/sys.h" #include "arch/perf.h" -static u8_t pbuf_pool_memory[(PBUF_POOL_SIZE * MEM_ALIGN_SIZE(PBUF_POOL_BUFSIZE + sizeof(struct pbuf)))]; +static u8_t pbuf_pool_memory[MEM_ALIGNMENT - 1 + + PBUF_POOL_SIZE * MEM_ALIGN_SIZE(PBUF_POOL_BUFSIZE + + sizeof(struct pbuf))]; #if !SYS_LIGHTWEIGHT_PROT static volatile u8_t pbuf_pool_free_lock, pbuf_pool_alloc_lock; @@ -100,8 +102,7 @@ struct pbuf *p, *q = NULL; u16_t i; - pbuf_pool = (struct pbuf *)&pbuf_pool_memory[0]; - LWIP_ASSERT("pbuf_init: pool aligned", (mem_ptr_t)pbuf_pool % MEM_ALIGNMENT == 0); + pbuf_pool = (struct pbuf *)MEM_ALIGN(pbuf_pool_memory); #if PBUF_STATS lwip_stats.pbuf.avail = PBUF_POOL_SIZE;