* [PATCH 1/2] staging:ft1000: Check return value when init net device.
@ 2010-10-15 6:57 Marek Belisko
2010-10-15 6:57 ` [PATCH 2/2] staging:ft1000: Use specific return error codes Marek Belisko
0 siblings, 1 reply; 2+ messages in thread
From: Marek Belisko @ 2010-10-15 6:57 UTC (permalink / raw)
To: Greg Kroah-Hartman, Marek Belisko, devel, linux-kernel; +Cc: Marek Belisko
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
---
drivers/staging/ft1000/ft1000-usb/ft1000_usb.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
index 44c475b..a2c415e 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
@@ -159,7 +159,11 @@ static int ft1000_probe(struct usb_interface *interface,
release_firmware(dsp_fw);
DEBUG("ft1000_probe: start downloading dsp image...\n");
- init_ft1000_netdev(ft1000dev);
+
+ ret = init_ft1000_netdev(ft1000dev);
+ if (ret)
+ goto err_load;
+
pft1000info = (FT1000_INFO *) netdev_priv(ft1000dev->net);
DEBUG("In probe: pft1000info=%p\n", pft1000info);
--
1.7.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 2/2] staging:ft1000: Use specific return error codes.
2010-10-15 6:57 [PATCH 1/2] staging:ft1000: Check return value when init net device Marek Belisko
@ 2010-10-15 6:57 ` Marek Belisko
0 siblings, 0 replies; 2+ messages in thread
From: Marek Belisko @ 2010-10-15 6:57 UTC (permalink / raw)
To: Greg Kroah-Hartman, Marek Belisko, devel, linux-kernel; +Cc: Marek Belisko
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
---
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-10-15 8:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-15 6:57 [PATCH 1/2] staging:ft1000: Check return value when init net device Marek Belisko
2010-10-15 6:57 ` [PATCH 2/2] staging:ft1000: Use specific return error codes Marek Belisko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®