Re: Input: ep93xx_keypad: Checking for a failed platform_get_irq()call in ep93xx_keypad_probe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry:

On 2020/4/10 4:48, Dmitry Torokhov wrote:
Platform code historically allowed creating IRQ resources with IRQ
number 0 to indicate "no interrupt assigned", so this driver tries to
filter out such conditions. The negative IRQs (errors) will be rejected
by request_irq() but I guess we can lose -EPROBE_DEFER. We could do

	if (keypad->irq <= 0) {
		err = keypad->irq ?: -ENXIO : keypad->irq;
		goto failed_free;
	}

I have been aware of this problem for several days, and by doing experiments on the hardware, I have found the following ways that maybe suitable:

    if (keypad->irq <= 0) {
        err = keypad->irq ? : -ENXIO;
        goto failed_free;
    }
    or
    if (keypad->irq <= 0) {
        err = keypad->irq < 0 ? keypad->irq : -ENXIO;
        goto failed_free;
    }

If you think it's usefull, I will send this patch to fix this problem.

Thanks

Tang Bin






[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux