/*
* Greybus operations
*
- * Copyright 2014 Google Inc.
- * Copyright 2014 Linaro Ltd.
+ * Copyright 2014-2015 Google Inc.
+ * Copyright 2014-2015 Linaro Ltd.
*
* Released under the GPLv2 only.
*/
}
}
- /* FIXME operation->response could still be NULL here */
/* Fill in the response header and send it */
operation->response->header->result = gb_operation_errno_map(errno);
/*
* Greybus protocol handling
*
- * Copyright 2014 Google Inc.
- * Copyright 2014 Linaro Ltd.
+ * Copyright 2014-2015 Google Inc.
+ * Copyright 2014-2015 Linaro Ltd.
*
* Released under the GPLv2 only.
*/
void gb_protocol_put(struct gb_protocol *protocol)
{
+ u8 id;
u8 major;
u8 minor;
u8 protocol_count;
if (!protocol)
return;
+ id = protocol->id;
major = protocol->major;
minor = protocol->minor;
spin_lock_irq(&gb_protocols_lock);
- protocol = _gb_protocol_find(protocol->id, protocol->major,
- protocol->minor);
+ protocol = _gb_protocol_find(id, major, minor);
if (protocol) {
protocol_count = protocol->count;
if (protocol_count)
if (protocol)
WARN_ON(!protocol_count);
else
- /* FIXME a different message is needed since this one
- * will result in a NULL dereference
- */
pr_err("protocol id %hhu version %hhu.%hhu not found\n",
- protocol->id, major, minor);
+ id, major, minor);
}