diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index b17e097650b..f6a374a0de0 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c @@ -1228,12 +1228,12 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match) /* The inteface is released to the common IDE layer */ dev_set_drvdata(&mdev->ofdev.dev, NULL); iounmap(base); - if (pmif->dma_regs) + if (pmif->dma_regs) { iounmap(pmif->dma_regs); + macio_release_resource(mdev, 1); + } memset(pmif, 0, sizeof(*pmif)); macio_release_resource(mdev, 0); - if (pmif->dma_regs) - macio_release_resource(mdev, 1); } return rc;