summaryrefslogtreecommitdiffstats
path: root/net/net.c
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2011-01-06 16:23:01 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-01-07 10:21:22 +0100
commitc5baa0edc4a70c2f44cb7422e2b47ab5c96570ed (patch)
treed45c280198754e96276f6a633a206233504790b3 /net/net.c
parentc99d28ca568a6e0d713c42bfbb9cd5310588d857 (diff)
downloadbarebox-c5baa0edc4a70c2f44cb7422e2b47ab5c96570ed.tar.gz
barebox-c5baa0edc4a70c2f44cb7422e2b47ab5c96570ed.tar.xz
Fix error handling with malloc, memalign etc. Introduce xmemalign().
The idea is to panic() when there is no memory available for normal operation. Exception: code which can consume arbitrary amount of RAM (example: files allocated in ramfs) must report error instead of panic(). This patch also fixes code which didn't check for NULL from malloc() etc. Usage: malloc(), memalign() return NULL when out of RAM. xmalloc(), xmemalign() always return non-NULL or panic(). Signed-off-by: Krzysztof HaƂasa <khc@pm.waw.pl> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/net.c b/net/net.c
index 9b4ab8904c..7495357141 100644
--- a/net/net.c
+++ b/net/net.c
@@ -365,7 +365,7 @@ static struct net_connection *net_new(IPaddr_t dest, rx_handler_f *handler)
return ERR_PTR(-ENETDOWN);
con = xzalloc(sizeof(*con));
- con->packet = memalign(32, PKTSIZE);
+ con->packet = xmemalign(32, PKTSIZE);
memset(con->packet, 0, PKTSIZE);
con->et = (struct ethernet *)con->packet;
@@ -658,7 +658,7 @@ static int net_init(void)
int i;
for (i = 0; i < PKTBUFSRX; i++)
- NetRxPackets[i] = memalign(32, PKTSIZE);
+ NetRxPackets[i] = xmemalign(32, PKTSIZE);
return 0;
}