summaryrefslogtreecommitdiffstats
path: root/src/gb/gprs_bssgp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gb/gprs_bssgp.c')
-rw-r--r--src/gb/gprs_bssgp.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index aa6e37bf..142f5898 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -698,24 +698,17 @@ static int bssgp_fc_needs_queueing(struct bssgp_flow_control *fc, uint32_t pdu_l
/* ... and subtract the number of leaked bytes */
bucket_predicted -= leaked;
- if (bucket_predicted < pdu_len) {
- /* this is just to make sure the bucket doesn't underflow */
- bucket_predicted = pdu_len;
- goto pass;
- }
+ if (bucket_predicted < pdu_len)
+ return 0;
if (bucket_predicted <= fc->bucket_size_max) {
/* the bucket is not full yet, we can pass the packet */
fc->bucket_counter = bucket_predicted;
- goto pass;
+ return 0;
}
/* bucket is full, PDU needs to be delayed */
return 1;
-
-pass:
- /* if we reach here, the PDU can pass */
- return 0;
}
/* output callback for BVC flow control */