NFC: port100: Abort current command before switching RF off
authorThierry Escande <thierry.escande@collabora.com>
Thu, 16 Jun 2016 18:25:23 +0000 (20:25 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 6 Jul 2016 08:02:08 +0000 (10:02 +0200)
If a command is still being processed by the device, the switch RF off
command will be rejected. With this patch, the port100 driver calls
port100_abort_cmd() before sending the switch RF off command.

Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/port100.c

index 481cb435e19f3e240c6a7601c3e5ec40bd4b69c8..2b2330b235e63a251755bcd23ae4e066cd4aa7db 100644 (file)
@@ -1050,6 +1050,10 @@ static int port100_switch_rf(struct nfc_digital_dev *ddev, bool on)
 
        *skb_put(skb, 1) = on ? 1 : 0;
 
+       /* Cancel the last command if the device is being switched off */
+       if (!on)
+               port100_abort_cmd(ddev);
+
        resp = port100_send_cmd_sync(dev, PORT100_CMD_SWITCH_RF, skb);
 
        if (IS_ERR(resp))