Commit 23ad7bb9 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

greybus: protocol: fix oops when no protocol is assigned

When removing a connection with no protocol assigned to it, the kernel
oopses as we always thought protocols were always there.

Fix that problem, oopses are bad.
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
parent 7422a1ec
...@@ -165,10 +165,16 @@ struct gb_protocol *gb_protocol_get(u8 id, u8 major, u8 minor) ...@@ -165,10 +165,16 @@ struct gb_protocol *gb_protocol_get(u8 id, u8 major, u8 minor)
void gb_protocol_put(struct gb_protocol *protocol) void gb_protocol_put(struct gb_protocol *protocol)
{ {
u8 major = protocol->major; u8 major;
u8 minor = protocol->minor; u8 minor;
u8 protocol_count; u8 protocol_count;
if (!protocol)
return;
major = protocol->major;
minor = protocol->minor;
spin_lock_irq(&gb_protocols_lock); spin_lock_irq(&gb_protocols_lock);
protocol = _gb_protocol_find(protocol->id, protocol->major, protocol = _gb_protocol_find(protocol->id, protocol->major,
protocol->minor); protocol->minor);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment