diff options
-rw-r--r-- | drivers/bcma/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c index 2c1798e38abd..38688236b3cd 100644 --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c | |||
@@ -633,8 +633,11 @@ static int bcma_device_probe(struct device *dev) | |||
633 | drv); | 633 | drv); |
634 | int err = 0; | 634 | int err = 0; |
635 | 635 | ||
636 | get_device(dev); | ||
636 | if (adrv->probe) | 637 | if (adrv->probe) |
637 | err = adrv->probe(core); | 638 | err = adrv->probe(core); |
639 | if (err) | ||
640 | put_device(dev); | ||
638 | 641 | ||
639 | return err; | 642 | return err; |
640 | } | 643 | } |
@@ -647,6 +650,7 @@ static int bcma_device_remove(struct device *dev) | |||
647 | 650 | ||
648 | if (adrv->remove) | 651 | if (adrv->remove) |
649 | adrv->remove(core); | 652 | adrv->remove(core); |
653 | put_device(dev); | ||
650 | 654 | ||
651 | return 0; | 655 | return 0; |
652 | } | 656 | } |