Commit 0dcdf9f6 authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller

NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()

The nci_conn_max_data_pkt_payload_size() function sometimes returns
-EPROTO so "max_size" needs to be signed for the error handling to
work.  We can make "payload_size" an int as well.

Fixes: a06347c0 ("NFC: Add Intel Fields Peak NFC solution driver")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dddeb30b
...@@ -184,7 +184,7 @@ static int fdp_nci_send_patch(struct nci_dev *ndev, u8 conn_id, u8 type) ...@@ -184,7 +184,7 @@ static int fdp_nci_send_patch(struct nci_dev *ndev, u8 conn_id, u8 type)
const struct firmware *fw; const struct firmware *fw;
struct sk_buff *skb; struct sk_buff *skb;
unsigned long len; unsigned long len;
u8 max_size, payload_size; int max_size, payload_size;
int rc = 0; int rc = 0;
if ((type == NCI_PATCH_TYPE_OTP && !info->otp_patch) || if ((type == NCI_PATCH_TYPE_OTP && !info->otp_patch) ||
...@@ -207,8 +207,7 @@ static int fdp_nci_send_patch(struct nci_dev *ndev, u8 conn_id, u8 type) ...@@ -207,8 +207,7 @@ static int fdp_nci_send_patch(struct nci_dev *ndev, u8 conn_id, u8 type)
while (len) { while (len) {
payload_size = min_t(unsigned long, (unsigned long) max_size, payload_size = min_t(unsigned long, max_size, len);
len);
skb = nci_skb_alloc(ndev, (NCI_CTRL_HDR_SIZE + payload_size), skb = nci_skb_alloc(ndev, (NCI_CTRL_HDR_SIZE + payload_size),
GFP_KERNEL); GFP_KERNEL);
......
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