sfc: Added checks for heap allocation failure
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 16 May 2008 20:20:20 +0000 (21:20 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 22 May 2008 09:59:34 +0000 (05:59 -0400)
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/sfc/selftest.c
drivers/net/sfc/tenxpress.c
drivers/net/sfc/xfp_phy.c

index c98f350..3b2de9f 100644 (file)
@@ -517,6 +517,8 @@ efx_test_loopback(struct efx_tx_queue *tx_queue,
                state->packet_count = min(1 << (i << 2), state->packet_count);
                state->skbs = kzalloc(sizeof(state->skbs[0]) *
                                      state->packet_count, GFP_KERNEL);
+               if (!state->skbs)
+                       return -ENOMEM;
                state->flush = 0;
 
                EFX_LOG(efx, "TX queue %d testing %s loopback with %d "
index 38e96ed..c014606 100644 (file)
@@ -211,6 +211,8 @@ static int tenxpress_phy_init(struct efx_nic *efx)
        int rc = 0;
 
        phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL);
+       if (!phy_data)
+               return -ENOMEM;
        efx->phy_data = phy_data;
 
        tenxpress_set_state(efx, TENXPRESS_STATUS_NORMAL);
index cf75fab..f3684ad 100644 (file)
@@ -85,6 +85,8 @@ static int xfp_phy_init(struct efx_nic *efx)
        int rc;
 
        phy_data = kzalloc(sizeof(struct xfp_phy_data), GFP_KERNEL);
+       if (!phy_data)
+               return -ENOMEM;
        efx->phy_data = phy_data;
 
        EFX_INFO(efx, "XFP: PHY ID reg %x (OUI %x model %x revision"