diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-18 21:23:11 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-18 21:23:11 -0400 |
commit | 4e0e329d9a2011f9f7a7c0a378dc3bff7b0a0283 (patch) | |
tree | a802614e01460631c694dfa118642d54c3d5fc79 /net/dccp | |
parent | e33b9dfa3008fcaa908dc0c8c472a812c400f839 (diff) | |
parent | 59a10b172fccaea793352c00fd9065f0a5b4ef70 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/ackvec.c | 2 | ||||
-rw-r--r-- | net/dccp/ackvec.h | 4 | ||||
-rw-r--r-- | net/dccp/ccid.h | 4 | ||||
-rw-r--r-- | net/dccp/ccids/lib/loss_interval.h | 2 | ||||
-rw-r--r-- | net/dccp/ccids/lib/packet_history.h | 4 | ||||
-rw-r--r-- | net/dccp/input.c | 6 |
6 files changed, 13 insertions, 9 deletions
diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c index 6530283eafca..c9a62cca22fc 100644 --- a/net/dccp/ackvec.c +++ b/net/dccp/ackvec.c | |||
@@ -91,7 +91,7 @@ int dccp_insert_option_ackvec(struct sock *sk, struct sk_buff *skb) | |||
91 | } | 91 | } |
92 | 92 | ||
93 | struct dccp_ackvec *dccp_ackvec_alloc(const unsigned int len, | 93 | struct dccp_ackvec *dccp_ackvec_alloc(const unsigned int len, |
94 | const unsigned int __nocast priority) | 94 | const gfp_t priority) |
95 | { | 95 | { |
96 | struct dccp_ackvec *av = kmalloc(sizeof(*av) + len, priority); | 96 | struct dccp_ackvec *av = kmalloc(sizeof(*av) + len, priority); |
97 | 97 | ||
diff --git a/net/dccp/ackvec.h b/net/dccp/ackvec.h index 8ca51c9191f7..d0fd6c60c574 100644 --- a/net/dccp/ackvec.h +++ b/net/dccp/ackvec.h | |||
@@ -74,7 +74,7 @@ struct sk_buff; | |||
74 | 74 | ||
75 | #ifdef CONFIG_IP_DCCP_ACKVEC | 75 | #ifdef CONFIG_IP_DCCP_ACKVEC |
76 | extern struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len, | 76 | extern struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len, |
77 | const unsigned int __nocast priority); | 77 | const gfp_t priority); |
78 | extern void dccp_ackvec_free(struct dccp_ackvec *av); | 78 | extern void dccp_ackvec_free(struct dccp_ackvec *av); |
79 | 79 | ||
80 | extern int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk, | 80 | extern int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk, |
@@ -93,7 +93,7 @@ static inline int dccp_ackvec_pending(const struct dccp_ackvec *av) | |||
93 | } | 93 | } |
94 | #else /* CONFIG_IP_DCCP_ACKVEC */ | 94 | #else /* CONFIG_IP_DCCP_ACKVEC */ |
95 | static inline struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len, | 95 | static inline struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len, |
96 | const unsigned int __nocast priority) | 96 | const gfp_t priority) |
97 | { | 97 | { |
98 | return NULL; | 98 | return NULL; |
99 | } | 99 | } |
diff --git a/net/dccp/ccid.h b/net/dccp/ccid.h index 21e55142dcd3..c37eeeaf5c6e 100644 --- a/net/dccp/ccid.h +++ b/net/dccp/ccid.h | |||
@@ -110,14 +110,14 @@ static inline int ccid_hc_tx_init(struct ccid *ccid, struct sock *sk) | |||
110 | 110 | ||
111 | static inline void ccid_hc_rx_exit(struct ccid *ccid, struct sock *sk) | 111 | static inline void ccid_hc_rx_exit(struct ccid *ccid, struct sock *sk) |
112 | { | 112 | { |
113 | if (ccid->ccid_hc_rx_exit != NULL && | 113 | if (ccid != NULL && ccid->ccid_hc_rx_exit != NULL && |
114 | dccp_sk(sk)->dccps_hc_rx_ccid_private != NULL) | 114 | dccp_sk(sk)->dccps_hc_rx_ccid_private != NULL) |
115 | ccid->ccid_hc_rx_exit(sk); | 115 | ccid->ccid_hc_rx_exit(sk); |
116 | } | 116 | } |
117 | 117 | ||
118 | static inline void ccid_hc_tx_exit(struct ccid *ccid, struct sock *sk) | 118 | static inline void ccid_hc_tx_exit(struct ccid *ccid, struct sock *sk) |
119 | { | 119 | { |
120 | if (ccid->ccid_hc_tx_exit != NULL && | 120 | if (ccid != NULL && ccid->ccid_hc_tx_exit != NULL && |
121 | dccp_sk(sk)->dccps_hc_tx_ccid_private != NULL) | 121 | dccp_sk(sk)->dccps_hc_tx_ccid_private != NULL) |
122 | ccid->ccid_hc_tx_exit(sk); | 122 | ccid->ccid_hc_tx_exit(sk); |
123 | } | 123 | } |
diff --git a/net/dccp/ccids/lib/loss_interval.h b/net/dccp/ccids/lib/loss_interval.h index 13ad47ba1420..417d9d82df3e 100644 --- a/net/dccp/ccids/lib/loss_interval.h +++ b/net/dccp/ccids/lib/loss_interval.h | |||
@@ -36,7 +36,7 @@ struct dccp_li_hist_entry { | |||
36 | 36 | ||
37 | static inline struct dccp_li_hist_entry * | 37 | static inline struct dccp_li_hist_entry * |
38 | dccp_li_hist_entry_new(struct dccp_li_hist *hist, | 38 | dccp_li_hist_entry_new(struct dccp_li_hist *hist, |
39 | const unsigned int __nocast prio) | 39 | const gfp_t prio) |
40 | { | 40 | { |
41 | return kmem_cache_alloc(hist->dccplih_slab, prio); | 41 | return kmem_cache_alloc(hist->dccplih_slab, prio); |
42 | } | 42 | } |
diff --git a/net/dccp/ccids/lib/packet_history.h b/net/dccp/ccids/lib/packet_history.h index b375ebdb7dcf..122e96737ff6 100644 --- a/net/dccp/ccids/lib/packet_history.h +++ b/net/dccp/ccids/lib/packet_history.h | |||
@@ -86,7 +86,7 @@ extern struct dccp_rx_hist_entry * | |||
86 | 86 | ||
87 | static inline struct dccp_tx_hist_entry * | 87 | static inline struct dccp_tx_hist_entry * |
88 | dccp_tx_hist_entry_new(struct dccp_tx_hist *hist, | 88 | dccp_tx_hist_entry_new(struct dccp_tx_hist *hist, |
89 | const unsigned int __nocast prio) | 89 | const gfp_t prio) |
90 | { | 90 | { |
91 | struct dccp_tx_hist_entry *entry = kmem_cache_alloc(hist->dccptxh_slab, | 91 | struct dccp_tx_hist_entry *entry = kmem_cache_alloc(hist->dccptxh_slab, |
92 | prio); | 92 | prio); |
@@ -137,7 +137,7 @@ static inline struct dccp_rx_hist_entry * | |||
137 | const struct sock *sk, | 137 | const struct sock *sk, |
138 | const u32 ndp, | 138 | const u32 ndp, |
139 | const struct sk_buff *skb, | 139 | const struct sk_buff *skb, |
140 | const unsigned int __nocast prio) | 140 | const gfp_t prio) |
141 | { | 141 | { |
142 | struct dccp_rx_hist_entry *entry = kmem_cache_alloc(hist->dccprxh_slab, | 142 | struct dccp_rx_hist_entry *entry = kmem_cache_alloc(hist->dccprxh_slab, |
143 | prio); | 143 | prio); |
diff --git a/net/dccp/input.c b/net/dccp/input.c index 1b6b2cb12376..3454d5941900 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c | |||
@@ -375,6 +375,9 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk, | |||
375 | case DCCP_PKT_RESET: | 375 | case DCCP_PKT_RESET: |
376 | inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); | 376 | inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); |
377 | break; | 377 | break; |
378 | case DCCP_PKT_DATA: | ||
379 | if (sk->sk_state == DCCP_RESPOND) | ||
380 | break; | ||
378 | case DCCP_PKT_DATAACK: | 381 | case DCCP_PKT_DATAACK: |
379 | case DCCP_PKT_ACK: | 382 | case DCCP_PKT_ACK: |
380 | /* | 383 | /* |
@@ -393,7 +396,8 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk, | |||
393 | dccp_sk(sk)->dccps_osr = DCCP_SKB_CB(skb)->dccpd_seq; | 396 | dccp_sk(sk)->dccps_osr = DCCP_SKB_CB(skb)->dccpd_seq; |
394 | dccp_set_state(sk, DCCP_OPEN); | 397 | dccp_set_state(sk, DCCP_OPEN); |
395 | 398 | ||
396 | if (dh->dccph_type == DCCP_PKT_DATAACK) { | 399 | if (dh->dccph_type == DCCP_PKT_DATAACK || |
400 | dh->dccph_type == DCCP_PKT_DATA) { | ||
397 | dccp_rcv_established(sk, skb, dh, len); | 401 | dccp_rcv_established(sk, skb, dh, len); |
398 | queued = 1; /* packet was queued | 402 | queued = 1; /* packet was queued |
399 | (by dccp_rcv_established) */ | 403 | (by dccp_rcv_established) */ |