On Fri, 2016-12-23 at 15:41 +0530, Arvind Yadav wrote: > Release IO memory mapping, if i2c_dw_pci_probe is not successful. > Second NAK, and seems (due to kbot message) you didn't even bother to compile test. What are you doing? > Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> > --- > drivers/i2c/busses/i2c-designware-pcidrv.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c > b/drivers/i2c/busses/i2c-designware-pcidrv.c > index d6423cf..75e6e27 100644 > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c > @@ -228,8 +228,10 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, > } > > dev = devm_kzalloc(&pdev->dev, sizeof(struct dw_i2c_dev), > GFP_KERNEL); > - if (!dev) > - return -ENOMEM; > + if (!dev) { > + r = -ENOMEM; > + goto error; > + } > > dev->clk = NULL; > dev->controller = controller; > @@ -241,7 +243,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, > if (controller->setup) { > r = controller->setup(pdev, controller); > if (r) > - return r; > + goto error; > } > > dev->functionality = controller->functionality | > @@ -270,7 +272,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, > > r = i2c_dw_probe(dev); > if (r) > - return r; > + goto error; > > pm_runtime_set_autosuspend_delay(&pdev->dev, 1000); > pm_runtime_use_autosuspend(&pdev->dev); > @@ -278,6 +280,8 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, > pm_runtime_allow(&pdev->dev); > > return 0; > +error: > + pcim_iounmap_regions(pdev, 1 << 0); > } > > static void i2c_dw_pci_remove(struct pci_dev *pdev) -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html