aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc/llcp/commands.c
Commit message (Collapse)AuthorAge
* NFC: LLCP's MIUX is 10 bytes long, not 7Samuel Ortiz2012-06-04
| | | | | | The mask is 0x7ff and not 0x7f and the return value is an u16. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* NFC: Move LLCP MIU extension value to socket structureSamuel Ortiz2012-06-04
| | | | | | | | The MIU extension value can be received during the PAX or during the connection establishment process. It's definitely a connection related value rather than a link one. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* NFC: Move LLCP receiver window value to socket structureSamuel Ortiz2012-06-04
| | | | | | | RW can only be fetched from a CONNECT or a CC frame thus making it an end points specific value, not a link one. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* NFC: Queue I frame fragments to the LLCP sockets queue tailSamuel Ortiz2012-05-16
| | | | | | | | After testing our stack with large SNEP messages, we realized the fragments were arriving in reversed order. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Return the amount of LLCP bytes queued to sock_sendmsgSamuel Ortiz2012-05-15
| | | | | | | Otherwise an LLCP send() always returns 0. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Call llcp_add_header properly when sending LLCP DM or DISCSamuel Ortiz2012-04-12
| | | | | | | dsap and ssap were swapped when sending DN or DISC. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Fix LLCP TLV building routineSamuel Ortiz2012-04-12
| | | | | | | The if logic could lead to zero length TLVs. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: No need to apply twice the modulo op to LLCP's recv_nSamuel Ortiz2012-04-12
| | | | | | | recv_n is set properly when receiving an HDLC frame. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Fix the LLCP Tx fragmentation loopSamuel Ortiz2012-04-11
| | | | | | Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: LLCP code identation fixesSamuel Ortiz2012-03-06
| | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: SN is not an invalid GT valueSamuel Ortiz2012-03-06
| | | | | | | | We just don't do anything with it when parsing the general bytes. We handle it from the CONNECT reception code. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Fragment LLCP I framesSamuel Ortiz2012-03-06
| | | | | | | | Based on the receiver MIU, we have to fragment the frame to be transmitted. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Set MIU and RW values from CONNECT and CC LLCP framesSamuel Ortiz2012-03-06
| | | | | | | | We use the maximum values for the LLCP Maximum Information Unit and Receive Window Size. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Send LLCP RR frames to acknowledge received I framesSamuel Ortiz2012-03-06
| | | | | | | | In order to acknowledge an I frame, we have to either queue pending local I frames or queue a receiver ready frame. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: LLCP socket sendmsg implemetationSamuel Ortiz2012-03-06
| | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Initial LLCP supportSamuel Ortiz2011-12-14
This patch is an initial implementation for the NFC Logical Link Control protocol. It's also known as NFC peer to peer mode. This is a basic implementation as it lacks SDP (services Discovery Protocol), frames aggregation support, and frame rejecion parsing. Follow up patches will implement those missing features. This code has been tested against a Nexus S phone implementing LLCP 1.0. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>