nfc: fix get_unaligned_...() misuses
* if a local variable of type uint16_t is unaligned, your compiler is FUBAR * the whole point of get_unaligned_... is to avoid memcpy + ..._to_cpu(). Using it *after* memcpy() (into aligned object, no less) is pointless. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
8b55d7581f
commit
4ea206395d
|
@ -281,12 +281,11 @@ static int process_state_fw_dnld(struct nfcmrvl_private *priv,
|
|||
return -EINVAL;
|
||||
}
|
||||
skb_pull(skb, 1);
|
||||
memcpy(&len, skb->data, 2);
|
||||
len = get_unaligned_le16(skb->data);
|
||||
skb_pull(skb, 2);
|
||||
comp_len = get_unaligned_le16(skb->data);
|
||||
memcpy(&comp_len, skb->data, 2);
|
||||
skb_pull(skb, 2);
|
||||
len = get_unaligned_le16(&len);
|
||||
comp_len = get_unaligned_le16(&comp_len);
|
||||
if (((~len) & 0xFFFF) != comp_len) {
|
||||
nfc_err(priv->dev, "bad len complement: %x %x %x",
|
||||
len, comp_len, (~len & 0xFFFF));
|
||||
|
|
|
@ -126,7 +126,7 @@ static int nxp_nci_i2c_fw_read(struct nxp_nci_i2c_phy *phy,
|
|||
goto fw_read_exit;
|
||||
}
|
||||
|
||||
frame_len = (get_unaligned_be16(&header) & NXP_NCI_FW_FRAME_LEN_MASK) +
|
||||
frame_len = (be16_to_cpu(header) & NXP_NCI_FW_FRAME_LEN_MASK) +
|
||||
NXP_NCI_FW_CRC_LEN;
|
||||
|
||||
*skb = alloc_skb(NXP_NCI_FW_HDR_LEN + frame_len, GFP_KERNEL);
|
||||
|
|
Loading…
Reference in New Issue