nfc: s3fwrn5: replace the assertion with a WARN_ON
authorAditya Pakki <pakki001@umn.edu>
Tue, 17 Dec 2019 20:43:00 +0000 (14:43 -0600)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Dec 2019 01:33:23 +0000 (17:33 -0800)
In s3fwrn5_fw_recv_frame, if fw_info->rsp is not empty, the
current code causes a crash via BUG_ON. However, s3fwrn5_fw_send_msg
does not crash in such a scenario. The patch replaces the BUG_ON
by returning the error to the callers and frees up skb.

Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/nfc/s3fwrn5/firmware.c

index be110d9..de613c6 100644 (file)
@@ -507,7 +507,10 @@ int s3fwrn5_fw_recv_frame(struct nci_dev *ndev, struct sk_buff *skb)
        struct s3fwrn5_info *info = nci_get_drvdata(ndev);
        struct s3fwrn5_fw_info *fw_info = &info->fw_info;
 
-       BUG_ON(fw_info->rsp);
+       if (WARN_ON(fw_info->rsp)) {
+               kfree_skb(skb);
+               return -EINVAL;
+       }
 
        fw_info->rsp = skb;