From: Jarkko Nikula Date: Mon, 31 Aug 2015 14:31:29 +0000 (+0300) Subject: i2c: designware: Disable interrupts before requesting PCI device interrupt X-Git-Tag: firefly_0821_release~176^2~736^2~52 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b9f84adcb834ec2b1fd0ec91676c4b165daf51e6;p=firefly-linux-kernel-4.4.55.git i2c: designware: Disable interrupts before requesting PCI device interrupt Device must not generate interrupts before registering the interrupt handler so move i2c_dw_disable_int() before requesting it. There are no known issues with this. The code has been here since commit fe20ff5c7e9c ("i2c-designware: Add support for Designware core behind PCI devices."). Signed-off-by: Jarkko Nikula Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index e477dddcdae5..d9e8937f062f 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -260,6 +260,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, snprintf(adap->name, sizeof(adap->name), "i2c-designware-pci"); + i2c_dw_disable_int(dev); r = devm_request_irq(&pdev->dev, pdev->irq, i2c_dw_isr, IRQF_SHARED | IRQF_COND_SUSPEND, adap->name, dev); if (r) { @@ -267,7 +268,6 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, return r; } - i2c_dw_disable_int(dev); r = i2c_add_numbered_adapter(adap); if (r) { dev_err(&pdev->dev, "failure adding adapter\n");