diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 10:55:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 10:55:01 -0500 |
commit | d7fc02c7bae7b1cf69269992cf880a43a350cdaa (patch) | |
tree | a43d56fa72913a1cc98a0bbebe054d08581b3a7c /net/sched/sch_netem.c | |
parent | ee1262dbc65ce0b6234a915d8432171e8d77f518 (diff) | |
parent | 28b4d5cc17c20786848cdc07b7ea237a309776bb (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)
mac80211: fix reorder buffer release
iwmc3200wifi: Enable wimax core through module parameter
iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter
iwmc3200wifi: Coex table command does not expect a response
iwmc3200wifi: Update wiwi priority table
iwlwifi: driver version track kernel version
iwlwifi: indicate uCode type when fail dump error/event log
iwl3945: remove duplicated event logging code
b43: fix two warnings
ipw2100: fix rebooting hang with driver loaded
cfg80211: indent regulatory messages with spaces
iwmc3200wifi: fix NULL pointer dereference in pmkid update
mac80211: Fix TX status reporting for injected data frames
ath9k: enable 2GHz band only if the device supports it
airo: Fix integer overflow warning
rt2x00: Fix padding bug on L2PAD devices.
WE: Fix set events not propagated
b43legacy: avoid PPC fault during resume
b43: avoid PPC fault during resume
tcp: fix a timewait refcnt race
...
Fix up conflicts due to sysctl cleanups (dead sysctl_check code and
CTL_UNNUMBERED removed) in
kernel/sysctl_check.c
net/ipv4/sysctl_net_ipv4.c
net/ipv6/addrconf.c
net/sctp/sysctl.c
Diffstat (limited to 'net/sched/sch_netem.c')
-rw-r--r-- | net/sched/sch_netem.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 2b88295cb7b7..d8b10e054627 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c | |||
@@ -199,9 +199,9 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
199 | * do it now in software before we mangle it. | 199 | * do it now in software before we mangle it. |
200 | */ | 200 | */ |
201 | if (q->corrupt && q->corrupt >= get_crandom(&q->corrupt_cor)) { | 201 | if (q->corrupt && q->corrupt >= get_crandom(&q->corrupt_cor)) { |
202 | if (!(skb = skb_unshare(skb, GFP_ATOMIC)) | 202 | if (!(skb = skb_unshare(skb, GFP_ATOMIC)) || |
203 | || (skb->ip_summed == CHECKSUM_PARTIAL | 203 | (skb->ip_summed == CHECKSUM_PARTIAL && |
204 | && skb_checksum_help(skb))) { | 204 | skb_checksum_help(skb))) { |
205 | sch->qstats.drops++; | 205 | sch->qstats.drops++; |
206 | return NET_XMIT_DROP; | 206 | return NET_XMIT_DROP; |
207 | } | 207 | } |
@@ -210,9 +210,9 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
210 | } | 210 | } |
211 | 211 | ||
212 | cb = netem_skb_cb(skb); | 212 | cb = netem_skb_cb(skb); |
213 | if (q->gap == 0 /* not doing reordering */ | 213 | if (q->gap == 0 || /* not doing reordering */ |
214 | || q->counter < q->gap /* inside last reordering gap */ | 214 | q->counter < q->gap || /* inside last reordering gap */ |
215 | || q->reorder < get_crandom(&q->reorder_cor)) { | 215 | q->reorder < get_crandom(&q->reorder_cor)) { |
216 | psched_time_t now; | 216 | psched_time_t now; |
217 | psched_tdiff_t delay; | 217 | psched_tdiff_t delay; |
218 | 218 | ||