Signed-off-by: Marek Belisko <marek.belisko@xxxxxxxxx> --- drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 30 ++++++++++++++---------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c index 8498538..a218455 100644 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c @@ -961,7 +961,7 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) if (!netdev ) { DEBUG("init_ft1000_netdev: can not allocate network device\n"); - return STATUS_FAILURE; + return -ENOMEM; } //pInfo = (PFT1000_INFO)netdev->priv; @@ -984,8 +984,7 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) ret_val = strict_strtoul(card_nr, 10, &gCardIndex); if (ret_val) { printk(KERN_ERR "Can't parse netdev\n"); - free_netdev(netdev); - return STATUS_FAILURE; + goto err_net; } pInfo->CardNumber = gCardIndex; @@ -993,8 +992,8 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) } else { printk(KERN_ERR "ft1000: Invalid device name\n"); - free_netdev(netdev); - return STATUS_FAILURE; + ret_val = -ENXIO; + goto err_net; } } else @@ -1065,21 +1064,24 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev) for (i=0; i<NUM_OF_FREE_BUFFERS; i++) { // Get memory for DPRAM_DATA link list pdpram_blk = kmalloc ( sizeof(DPRAM_BLK), GFP_KERNEL ); - if (pdpram_blk == NULL) - goto err_free; + if (pdpram_blk == NULL) { + ret_val = -ENOMEM; + goto err_free; + } // Get a block of memory to store command data pdpram_blk->pbuffer = kmalloc ( MAX_CMD_SQSIZE, GFP_KERNEL ); - if (pdpram_blk->pbuffer == NULL) { - kfree(pdpram_blk); - goto err_free; - } + if (pdpram_blk->pbuffer == NULL) { + ret_val = -ENOMEM; + kfree(pdpram_blk); + goto err_free; + } // link provisioning data list_add_tail (&pdpram_blk->list, &freercvpool); } numofmsgbuf = NUM_OF_FREE_BUFFERS; - return STATUS_SUCCESS; + return 0; err_free: @@ -1089,7 +1091,9 @@ err_free: kfree(pdpram_blk->pbuffer); kfree(pdpram_blk); } - return STATUS_FAILURE; +err_net: + free_netdev(netdev); + return ret_val; } -- 1.7.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel