diff mbox

[v2,1/2] staging: wilc1000: fix error handling in wilc_debugfs_init()

Message ID 1466685378-15597-1-git-send-email-luisbg@osg.samsung.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

Luis de Bethencourt June 23, 2016, 12:36 p.m. UTC
The common format to check if a function returned an error pointer is to
use PTR_ERR(). Instead of ERR_PTR() which is used to return said errors.

Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
---
 drivers/staging/wilc1000/wilc_debugfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg KH June 25, 2016, 9:36 p.m. UTC | #1
On Thu, Jun 23, 2016 at 01:36:17PM +0100, Luis de Bethencourt wrote:
> The common format to check if a function returned an error pointer is to
> use PTR_ERR(). Instead of ERR_PTR() which is used to return said errors.
> 
> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
> Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
> ---
>  drivers/staging/wilc1000/wilc_debugfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
> index fcbc95d..48797dc 100644
> --- a/drivers/staging/wilc1000/wilc_debugfs.c
> +++ b/drivers/staging/wilc1000/wilc_debugfs.c
> @@ -107,7 +107,7 @@ static int __init wilc_debugfs_init(void)
>  	struct wilc_debugfs_info_t *info;
>  
>  	wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
> -	if (wilc_dir ==  ERR_PTR(-ENODEV)) {
> +	if (PTR_ERR(wilc_dir) == -ENODEV) {
>  		/* it's not error. the debugfs is just not being enabled. */
>  		printk("ERR, kernel has built without debugfs support\n");
>  		return 0;

No, the best way to do this is to just ignore the return value, you
don't care about it.  It can be passed back into any debugfs calls just
fine.

So don't check the value and all is good, debugfs was written in a way
to make it _easy_ to use, no need for fancy error checking at all with
it.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Luis de Bethencourt June 25, 2016, 9:43 p.m. UTC | #2
On 25/06/16 22:36, Greg KH wrote:
> On Thu, Jun 23, 2016 at 01:36:17PM +0100, Luis de Bethencourt wrote:
>> The common format to check if a function returned an error pointer is to
>> use PTR_ERR(). Instead of ERR_PTR() which is used to return said errors.
>>
>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
>> Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
>> ---
>>  drivers/staging/wilc1000/wilc_debugfs.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
>> index fcbc95d..48797dc 100644
>> --- a/drivers/staging/wilc1000/wilc_debugfs.c
>> +++ b/drivers/staging/wilc1000/wilc_debugfs.c
>> @@ -107,7 +107,7 @@ static int __init wilc_debugfs_init(void)
>>  	struct wilc_debugfs_info_t *info;
>>  
>>  	wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
>> -	if (wilc_dir ==  ERR_PTR(-ENODEV)) {
>> +	if (PTR_ERR(wilc_dir) == -ENODEV) {
>>  		/* it's not error. the debugfs is just not being enabled. */
>>  		printk("ERR, kernel has built without debugfs support\n");
>>  		return 0;
> 
> No, the best way to do this is to just ignore the return value, you
> don't care about it.  It can be passed back into any debugfs calls just
> fine.
> 
> So don't check the value and all is good, debugfs was written in a way
> to make it _easy_ to use, no need for fancy error checking at all with
> it.
> 
> thanks,
> 
> greg k-h
> 

Thanks for the review Greg.

Just to make sure. You are proposing I just drop the 3 if checks? [0]

If that's what you mean I will send a patch as soon as you confirm :)

Happy hacking,
Luis



[0] Making the function look like this:
static int __init wilc_debugfs_init(void)
{
        int i;

        struct dentry *debugfs_files;
        struct wilc_debugfs_info_t *info;

        wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
        for (i = 0; i < ARRAY_SIZE(debugfs_info); i++) {
                info = &debugfs_info[i];
                debugfs_files = debugfs_create_file(info->name,
                                                    info->perm,
                                                    wilc_dir,
                                                    &info->data,
                                                    &info->fops);
        }
        return 0;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg KH June 25, 2016, 10:16 p.m. UTC | #3
On Sat, Jun 25, 2016 at 10:43:33PM +0100, Luis de Bethencourt wrote:
> On 25/06/16 22:36, Greg KH wrote:
> > On Thu, Jun 23, 2016 at 01:36:17PM +0100, Luis de Bethencourt wrote:
> >> The common format to check if a function returned an error pointer is to
> >> use PTR_ERR(). Instead of ERR_PTR() which is used to return said errors.
> >>
> >> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
> >> Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
> >> ---
> >>  drivers/staging/wilc1000/wilc_debugfs.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
> >> index fcbc95d..48797dc 100644
> >> --- a/drivers/staging/wilc1000/wilc_debugfs.c
> >> +++ b/drivers/staging/wilc1000/wilc_debugfs.c
> >> @@ -107,7 +107,7 @@ static int __init wilc_debugfs_init(void)
> >>  	struct wilc_debugfs_info_t *info;
> >>  
> >>  	wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
> >> -	if (wilc_dir ==  ERR_PTR(-ENODEV)) {
> >> +	if (PTR_ERR(wilc_dir) == -ENODEV) {
> >>  		/* it's not error. the debugfs is just not being enabled. */
> >>  		printk("ERR, kernel has built without debugfs support\n");
> >>  		return 0;
> > 
> > No, the best way to do this is to just ignore the return value, you
> > don't care about it.  It can be passed back into any debugfs calls just
> > fine.
> > 
> > So don't check the value and all is good, debugfs was written in a way
> > to make it _easy_ to use, no need for fancy error checking at all with
> > it.
> > 
> > thanks,
> > 
> > greg k-h
> > 
> 
> Thanks for the review Greg.
> 
> Just to make sure. You are proposing I just drop the 3 if checks? [0]
> 
> If that's what you mean I will send a patch as soon as you confirm :)
> 
> Happy hacking,
> Luis
> 
> 
> 
> [0] Making the function look like this:
> static int __init wilc_debugfs_init(void)
> {
>         int i;
> 
>         struct dentry *debugfs_files;
>         struct wilc_debugfs_info_t *info;
> 
>         wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
>         for (i = 0; i < ARRAY_SIZE(debugfs_info); i++) {
>                 info = &debugfs_info[i];
>                 debugfs_files = debugfs_create_file(info->name,
>                                                     info->perm,
>                                                     wilc_dir,
>                                                     &info->data,
>                                                     &info->fops);

Why even assign anything to debugfs_files?
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Luis de Bethencourt June 27, 2016, 1:02 p.m. UTC | #4
On 25/06/16 23:16, Greg KH wrote:
> On Sat, Jun 25, 2016 at 10:43:33PM +0100, Luis de Bethencourt wrote:
>> On 25/06/16 22:36, Greg KH wrote:
>>> On Thu, Jun 23, 2016 at 01:36:17PM +0100, Luis de Bethencourt wrote:
>>>> The common format to check if a function returned an error pointer is to
>>>> use PTR_ERR(). Instead of ERR_PTR() which is used to return said errors.
>>>>
>>>> Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
>>>> Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
>>>> ---
>>>>  drivers/staging/wilc1000/wilc_debugfs.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
>>>> index fcbc95d..48797dc 100644
>>>> --- a/drivers/staging/wilc1000/wilc_debugfs.c
>>>> +++ b/drivers/staging/wilc1000/wilc_debugfs.c
>>>> @@ -107,7 +107,7 @@ static int __init wilc_debugfs_init(void)
>>>>  	struct wilc_debugfs_info_t *info;
>>>>  
>>>>  	wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
>>>> -	if (wilc_dir ==  ERR_PTR(-ENODEV)) {
>>>> +	if (PTR_ERR(wilc_dir) == -ENODEV) {
>>>>  		/* it's not error. the debugfs is just not being enabled. */
>>>>  		printk("ERR, kernel has built without debugfs support\n");
>>>>  		return 0;
>>>
>>> No, the best way to do this is to just ignore the return value, you
>>> don't care about it.  It can be passed back into any debugfs calls just
>>> fine.
>>>
>>> So don't check the value and all is good, debugfs was written in a way
>>> to make it _easy_ to use, no need for fancy error checking at all with
>>> it.
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>>
>> Thanks for the review Greg.
>>
>> Just to make sure. You are proposing I just drop the 3 if checks? [0]
>>
>> If that's what you mean I will send a patch as soon as you confirm :)
>>
>> Happy hacking,
>> Luis
>>
>>
>>
>> [0] Making the function look like this:
>> static int __init wilc_debugfs_init(void)
>> {
>>         int i;
>>
>>         struct dentry *debugfs_files;
>>         struct wilc_debugfs_info_t *info;
>>
>>         wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
>>         for (i = 0; i < ARRAY_SIZE(debugfs_info); i++) {
>>                 info = &debugfs_info[i];
>>                 debugfs_files = debugfs_create_file(info->name,
>>                                                     info->perm,
>>                                                     wilc_dir,
>>                                                     &info->data,
>>                                                     &info->fops);
> 
> Why even assign anything to debugfs_files?
> 

Sorry Greg.

I was just confirming I understood your suggestion, and pasted that
without cleaning the code.

Thanks for review and idea!
Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
index fcbc95d..48797dc 100644
--- a/drivers/staging/wilc1000/wilc_debugfs.c
+++ b/drivers/staging/wilc1000/wilc_debugfs.c
@@ -107,7 +107,7 @@  static int __init wilc_debugfs_init(void)
 	struct wilc_debugfs_info_t *info;
 
 	wilc_dir = debugfs_create_dir("wilc_wifi", NULL);
-	if (wilc_dir ==  ERR_PTR(-ENODEV)) {
+	if (PTR_ERR(wilc_dir) == -ENODEV) {
 		/* it's not error. the debugfs is just not being enabled. */
 		printk("ERR, kernel has built without debugfs support\n");
 		return 0;