From: "chas williams - CONTRACTOR" Jeff Garzik writes: >If alloc_shaper() argument 'unlimited' is true, then pcr is never >assigned a value. However, the caller of alloc_shaper() always tests >the pcr value, regardless of whether or not 'unlimited' is true. When unlimited is true, this means ubr. alloc_shaper() creates a queue to use for all ubr (best effort) traffic. ubr doesnt count against tx_bw so its handled a bit differently. alloc_shaper() should return a 0 for the pcr since this gets assigned to the vcc's qos parameters. min_pcr = 0 and max_pcr = 0 means "best effort". still generates a warning from gcc though. Signed-off-by: Chas Williams Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/atm/zatm.c | 1 + 1 file changed, 1 insertion(+) diff -puN drivers/atm/zatm.c~zatm-always-clear-pcr-in-alloc_shaper drivers/atm/zatm.c --- a/drivers/atm/zatm.c~zatm-always-clear-pcr-in-alloc_shaper +++ a/drivers/atm/zatm.c @@ -801,6 +801,7 @@ static int alloc_shaper(struct atm_dev * i = m = 1; zatm_dev->ubr_ref_cnt++; zatm_dev->ubr = shaper; + *pcr = 0; } else { if (min) { _