From: Thierry Escande Date: Thu, 16 Jun 2016 18:25:20 +0000 (+0200) Subject: NFC: port100: Don't send a new command if one is still pending X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e3e0258839a01f793a8a0c0885e8ad387681cdc6;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git NFC: port100: Don't send a new command if one is still pending This patch ensures that a command is not still in process before sending a new one to the device. This can happen when neard is in constant polling mode: the configure_hw command can be sent when neard restarts polling after a LLCP SYMM timeout but before the device has returned in timeout from the last DEP frame sent. Signed-off-by: Thierry Escande Signed-off-by: Samuel Ortiz --- diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c index 2d4bbe3fad57..14a3cc2d0fd6 100644 --- a/drivers/nfc/port100.c +++ b/drivers/nfc/port100.c @@ -809,6 +809,12 @@ static int port100_send_cmd_async(struct port100 *dev, u8 cmd_code, PORT100_FRAME_MAX_PAYLOAD_LEN + PORT100_FRAME_TAIL_LEN; + if (dev->cmd) { + nfc_err(&dev->interface->dev, + "A command is still in process\n"); + return -EBUSY; + } + resp = alloc_skb(resp_len, GFP_KERNEL); if (!resp) return -ENOMEM;