All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tang Bin <tangbin@cmss.chinamobile.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Greg KH <gregkh@linuxfoundation.org>,
	stern@rowland.harvard.edu, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB: host: ehci: Add error handlinginehci_mxc_drv_probe()
Date: Sat, 9 May 2020 09:13:22 +0800	[thread overview]
Message-ID: <012c911d-e877-d7b8-60ab-2e70e67e62cb@cmss.chinamobile.com> (raw)
In-Reply-To: <66a6bbca-4218-fb71-7284-37f73d5a3c58@cogentembedded.com>

Hi Sergei:

On 2020/5/9 4:27, Sergei Shtylyov wrote:
> On 05/08/2020 06:03 PM, Tang Bin wrote:
>
>>>>> On Fri, May 08, 2020 at 07:44:53PM +0800, Tang Bin wrote:
>>>>>> The function ehci_mxc_drv_probe() does not perform sufficient error
>>>>>> checking after executing platform_get_irq(), thus fix it.
>>>>>>
>>>>>> Fixes: 7e8d5cd93fa ("USB: Add EHCI support for MX27 and MX31 based boards")
>>>>>> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
>>>>>> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
>>>>>> ---
>>>>>>     drivers/usb/host/ehci-mxc.c | 2 ++
>>>>>>     1 file changed, 2 insertions(+)
>>>>>>
>>>>>> diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
>>>>>> index a1eb5ee77..a0b42ba59 100644
>>>>>> --- a/drivers/usb/host/ehci-mxc.c
>>>>>> +++ b/drivers/usb/host/ehci-mxc.c
>>>>>> @@ -50,6 +50,8 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
>>>>>>         }
>>>>>>         irq = platform_get_irq(pdev, 0);
>>>>>> +    if (irq < 0)
>>>>>> +        return irq;
>>>>> <= ?
>>>> In the file 'drivers/base/platform.c', the function platform_get_irq() is
>>>> explained and used as follows:
>>>>
>>>>        * Gets an IRQ for a platform device and prints an error message if
>>>> finding the
>>>>        * IRQ fails. Device drivers should check the return value for errors so
>>>> as to
>>>>        * not pass a negative integer value to the request_irq() APIs.
>>>>        *
>>>>        * Example:
>>>>        *        int irq = platform_get_irq(pdev, 0);
>>>>        *        if (irq < 0)
>>>>        *            return irq;
>>>>        *
>>>>        * Return: IRQ number on success, negative error number on failure.
>>>>
>>>> And in my hardware experiment, even if I set the irq failed deliberately in
>>>> the DTS, the returned value is negative instead of zero.
>>> Please read the thread at
>>>      https://lore.kernel.org/r/20200501224042.141366-1-helgaas%40kernel.org
>>> for more details about this.
>>>
>> Great, It looks beautiful, finally someone took a knife to the file 'platform.c'.
>     I thought I did that already couple years ago, when returned 0 from platform_get_irq() could mean both IRQ # and error... :-)
Can you tell me what platform can returned 0? I want to do this test in 
the hardware.
>> I have been studied this place for a long time, and don't know what platform can return 0, which made me curious.
>>
>> So the example should be:
>>
>>       *        int irq = platform_get_irq(pdev, 0);
>>       *        if (irq <= 0)
>>       *            return irq;
>     And you then return 0 (success) as if your probe() succeeded. Congratulations! :-P

Thanks,

Tang Bin




  reply	other threads:[~2020-05-09  1:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-08 11:44 [PATCH] USB: host: ehci: Add error handling in ehci_mxc_drv_probe() Tang Bin
2020-05-08 11:48 ` Greg KH
2020-05-08 13:55   ` [PATCH] USB: host: ehci: Add error handling inehci_mxc_drv_probe() Tang Bin
2020-05-08 14:31     ` Greg KH
2020-05-08 15:03       ` [PATCH] USB: host: ehci: Add error handlinginehci_mxc_drv_probe() Tang Bin
2020-05-08 20:27         ` Sergei Shtylyov
2020-05-09  1:13           ` Tang Bin [this message]
2020-05-08 20:30   ` [PATCH] USB: host: ehci: Add error handling in ehci_mxc_drv_probe() Sergei Shtylyov
2020-05-08 13:51 ` Alan Stern
2020-05-13 12:55   ` Tang Bin
2020-05-13 13:01     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=012c911d-e877-d7b8-60ab-2e70e67e62cb@cmss.chinamobile.com \
    --to=tangbin@cmss.chinamobile.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.