Messages in this thread |  | | Subject | Re: [PATCH v1 1/2] ata: libahci_platform: Get rid of dup message when IRQ can't be retrieved | From | Sergey Shtylyov <> | Date | Fri, 10 Dec 2021 11:59:00 +0300 |
| |
On 12/10/21 1:49 AM, Damien Le Moal wrote:
>> platform_get_irq() will print a message when it fails. >> No need to repeat this. >> >> While at it, drop redundant check for 0 as platform_get_irq() spills >> out a big WARN() in such case. > > The reason you should be able to remove the "if (!irq)" test is that > platform_get_irq() never returns 0. At least, that is what the function kdoc > says. But looking at platform_get_irq_optional(), which is called by > platform_get_irq(), the out label is: > > WARN(ret == 0, "0 is an invalid IRQ number\n"); > return ret; > > So 0 will be returned as-is. That is rather weird. That should be fixed to > return -ENXIO: > > if (WARN(ret == 0, "0 is an invalid IRQ number\n")) > return -ENXIO; > return ret;
My unmerged patch (https://marc.info/?l=linux-kernel&m=163623041902285) does this but returns -EINVAL instead.
> Otherwise, I do not think that removing the "if (!irq)" hunk is safe. no ?
Of course it isn't...
>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> [...]
MBR, Sergey
|  |