summaryrefslogtreecommitdiffstats
path: root/include/net/iucv
diff options
context:
space:
mode:
authorJennifer Hunt <jenhunt@us.ibm.com>2007-05-04 12:22:07 -0700
committerDavid S. Miller <davem@davemloft.net>2007-05-04 12:22:07 -0700
commit561e036006dc4078446815613781c6c33441dd3b (patch)
tree1c1af5a95b584841f47e7e90813df1d5fe51a7e0 /include/net/iucv
parent9e71efcd6d659afb9d390eea69b558a7432ba23e (diff)
[AF_IUCV]: Implementation of a skb backlog queue
With the inital implementation we missed to implement a skb backlog queue . The result is that socket receive processing tossed packets. Since AF_IUCV connections are working synchronously it leads to connection hangs. Problems with read, close and select also occured. Using a skb backlog queue is fixing all of these problems . Signed-off-by: Jennifer Hunt <jenhunt@us.ibm.com> Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/iucv')
-rw-r--r--include/net/iucv/af_iucv.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h
index 04d1abb72d2..f9bd11be189 100644
--- a/include/net/iucv/af_iucv.h
+++ b/include/net/iucv/af_iucv.h
@@ -28,6 +28,7 @@ enum {
IUCV_LISTEN,
IUCV_SEVERED,
IUCV_DISCONN,
+ IUCV_CLOSING,
IUCV_CLOSED
};
@@ -62,6 +63,7 @@ struct iucv_sock {
struct sock *parent;
struct iucv_path *path;
struct sk_buff_head send_skb_q;
+ struct sk_buff_head backlog_skb_q;
unsigned int send_tag;
};