Browse Source

usb: chipidea: core: do not register extcon notifier if extcon device is not existed

This issue is detected when the system has another device driver
which registers USB connector extcon device, fix it by adding
extcon device check.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen 8 năm trước cách đây
mục cha
commit
7c3a8b8150
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 2 2
      drivers/usb/chipidea/core.c

+ 2 - 2
drivers/usb/chipidea/core.c

@@ -736,7 +736,7 @@ static int ci_extcon_register(struct ci_hdrc *ci)
 
 	id = &ci->platdata->id_extcon;
 	id->ci = ci;
-	if (!IS_ERR(id->edev)) {
+	if (!IS_ERR_OR_NULL(id->edev)) {
 		ret = devm_extcon_register_notifier(ci->dev, id->edev,
 						EXTCON_USB_HOST, &id->nb);
 		if (ret < 0) {
@@ -747,7 +747,7 @@ static int ci_extcon_register(struct ci_hdrc *ci)
 
 	vbus = &ci->platdata->vbus_extcon;
 	vbus->ci = ci;
-	if (!IS_ERR(vbus->edev)) {
+	if (!IS_ERR_OR_NULL(vbus->edev)) {
 		ret = devm_extcon_register_notifier(ci->dev, vbus->edev,
 						EXTCON_USB, &vbus->nb);
 		if (ret < 0) {