Commit 1d37c854 authored by Sean Young's avatar Sean Young Committed by Mauro Carvalho Chehab

media: ir_toy: deal with residual irdata before expected response

After sending the start transmit command, the device is supposed to
respond with the length of the buffer which can be sent. There might
be some residual ir data there.
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 5173cca0
......@@ -122,6 +122,7 @@ static void irtoy_response(struct irtoy *irtoy, u32 len)
len, irtoy->in);
}
break;
case STATE_COMMAND_NO_RESP:
case STATE_IRDATA: {
struct ir_raw_event rawir = { .pulse = irtoy->pulse };
__be16 *in = (__be16 *)irtoy->in;
......@@ -167,10 +168,8 @@ static void irtoy_response(struct irtoy *irtoy, u32 len)
int err;
if (len != 1 || space > MAX_PACKET || space == 0) {
dev_err(irtoy->dev, "packet length expected: %*phN\n",
dev_dbg(irtoy->dev, "packet length expected: %*phN\n",
len, irtoy->in);
irtoy->state = STATE_IRDATA;
complete(&irtoy->command_done);
break;
}
......@@ -194,9 +193,6 @@ static void irtoy_response(struct irtoy *irtoy, u32 len)
irtoy->tx_len -= buf_len;
}
break;
case STATE_COMMAND_NO_RESP:
dev_err(irtoy->dev, "unexpected response to reset: %*phN\n",
len, irtoy->in);
}
}
......
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