Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 368484
b: refs/heads/master
c: e4306be
h: refs/heads/master
v: v3
  • Loading branch information
Samuel Ortiz committed Mar 10, 2013
1 parent 0b1ffa8 commit ba5961f
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 63cd353c34a08af2d1935f8d0c2b6b091714ff79
refs/heads/master: e4306bec47fc02178c612879c848d3a6544424dd
17 changes: 9 additions & 8 deletions trunk/net/nfc/llcp/commands.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,10 @@ int nfc_llcp_parse_connection_tlv(struct nfc_llcp_sock *sock,

switch (type) {
case LLCP_TLV_MIUX:
sock->miu = llcp_tlv_miux(tlv) + 128;
sock->remote_miu = llcp_tlv_miux(tlv) + 128;
break;
case LLCP_TLV_RW:
sock->rw = llcp_tlv_rw(tlv);
sock->remote_rw = llcp_tlv_rw(tlv);
break;
case LLCP_TLV_SN:
break;
Expand All @@ -200,7 +200,8 @@ int nfc_llcp_parse_connection_tlv(struct nfc_llcp_sock *sock,
tlv += length + 2;
}

pr_debug("sock %p rw %d miu %d\n", sock, sock->rw, sock->miu);
pr_debug("sock %p rw %d miu %d\n", sock,
sock->remote_rw, sock->remote_miu);

return 0;
}
Expand Down Expand Up @@ -532,16 +533,16 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock,

/* Remote is ready but has not acknowledged our frames */
if((sock->remote_ready &&
skb_queue_len(&sock->tx_pending_queue) >= sock->rw &&
skb_queue_len(&sock->tx_queue) >= 2 * sock->rw)) {
skb_queue_len(&sock->tx_pending_queue) >= sock->remote_rw &&
skb_queue_len(&sock->tx_queue) >= 2 * sock->remote_rw)) {
pr_err("Pending queue is full %d frames\n",
skb_queue_len(&sock->tx_pending_queue));
return -ENOBUFS;
}

/* Remote is not ready and we've been queueing enough frames */
if ((!sock->remote_ready &&
skb_queue_len(&sock->tx_queue) >= 2 * sock->rw)) {
skb_queue_len(&sock->tx_queue) >= 2 * sock->remote_rw)) {
pr_err("Tx queue is full %d frames\n",
skb_queue_len(&sock->tx_queue));
return -ENOBUFS;
Expand All @@ -561,7 +562,7 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock,

while (remaining_len > 0) {

frag_len = min_t(size_t, sock->miu, remaining_len);
frag_len = min_t(size_t, sock->remote_miu, remaining_len);

pr_debug("Fragment %zd bytes remaining %zd",
frag_len, remaining_len);
Expand Down Expand Up @@ -621,7 +622,7 @@ int nfc_llcp_send_ui_frame(struct nfc_llcp_sock *sock, u8 ssap, u8 dsap,

while (remaining_len > 0) {

frag_len = min_t(size_t, sock->miu, remaining_len);
frag_len = min_t(size_t, sock->remote_miu, remaining_len);

pr_debug("Fragment %zd bytes remaining %zd",
frag_len, remaining_len);
Expand Down
6 changes: 3 additions & 3 deletions trunk/net/nfc/llcp/llcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ static void nfc_llcp_recv_connect(struct nfc_llcp_local *local,
new_sock = nfc_llcp_sock(new_sk);
new_sock->dev = local->dev;
new_sock->local = nfc_llcp_local_get(local);
new_sock->miu = local->remote_miu;
new_sock->remote_miu = local->remote_miu;
new_sock->nfc_protocol = sock->nfc_protocol;
new_sock->dsap = ssap;
new_sock->target_idx = local->target_idx;
Expand Down Expand Up @@ -919,11 +919,11 @@ int nfc_llcp_queue_i_frames(struct nfc_llcp_sock *sock)

pr_debug("Remote ready %d tx queue len %d remote rw %d",
sock->remote_ready, skb_queue_len(&sock->tx_pending_queue),
sock->rw);
sock->remote_rw);

/* Try to queue some I frames for transmission */
while (sock->remote_ready &&
skb_queue_len(&sock->tx_pending_queue) < sock->rw) {
skb_queue_len(&sock->tx_pending_queue) < sock->remote_rw) {
struct sk_buff *pdu;

pdu = skb_dequeue(&sock->tx_queue);
Expand Down
6 changes: 4 additions & 2 deletions trunk/net/nfc/llcp/llcp.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,10 @@ struct nfc_llcp_sock {
u8 dsap;
char *service_name;
size_t service_name_len;
u8 rw;
u16 miu;

/* Remote link parameters */
u8 remote_rw;
u16 remote_miu;

/* Link variables */
u8 send_n;
Expand Down
6 changes: 3 additions & 3 deletions trunk/net/nfc/llcp/sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ static int llcp_sock_connect(struct socket *sock, struct sockaddr *_addr,

llcp_sock->dev = dev;
llcp_sock->local = nfc_llcp_local_get(local);
llcp_sock->miu = llcp_sock->local->remote_miu;
llcp_sock->remote_miu = llcp_sock->local->remote_miu;
llcp_sock->ssap = nfc_llcp_get_local_ssap(local);
if (llcp_sock->ssap == LLCP_SAP_MAX) {
ret = -ENOMEM;
Expand Down Expand Up @@ -800,8 +800,8 @@ struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp)

llcp_sock->ssap = 0;
llcp_sock->dsap = LLCP_SAP_SDP;
llcp_sock->rw = LLCP_DEFAULT_RW;
llcp_sock->miu = LLCP_DEFAULT_MIU;
llcp_sock->remote_rw = LLCP_DEFAULT_RW;
llcp_sock->remote_miu = LLCP_DEFAULT_MIU;
llcp_sock->send_n = llcp_sock->send_ack_n = 0;
llcp_sock->recv_n = llcp_sock->recv_ack_n = 0;
llcp_sock->remote_ready = 1;
Expand Down

0 comments on commit ba5961f

Please sign in to comment.