[char-misc-next 04/27] mei: call stop on failed char device register

From: Tomas Winkler
Date: Sun Feb 07 2016 - 16:36:55 EST


From: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>

If registering of character device failed stop the device properly.

Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
---
drivers/misc/mei/pci-me.c | 4 +++-
drivers/misc/mei/pci-txe.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
index 75fc9c688df8..996344f6c32d 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -210,7 +210,7 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

err = mei_register(dev, &pdev->dev);
if (err)
- goto release_irq;
+ goto stop;

pci_set_drvdata(pdev, dev);

@@ -231,6 +231,8 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

return 0;

+stop:
+ mei_stop(dev);
release_irq:
mei_cancel_work(dev);
mei_disable_interrupts(dev);
diff --git a/drivers/misc/mei/pci-txe.c b/drivers/misc/mei/pci-txe.c
index 71f8a7475717..30cc30683c07 100644
--- a/drivers/misc/mei/pci-txe.c
+++ b/drivers/misc/mei/pci-txe.c
@@ -154,7 +154,7 @@ static int mei_txe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

err = mei_register(dev, &pdev->dev);
if (err)
- goto release_irq;
+ goto stop;

pci_set_drvdata(pdev, dev);

@@ -170,6 +170,8 @@ static int mei_txe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

return 0;

+stop:
+ mei_stop(dev);
release_irq:

mei_cancel_work(dev);
--
2.4.3