Hi, On 6/3/21 7:28 PM, Mykola Kostenok wrote: > It causes mlxreg-hotplug probing failure: request_threaded_irq() > returns -EINVAL due to true value of condition: > ((irqflags & IRQF_SHARED) && (irqflags & IRQF_NO_AUTOEN)) > after flag "IRQF_NO_AUTOEN" has been added to: > err = devm_request_irq(&pdev->dev, priv->irq, > mlxreg_hotplug_irq_handler, IRQF_TRIGGER_FALLING > | IRQF_SHARED | IRQF_NO_AUTOEN, > "mlxreg-hotplug", priv); > > This reverts commit bee3ecfed0fc9ad104722c501aac1e892b53d1e3. > > Signed-off-by: Mykola Kostenok <c_mykolak@xxxxxxxxxx> > Acked-by: Vadim Pasternak <vadimp@xxxxxxxxxx> Thank you for your patch, I've applied this patch to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans I'll also add this to the fixes branch, so that it gets included in my next pull-req to Linus for 5.13. Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > --- > drivers/platform/mellanox/mlxreg-hotplug.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/mellanox/mlxreg-hotplug.c b/drivers/platform/mellanox/mlxreg-hotplug.c > index a9db2f32658f..b013445147dd 100644 > --- a/drivers/platform/mellanox/mlxreg-hotplug.c > +++ b/drivers/platform/mellanox/mlxreg-hotplug.c > @@ -683,13 +683,13 @@ static int mlxreg_hotplug_probe(struct platform_device *pdev) > > err = devm_request_irq(&pdev->dev, priv->irq, > mlxreg_hotplug_irq_handler, IRQF_TRIGGER_FALLING > - | IRQF_SHARED | IRQF_NO_AUTOEN, > - "mlxreg-hotplug", priv); > + | IRQF_SHARED, "mlxreg-hotplug", priv); > if (err) { > dev_err(&pdev->dev, "Failed to request irq: %d\n", err); > return err; > } > > + disable_irq(priv->irq); > spin_lock_init(&priv->lock); > INIT_DELAYED_WORK(&priv->dwork_irq, mlxreg_hotplug_work_handler); > dev_set_drvdata(&pdev->dev, priv); >