From: Mark A. Greer Date: Wed, 23 Apr 2014 18:00:55 +0000 (-0700) Subject: NFC: digital: SENSF_RES excludes RD when SENSF_REQ RC is zero X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=96e829b433056d8325916631dc370a4ba42bdaf8;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git NFC: digital: SENSF_RES excludes RD when SENSF_REQ RC is zero The check in digital_tg_send_sensf_res() that excludes the 'RD' field from the SENSF_RES is inverted. The 'RD' field should be excluded when the SENSF_REQ 'RC' field is equal to DIGITAL_SENSF_REQ_RC_NONE instead of when its not equal. This is described in section 6.6.2.11 of the NFC Digital Specification. CC: Thierry Escande Signed-off-by: Mark A. Greer Signed-off-by: Samuel Ortiz --- diff --git a/net/nfc/digital_technology.c b/net/nfc/digital_technology.c index 88e946adb7bf..c8dfb1b90fa0 100644 --- a/net/nfc/digital_technology.c +++ b/net/nfc/digital_technology.c @@ -1101,7 +1101,7 @@ static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev, size = sizeof(struct digital_sensf_res); - if (sensf_req->rc != DIGITAL_SENSF_REQ_RC_NONE) + if (sensf_req->rc == DIGITAL_SENSF_REQ_RC_NONE) size -= sizeof(sensf_res->rd); skb = digital_skb_alloc(ddev, size);