*/
-#define PRIV(sch) ((struct atm_qdisc_data *) (sch)->data)
+#define PRIV(sch) qdisc_priv(sch)
#define VCC2FLOW(vcc) ((struct atm_flow_data *) ((vcc)->user_back))
u32 classid; /* x:y type ID */
int ref; /* reference count */
struct tc_stats stats;
+ spinlock_t *stats_lock;
struct atm_flow_data *next;
struct atm_flow_data *excess; /* flow for excess traffic;
NULL to set CLP instead */
static __inline__ struct atm_flow_data *lookup_flow(struct Qdisc *sch,
u32 classid)
{
+ struct atm_qdisc_data *p = PRIV(sch);
struct atm_flow_data *flow;
- for (flow = PRIV(sch)->flows; flow; flow = flow->next)
+ for (flow = p->flows; flow; flow = flow->next)
if (flow->classid == classid) break;
return flow;
}