summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/es2.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@hovoldconsulting.com>2016-07-14 12:55:00 -0500
committerAlex Elder <elder@linaro.org>2016-07-14 14:36:33 -0500
commit165a74ab1401ac3e2b6eb5b7084607b588734e09 (patch)
treef675199db1e8ec90dee50e0f3f0ee7725b0efc59 /drivers/staging/greybus/es2.c
parente818027c0b4e2573e2e63ca04480ce7972596eb2 (diff)
downloadop-kernel-dev-165a74ab1401ac3e2b6eb5b7084607b588734e09.zip
op-kernel-dev-165a74ab1401ac3e2b6eb5b7084607b588734e09.tar.gz
greybus: es2: fix arpc response lookups
Fix arpc response lookups that were truncating the 16-bit response id to 8-bit, something which would have lead to all arpc calls timing out after the 256th request. Testing done: Enumerated and ejected a module on EVT2. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'drivers/staging/greybus/es2.c')
-rw-r--r--drivers/staging/greybus/es2.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
index 7c294c4..7961622 100644
--- a/drivers/staging/greybus/es2.c
+++ b/drivers/staging/greybus/es2.c
@@ -1122,12 +1122,12 @@ static void arpc_free(struct arpc *rpc)
kfree(rpc);
}
-static struct arpc *arpc_find(struct es2_ap_dev *es2, u8 id)
+static struct arpc *arpc_find(struct es2_ap_dev *es2, __le16 id)
{
struct arpc *rpc;
list_for_each_entry(rpc, &es2->arpcs, list) {
- if (le16_to_cpu(rpc->req->id) == id)
+ if (rpc->req->id == id)
return rpc;
}
@@ -1250,7 +1250,7 @@ static void arpc_in_callback(struct urb *urb)
resp = urb->transfer_buffer;
spin_lock_irqsave(&es2->arpc_lock, flags);
- rpc = arpc_find(es2, le16_to_cpu(resp->id));
+ rpc = arpc_find(es2, resp->id);
if (!rpc) {
dev_err(dev, "invalid arpc response id received: %d\n",
resp->id);
OpenPOWER on IntegriCloud