diff options
author | Jennifer Hunt <jenhunt@us.ibm.com> | 2007-05-04 12:22:07 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-05-04 12:22:07 -0700 |
commit | 561e036006dc4078446815613781c6c33441dd3b (patch) | |
tree | 1c1af5a95b584841f47e7e90813df1d5fe51a7e0 /include/net | |
parent | 9e71efcd6d659afb9d390eea69b558a7432ba23e (diff) | |
download | linux-561e036006dc4078446815613781c6c33441dd3b.tar.gz linux-561e036006dc4078446815613781c6c33441dd3b.tar.bz2 linux-561e036006dc4078446815613781c6c33441dd3b.zip |
[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')
-rw-r--r-- | include/net/iucv/af_iucv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index 04d1abb72d25..f9bd11be1891 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; }; |