|
6 | 6 | * Author: Jassi Brar <jassisinghbrar@gmail.com> |
7 | 7 | */ |
8 | 8 |
|
9 | | -#include <linux/interrupt.h> |
10 | | -#include <linux/spinlock.h> |
11 | | -#include <linux/mutex.h> |
12 | 9 | #include <linux/delay.h> |
13 | | -#include <linux/slab.h> |
14 | | -#include <linux/err.h> |
15 | | -#include <linux/module.h> |
16 | 10 | #include <linux/device.h> |
17 | | -#include <linux/bitops.h> |
| 11 | +#include <linux/err.h> |
18 | 12 | #include <linux/mailbox_client.h> |
19 | 13 | #include <linux/mailbox_controller.h> |
| 14 | +#include <linux/module.h> |
| 15 | +#include <linux/mutex.h> |
20 | 16 | #include <linux/of.h> |
| 17 | +#include <linux/spinlock.h> |
21 | 18 |
|
22 | 19 | #include "mailbox.h" |
23 | 20 |
|
@@ -413,15 +410,15 @@ struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index) |
413 | 410 | return ERR_PTR(-ENODEV); |
414 | 411 | } |
415 | 412 |
|
416 | | - mutex_lock(&con_mutex); |
417 | | - |
418 | | - if (of_parse_phandle_with_args(dev->of_node, "mboxes", |
419 | | - "#mbox-cells", index, &spec)) { |
| 413 | + ret = of_parse_phandle_with_args(dev->of_node, "mboxes", "#mbox-cells", |
| 414 | + index, &spec); |
| 415 | + if (ret) { |
420 | 416 | dev_dbg(dev, "%s: can't parse \"mboxes\" property\n", __func__); |
421 | | - mutex_unlock(&con_mutex); |
422 | | - return ERR_PTR(-ENODEV); |
| 417 | + return ERR_PTR(ret); |
423 | 418 | } |
424 | 419 |
|
| 420 | + mutex_lock(&con_mutex); |
| 421 | + |
425 | 422 | chan = ERR_PTR(-EPROBE_DEFER); |
426 | 423 | list_for_each_entry(mbox, &mbox_cons, node) |
427 | 424 | if (mbox->dev->of_node == spec.np) { |
|
0 commit comments