[PATCH v2 20/22] usb: host: xhci-mtk: deny IRQ0

Sergey Shtylyov s.shtylyov at omp.ru
Wed Oct 27 02:25:44 PDT 2021


On 27.10.2021 12:18, Chunfeng Yun wrote:

>> If platform_get_irq() returns IRQ0 (considered invalid according to
>> Linus)
>> the driver blithely passes it to usb_add_hcd() that treats IRQ0 as no
>> IRQ
>> at all. Deny IRQ0 right away, returning -EINVAL from the probe()
>> method...
>>
>> Fixes: 0cbd4b34cda9 ("xhci: mediatek: support MTK xHCI host
>> controller")
>> Signed-off-by: Sergey Shtylyov <s.shtylyov at omp.ru>
>> ---
>>   drivers/usb/host/xhci-mtk.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-
>> mtk.c
>> index c53f6f276d5c..d2dc8d9863ee 100644
>> --- a/drivers/usb/host/xhci-mtk.c
>> +++ b/drivers/usb/host/xhci-mtk.c
>> @@ -495,7 +495,7 @@ static int xhci_mtk_probe(struct platform_device
>> *pdev)
>>   		return ret;
>>   
>>   	irq = platform_get_irq_byname_optional(pdev, "host");
>> -	if (irq < 0) {
>> +	if (irq <= 0) {
>>   		if (irq == -EPROBE_DEFER)
>>   			return irq;
>>   
>> @@ -503,6 +503,8 @@ static int xhci_mtk_probe(struct platform_device
>> *pdev)
>>   		irq = platform_get_irq(pdev, 0);
>>   		if (irq < 0)
>>   			return irq;
>> +		if (!irq)
> it's "if (irq <= 0)"?

    No, if (irq == 0).

>> +			return -EINVAL;
>>   	}
>>   
>>   	wakeup_irq = platform_get_irq_byname_optional(pdev, "wakeup");

MBR, Sergey



More information about the Linux-mediatek mailing list