Messages in this thread | | | Date | Mon, 26 Mar 2007 15:43:57 -0300 | From | "Luiz Fernando N. Capitulino" <> | Subject | Re: [PATCH] USB Elan FTDI: check for driver registration status |
| |
Hi Cyrill,
Em Sun, 25 Mar 2007 11:27:33 +0400 Cyrill Gorcunov <gorcunov@gmail.com> escreveu:
| This patch adds checking of driver registration status | and if it fails release allocated resources. | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> | | --- | | Pete, please review the patch and Ack it then. | | drivers/usb/misc/ftdi-elan.c | 37 +++++++++++++++++++++++-------------- | 1 files changed, 23 insertions(+), 14 deletions(-) | | diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c | index bc3327e..3cd9ae3 100644 | --- a/drivers/usb/misc/ftdi-elan.c | +++ b/drivers/usb/misc/ftdi-elan.c | @@ -2909,27 +2909,36 @@ static int __init ftdi_elan_init(void) | init_MUTEX(&ftdi_module_lock); | INIT_LIST_HEAD(&ftdi_static_list); | status_queue = create_singlethread_workqueue("ftdi-status-control"); | - if (!status_queue) | - goto err1; | command_queue = create_singlethread_workqueue("ftdi-command-engine"); | - if (!command_queue) | - goto err2; | respond_queue = create_singlethread_workqueue("ftdi-respond-engine"); | - if (!respond_queue) | - goto err3; | + if (!status_queue || !command_queue || !respond_queue) { | + printk(KERN_ERR "%s couldn't create workqueue\n", | + ftdi_elan_driver.name); | + result = -ENOMEM; | + goto err; | + }
The current version looks ok to me, why are you changing it?
It's also smater, ie, if the first workqueue creation fails, it won't try to create the others.
| result = usb_register(&ftdi_elan_driver); | - if (result) | + if (result) { | printk(KERN_ERR "usb_register failed. Error number %d\n", | result); | + goto err; | + } | return result;
This could be:
""" if (result) { printk(KERN_ERR "usb_register failed. Error number %d\n", result); destroy_workqueue(respond_queue); goto err3; } """
And you can change 'err1' to return 'result'.
-- Luiz Fernando N. Capitulino - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |