git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
net
/
sched
/
sch_atm.c
diff --git
a/net/sched/sch_atm.c
b/net/sched/sch_atm.c
index
d81d119
..
ca08449
100644
(file)
--- a/
net/sched/sch_atm.c
+++ b/
net/sched/sch_atm.c
@@
-56,7
+56,7
@@
extern struct socket *sockfd_lookup(int fd, int *err); /* @@@ fix this */
*/
*/
-#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))
#define VCC2FLOW(vcc) ((struct atm_flow_data *) ((vcc)->user_back))
@@
-70,6
+70,7
@@
struct atm_flow_data {
u32 classid; /* x:y type ID */
int ref; /* reference count */
struct tc_stats stats;
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 */
struct atm_flow_data *next;
struct atm_flow_data *excess; /* flow for excess traffic;
NULL to set CLP instead */
@@
-103,9
+104,10
@@
static int find_flow(struct atm_qdisc_data *qdisc,struct atm_flow_data *flow)
static __inline__ struct atm_flow_data *lookup_flow(struct Qdisc *sch,
u32 classid)
{
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;
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;
}
if (flow->classid == classid) break;
return flow;
}