netdev
[Top] [All Lists]

[patch] handle kmalloc fails: tokenring/3c359

To: kj <kernel-janitors@xxxxxxxx>
Subject: [patch] handle kmalloc fails: tokenring/3c359
From: maximilian attems <janitor@xxxxxxxxxxxxxx>
Date: Tue, 23 Dec 2003 11:57:57 +0100
Cc: netdev@xxxxxxxxxxx
Mail-followup-to: kj <kernel-janitors@xxxxxxxx>, netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.4i
while looking at kj mails from 200212 and 200301
this patch slept through
originally from: Pablo Menichini <pablo@xxxxxxxxxxxxxxxx>
rediffed and compile tested
patch applies on plain 2.6.0

a++
max


--- a/drivers/net/tokenring/3c359.c     2003-10-08 21:24:51.000000000 +0200
+++ b/drivers/net/tokenring/3c359.c     2003-12-23 10:18:27.000000000 +0100
@@ -642,7 +642,20 @@
         */
        /* These MUST be on 8 byte boundaries */
        xl_priv->xl_tx_ring = kmalloc((sizeof(struct xl_tx_desc) * 
XL_TX_RING_SIZE) + 7, GFP_DMA | GFP_KERNEL) ; 
+       if (xl_priv->xl_tx_ring == NULL) {
+               printk(KERN_WARNING "%s: Not enough memory to allocate rx 
buffers.\n",
+                                    dev->name);
+               free_irq(dev->irq,dev);
+               return -ENOMEM;
+       }
        xl_priv->xl_rx_ring = kmalloc((sizeof(struct xl_rx_desc) * 
XL_RX_RING_SIZE) +7, GFP_DMA | GFP_KERNEL) ; 
+       if (xl_priv->xl_tx_ring == NULL) {
+               printk(KERN_WARNING "%s: Not enough memory to allocate rx 
buffers.\n",
+                                    dev->name);
+               free_irq(dev->irq,dev);
+               kfree(xl_priv->xl_tx_ring);
+               return -ENOMEM;
+       }
        memset(xl_priv->xl_tx_ring,0,sizeof(struct xl_tx_desc) * 
XL_TX_RING_SIZE) ; 
        memset(xl_priv->xl_rx_ring,0,sizeof(struct xl_rx_desc) * 
XL_RX_RING_SIZE) ; 
 

Attachment: pgpLecW1WQwZt.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>
  • [patch] handle kmalloc fails: tokenring/3c359, maximilian attems <=