aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc
Commit message (Collapse)AuthorAge
* Merge branch 'master' of ↵John W. Linville2012-06-12
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: MAINTAINERS drivers/net/wireless/iwlwifi/pcie/trans.c
| * NFC: Fix possible NULL ptr deref when getting the name of a socketSasha Levin2012-06-08
| | | | | | | | | | | | | | | | | | | | | | llcp_sock_getname() might get called before the LLCP socket was created. This condition isn't checked, and llcp_sock_getname will simply deref a NULL ptr in that case. This exists starting with d646960 ("NFC: Initial LLCP support"). Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | NFC: Destroy LLCP timout workqueue when releasing the linkSamuel Ortiz2012-06-04
| | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Switch to Initiator mode when getting NFC_ATTR_PROTOCOLSSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | That is needed for keeping backward compatibility with apps using the old netlink polling API (NFC_ATTR_PROTOCOLS instead of NFC_ATTR_IM_PROTOCOLS). Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Send a receiver ready frame only to reply to an I frameSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | Sending an RR as a reply to another RR is fine but not quite logical. We should send RRs only as a reply to I frames. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Requeue lost LLCP framesSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | When receiving an I or RR frame telling us that some of the pending queues were not received, we should requeue them before the currently pending ones. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Call the DEP link down ops even when in target modeSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | Even in target mode we need to let the driver know that we want to bring the DEP link down. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Don't hold a NULL connecting LLCP socket lockSamuel Ortiz2012-06-04
| | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Introduce target mode rx data callbackSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | | | This routine will be called by drivers whenever they receive data in target mode. This should be unexpected events and as such should be handled by a standalone API (i.e. not as a callback pointer from an existing API). Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Introduce target mode tx opsSamuel Ortiz2012-06-04
| | | | | | | | | | | | And rename the initiator mode data exchange ops for consistency sake. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Set the NFC device RF mode appropriatelySamuel Ortiz2012-06-04
| | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Add target mode activation netlink eventSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | | | Userspace gets a netlink event upon target mode activation. The LLCP layer is also signaled when we get an ATR_REQ in order to get the remote general bytes. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Add target mode protocols to the polling loop startup routineSamuel Ortiz2012-06-04
| | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Export LLCP general bytes getterSamuel Ortiz2012-06-04
| | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | 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: Socket linked listSamuel Ortiz2012-06-04
| | | | | | | | | | | | | | Simplify the LLCP sockets structure by putting all the connected ones into a single linked list. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | NFC: Take a reference on the LLCP local pointer when creating a socketSamuel Ortiz2012-06-04
|/ | | | | | | LLCP sockets point to their local LLCP service, so they need to take a reference on it. 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: HCI drivers don't have to keep track of polling stateEric Lapuyade2012-05-15
| | | | | | | | The NFC core code already does that for them. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: The NFC genl family structure should not be exposed globallyH Hartley Sweeten2012-05-15
| | | | | | | | | | | | | | | | | The variable 'nfc_genl_family' is only referenced in this file and should be marked static to prevent it from being exposed globally. Quites the sparse warning: warning: symbol 'nfc_genl_family' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> Cc: Samuel Ortiz <sameo@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: HCI ops should not be exposed globallyH Hartley Sweeten2012-05-15
| | | | | | | | | | | | | | | | | The variable 'hci_nfc_ops' is only referenced in this file and should be marked static to prevent it from being exposed globally. Quites the sparse warning: warning: symbol 'hci_nfc_ops' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> Cc: Samuel Ortiz <sameo@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Quiet nci/ntf.c sparse noise about plain integer as NULL pointerH Hartley Sweeten2012-05-15
| | | | | | | | | | | | | | | | Pointers should be cleared with NULL, not 0. Quiets a couple sparse warnings of the type: warning: Using plain integer as NULL pointer Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> Cc: Samuel Ortiz <sameo@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Include nci_core.h to nci/lib.cH Hartley Sweeten2012-05-15
| | | | | | | | | | | | | | | | Include the header to pickup the exported symbol prototype. Quites the sparse warning: warning: symbol 'nci_to_errno' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> CC: Samuel Ortiz <sameo@linux.intel.com> CC: "David S. Miller" <davem@davemloft.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Quiet nci/data.c sparse noise about plain integer as NULL pointerH Hartley Sweeten2012-05-15
| | | | | | | | | | | | | | | | Pointers should be cleared with NULL, not 0. Quiets a couple sparse warnings of the type: warning: Using plain integer as NULL pointer Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> Cc: Samuel Ortiz <sameo@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Fix LLCP compilation warningjoseph daniel2012-05-15
| | | | | | | | | | | | | | | | | nfc_llcp_general_bytes is defined in nfc/core.c as: nfc_llcp_general_bytes(struct nfc_dev *dev, size_t *gb_len). as in nfc/nfc.h: nfc_llcp_general_bytes(struct nfc_dev *dev, u8 *gb_len), if CONFIG_NFC_LLCP is not defined. so we got some warnings, net/nfc/core.c:207:2: warning: passing argument 2 of ‘nfc_llcp_general_bytes’ from incompatible pointer type [enabled by default] net/nfc/nfc.h:87:19: note: expected ‘u8 *’ but argument is of type ‘size_t *’ Signed-off-by: joseph daniel <josephdanielwalter@gmail.com> 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: Update the LLCP poll maskSamuel Ortiz2012-05-15
| | | | | | | | Fix the poll mask depending on the socket state. POLLOUT was missing for example. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: LLCP connect must wait for a CC frameSamuel Ortiz2012-05-15
| | | | | | | | Blocking sockets should sleep on a CC (Connection Complete) reception from the connect() call. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Add HCI/SHDLC support to let driver check for tag presenceEric Lapuyade2012-05-15
| | | | | | Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Specify usage for targets found and target lost eventsEric Lapuyade2012-05-15
| | | | | | | | | | | It is now specified that nfc_target_found() and nfc_target_lost() core functions must not be called from an atomic context. This allow us to serialize calls and protect the targets table using the nfc device lock instead of a spinlock. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Remove useless HCI private nfc target tableEric Lapuyade2012-05-15
| | | | | | Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Cache the core NFC active target pointer instead of its indexEric Lapuyade2012-05-15
| | | | | | | | | | | | The NFC Core now caches the active nfc target pointer, thereby avoiding the need to lookup the target table for each invocation of a driver ops. Consequently, pn533, HCI and NCI now directly receive an nfc_target pointer instead of a target index. Cc: Ilan Elias <ilane@ti.com> Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* NFC: Select CRC_CCITT for SHDLC link layer of HCI based driversMarcel Holtmann2012-05-15
| | | | | | | | | | | | | | The SHDLC link layer of HCI based drivers uses CRC-CCITT and thus needs to select that kernel option. Otherwise it ends up with this linking error: net/built-in.o: In function `nfc_shdlc_add_len_crc': net/nfc/hci/shdlc.c:113: undefined reference to `crc_ccitt' Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'master' of ↵John W. Linville2012-04-18
|\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-testmode.c include/net/nfc/nfc.h net/nfc/netlink.c net/wireless/nl80211.c
| * NFC: Fix LLCP link timeout typoSamuel Ortiz2012-04-12
| | | | | | | | | | | | | | | | We were sending the LTO TLV as a version TLV instead of the actual link timeout one. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Add MIUX to the local LLCP general bytesSamuel Ortiz2012-04-12
| | | | | | | | | | 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: Dump LLCP framesSamuel Ortiz2012-04-12
| | | | | | | | | | | | | | At KERN_DEBUG level. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Add Core support to generate tag lost eventEric Lapuyade2012-04-12
| | | | | | | | | | | | | | | | | | Some HW/drivers get notifications when a tag moves out of the radio field. This notification is now forwarded to user space through netlink. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Changed target activated state logicEric Lapuyade2012-04-12
| | | | | | | | | | | | Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Fix next target_idx type and rename for clarityEric Lapuyade2012-04-12
| | | | | | | | | | | | Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: The core part should generate the target indexSamuel Ortiz2012-04-12
| | | | | | | | | | | | | | | | | | | | | | | | The target index can be used by userspace to uniquely identify a target and thus should be kept unique, per NFC adapter. Moreover, some protocols do not provide a logical index when discovering new targets, so we have to generate one for them. For NCI or pn533 to fetch their logical index, we added a logical_idx field to the target structure. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: SHDLC implementationEric Lapuyade2012-04-12
| | | | | | | | | | | | | | | | | | | | | | Most NFC HCI chipsets actually use a simplified HDLC link layer to carry HCI payloads. This implementation registers itself as an HCI device on behalf of the NFC driver. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: HCI supportEric Lapuyade2012-04-12
| | | | | | | | | | | | | | | | | | | | This is an implementation of ETSI TS 102 622 specification. Many NFC chipsets use HCI as the host <-> target protocol on top of a serial link like i2c. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Export target lost functionEric Lapuyade2012-04-12
| | | | | | | | | | | | | | | | | | | | NFC drivers will call this routine when they detect that a tag leaves the RF field. This will eventually lead to the corresponding netlink event to be sent. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: Add a target lost netlink eventSamuel Ortiz2012-04-12
| | | | | | | | | | | | | | | | Some chips are capable of detecting when a tag is out of the field, so they could send a netlink event about it to userspace. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>