[PATCH] extcon: Check for incorrect connection type in notifier register

Subsystems: external connector subsystem (extcon), the rest

STALE3758d

2 messages, 2 authors, 2016-06-23 · open the first message on its own page

[PATCH] extcon: Check for incorrect connection type in notifier register

From: Stephen Boyd <hidden>
Date: 2016-06-23 07:53:27

If we call extcon_register_notifier() with the wrong cable type,
it blows up with an oops instead of returning an error code.
Let's be nice and fail gracefully given that the consumer might
not know if the cable is supported by the extcon provider.

Signed-off-by: Stephen Boyd <redacted>
---
 drivers/extcon/extcon.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index 21a123cadf78..161acb826334 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -586,6 +586,8 @@ int extcon_register_notifier(struct extcon_dev *edev, unsigned int id,
 		return -EINVAL;
 
 	idx = find_cable_index_by_id(edev, id);
+	if (idx < 0)
+		return idx;
 
 	spin_lock_irqsave(&edev->lock, flags);
 	ret = raw_notifier_chain_register(&edev->nh[idx], nb);
@@ -611,6 +613,8 @@ int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id,
 		return -EINVAL;
 
 	idx = find_cable_index_by_id(edev, id);
+	if (idx < 0)
+		return idx;
 
 	spin_lock_irqsave(&edev->lock, flags);
 	ret = raw_notifier_chain_unregister(&edev->nh[idx], nb);
-- 
2.9.0.rc2.8.ga28705d

Re: [PATCH] extcon: Check for incorrect connection type in notifier register

From: Chanwoo Choi <cw00.choi@samsung.com>
Date: 2016-06-23 10:40:11

Hi,

On 2016? 06? 23? 16:53, Stephen Boyd wrote:
If we call extcon_register_notifier() with the wrong cable type,
it blows up with an oops instead of returning an error code.
Let's be nice and fail gracefully given that the consumer might
not know if the cable is supported by the extcon provider.

Signed-off-by: Stephen Boyd <redacted>
---
 drivers/extcon/extcon.c | 4 ++++
 1 file changed, 4 insertions(+)
This patch has some merge conflict because the base branch is not on linux-next.
But, Looks good to me. I applied it manually on extcon-next branch.

Thanks,
Chanwoo Choi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help